오늘자 골든크로스 데드크로스 종목 추출 파이썬 코드
2024-03-18 16:13:46
오늘자 골든크로스 종목을 직접 추출하실 수 있습니다. 구글 코랩에 소스를 붙여넣고 실행하면 직접 골든크로스, 데드크로스 종목을 뽑아낼 수 있습니다.
오늘자 골든크로스 파이썬 코드
아래 코드를 구글 코랩에서 붙여넣고 실행하면 골든크로스 종목과 데드크로스 종목을 추출해낼 수 있습니다. 25분 가량 소요됩니다.
3월5일 기준, 5일이동 평균선과 60일 이동평균선으로 구한 결과입니다.
소스 코드를 수정하면 원하시는 결과를 직접 추출 가능합니다.
!pip install finance-datareader
import FinanceDataReader as fdr
import pandas as pd
from datetime import datetime, timedelta
from tqdm import tqdm
# KOSPI 종목 리스트 가져오기
kospi_list = fdr.StockListing('KOSPI')[['Code', 'Name']]
# 기준일 설정 (3월 15일)
base_date = datetime(2023, 3, 15)
# 골든크로스, 데드크로스 종목 저장할 리스트
golden_cross_list = []
dead_cross_list = []
# 프로그레스 바 설정
progress_bar = tqdm(total=len(kospi_list), ncols=80, unit='stock')
# 각 종목별로 골든크로스, 데드크로스 확인
for _, row in kospi_list.iterrows():
stock_code = row['Code']
stock_name = row['Name']
try:
# 종목 데이터 가져오기
df = fdr.DataReader(stock_code, base_date - timedelta(days=100), base_date)
# 5일 평균선, 60일 평균선 계산
df['MA5'] = df['Close'].rolling(window=5).mean()
df['MA60'] = df['Close'].rolling(window=60).mean()
# 골든크로스, 데드크로스 확인
if df['MA5'][-1] > df['MA60'][-1] and df['MA5'][-2] <= df['MA60'][-2]:
golden_cross_list.append(stock_name)
elif df['MA5'][-1] < df['MA60'][-1] and df['MA5'][-2] >= df['MA60'][-2]:
dead_cross_list.append(stock_name)
except:
pass
# 프로그레스 바 업데이트
progress_bar.update(1)
# 프로그레스 바 종료
progress_bar.close()
# 결과 출력
print(f"골든크로스 종목 ({len(golden_cross_list)}개): {golden_cross_list}")
print(f"데드크로스 종목 ({len(dead_cross_list)}개): {dead_cross_list}")
실행 결과 화면입니다.
3월18일
LS ELECTRIC을 매입하고 포스코DX, SK아이테크놀로지, 현대제철 등은 팔아야한다는 군요.
파이썬으로 팩터투자 (퀀트 투자)
오늘자 골든크로스/데드크로스 종목 추출 파이썬 코드
퀀트를 위한 파이썬FinanceDataReader
퀀트를 이용한 파이썬 이동 평균선
차트 기반 퀀트 투자
퀀트의 전설들과 실패한 유명인