퀀트를 위한 파이썬 이동 평균선
2024-03-14 23:23:15
파이썬 이동 평균선 그리는 예제입니다. colab에서 소스코드를 복사하여 붙여넣고 실행하시면 아래 결과가 보입니다. 빨간 포인트 시점에서 매입하고 파란 포인트에서는 매도하는 방법입니다.
파이썬 이동 평균선, 골든/데드 크로스 그리기
5일 60일 평균선을 그리고 교차하는 지점을 표시합니다.
코랩에서 구글 계정으로 로그인하시고 "+코드"를 클릭하시고 아래 코드를 붙여넣습니다. 왼쪽의 동그라미안 삼각형을 클릭하면 실행되고 그래프가 표시됩니다.
'005930'(삼성전자) 가 아닌 원하시는 종목 코드, 기간을 넣고 실행하시면 해당 종목의 그래프를 확인하실 수 있습니다.
종목 코드 확인하기
!pip install finance-datareader
import pandas as pd
import FinanceDataReader as fdr
import matplotlib.pyplot as plt
# 데이터 수집
df = fdr.DataReader('005930', '2023-03-15', '2024-03-14')
# 이동 평균선 계산
df['MA5'] = df['Close'].rolling(window=5).mean()
df['MA60'] = df['Close'].rolling(window=60).mean()
# 골든 크로스와 데드 크로스 식별
df['Golden Cross'] = ((df['MA5'] > df['MA60']) & (df['MA5'].shift(1) <= df['MA60'].shift(1)))
df['Dead Cross'] = ((df['MA5'] < df['MA60']) & (df['MA5'].shift(1) >= df['MA60'].shift(1)))
# 시각화
plt.figure(figsize=(14, 7))
plt.plot(df.index, df['Close'], label='Close Price', color='black', alpha=0.6)
plt.plot(df.index, df['MA5'], label='5-Day MA', color='green', alpha=0.7)
plt.plot(df.index, df['MA60'], label='60-Day MA', color='red', alpha=0.7)
# 골든 크로스 포인트 표시
plt.scatter(df[df['Golden Cross']].index, df['MA5'][df['Golden Cross']], color='red', label='Golden Cross', marker='^', alpha=1)
# 데드 크로스 포인트 표시
plt.scatter(df[df['Dead Cross']].index, df['MA5'][df['Dead Cross']], color='blue', label='Dead Cross', marker='v', alpha=1)
plt.title('Samsung Electronics (005930) - Moving Averages with Golden/Dead Crosses')
plt.legend()
plt.show()
오늘자 골든크로스/데드크로스 종목 추출 파이썬 코드
퀀트를 위한 파이썬FinanceDataReader
퀀트를 이용한 파이썬 이동 평균선
차트 기반 퀀트 투자
퀀트의 전설들과 실패한 유명인