본문 바로가기
기업 가치 분석/금융데이터 분석과 자동화(파이썬)

[Pandas] 이동평균선 매매기법 뿌수기(with python)

by 보보트레인 2023. 11. 13.

1. 사용 툴

import pandas as pd
from pandas import DataFrame
from pandas_ta.utils import get_offset, verify_series
from pandas_ta.utils import recent_maximum_index, recent_minimum_index
import matplotlib.pyplot as plt
import yfinance as yf
import numpy as np
import warnings
import datetime
from mpl_finance import candlestick2_ohlc
import matplotlib.ticker as ticker


plt.style.use('dark_background')
warnings.filterwarnings('ignore')

 

pandas를 기반으로 matplotlib을 통해 그래프출력했음

데이터는 yfinance를 이용하여 해당 티커명의 종가 및 부가정보들을 가져옴.

 

2. (종가기준) 주가 추이 그래프 가져오기

df = yf.download(tickers = '종목명(티커명)', start = '2020-01-01', end = '2020-08-01')
df['Date'] = df.index

 

기간은 202011~ 202081일 로 설정

 

(코로나 특수로 인한 폭락장에도 수익률이 좋다면 이것은 정말 좋은 전략이라는 판단하에 직접 실험해보기로 함)

대상기업은 불경기에 민감한 에너지 섹터 3개로 설정 : HES / MPC / EOG

 

3. 그래프 상세 설정

df.Close.plot(figsize = (18,8))
plt.grid(b=True, color='DarkTurquoise', alpha=0.3, linestyle=':', linewidth=2)
plt.legend( loc='upper left', fontsize = 13)
plt.xlabel('Date', fontsize = 17)
plt.ylabel('Close Price', fontsize = 17)
plt.title('Close Price', fontsize = 23, position = (0.5,1.05));

 

4. 종가 그래프 결과

HES
MPC
EOG

5. 이동평균선  그래프 위에  씌우기

df['Close'].plot(figsize=(18, 8))
df['Close'].rolling(window=20).mean().plot(label='20이평선')
df['Close'].rolling(window=60).mean().plot(label='60이평선')
df['Close'].rolling(window=120).mean().plot(label='120이평선')

plt.grid(b=True, color='DarkTurquoise', alpha=0.3, linestyle=':', linewidth=2)
plt.legend(loc='upper left', fontsize=13)
plt.xlabel('Date', fontsize=17)
plt.ylabel('Close Price', fontsize=17)
plt.title('Close Price', fontsize=23, position=(0.5, 1.05))
plt.show()

위의 코드를 실행하면 종가 그래프에 20일 이동평균선, 60일 이동평균선, 120일 이동평균선이 추가된 그래프를 확인할 수 있습니다. 이렇게 수정된 코드를 사용하시면 원하시는 결과를 얻을 수 있습니다.

 

6. 이동평균선 결과

HES 이동평균선 그래프
MPC 이동평균선 그래프

 

EOG 이동평균선 그래프

7. 투자 전략 분석 + 수익률 분석

* 나의 이동평균선 전략
60일선기준 60일선을 터치했을때, 지지하는 모습을 보이면 매수 -> 그 위의 구간에서 자유롭게 수익실현  -> 다시 60일선 재 터치시 반드시 매도 ( 위험헷징)

 

HES 이동평균선 매수 매도 사인

HES 이동평균선 전략
1채 매수매도 수익률 : 최소 13% +@ 

MPC 이동평균선 매수 매도 사인

MPC 이동평균선 전략
1차 매수매도 수익률 : 최소 12% +@

 

EOG 이동평균선 매수 매도 사인

EOG 이동평균선 전략
60일선기준으로 지지하는 구간 단 한개도없음
매수 없음.

반응형