Lala's tower

퀀트를 위한 파이썬 이동 평균선

퀀트를 위한 파이썬 이동 평균선

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
퀀트를 이용한 파이썬 이동 평균선
차트 기반 퀀트 투자
퀀트의 전설들과 실패한 유명인