오늘자 골든크로스/데드크로스 종목 추출 파이썬 코드

오늘자 골든크로스 종목을 직접 추출하실 수 있습니다. 구글 코랩에 소스를 붙여넣고 실행하면 직접 골든크로스, 데드크로스 종목을 뽑아낼 수 있습니다.

오늘자 골든크로스 파이썬 코드

아래 코드를 구글 코랩에서 붙여넣고 실행하면 골든크로스 종목과 데드크로스 종목을 추출해낼 수 있습니다. 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
퀀트를 이용한 파이썬 이동 평균선
차트 기반 퀀트 투자
퀀트의 전설들과 실패한 유명인

Leave a Comment