728x90
반응형
지난 포스팅에 이어서 불러온 주식으로 이동 평균을 구하고 그래프를 그려보도록 하겠습니다.
CSV로 저장된 주식정보를 불러오는 것부터 시작합니다. 주식정보를 불로오는 방법을 모른다면 지난 포스팅 참고 바랍니다.
2023.09.02 - [주식 분석/파이썬 활용 기초] - [파이썬 주식 활용] 불러온 주식 정보 csv 저장
1. 이동 평균 구하기
먼저 이동 평균을 구할 주식을 불러옵니다.
import pandas as pd #pandas 모듈 불러오기
dir_stock = 'stocks' # 주식 정보가 저장된 폴더
symbol = 'AAPL' #주식 심볼
df = pd.read_csv('{}/{}.csv'.format(dir_stock, symbol), parse_dates=True, index_col=0) #CSV로 저장된 정보 불러오기
index_dates = []
for index_date in df.index:
index_dates.append(index_date.date())
df.index = index_dates
df.index = pd.to_datetime(df.index)
print(df.head(5)) # 저장된 정보 상단 5줄 출력
이동평균은 Rolling을 통해서 구할 수 있습니다. Rolling window=100.mean()의 의미는 100일 치의 평균값을 구해준다는 것입니다. 시작일이 2020년 1월 1일이라면, 2020년 1월 1일 평균값은 1월 1일부터 100일 이전까지의 값들의 평균이 됩니다. 이런 경우 초기의 값들은 100일 치의 평균을 구할 수 없기 때문에 그런 경우는 가능한 일수만큼의 평균을 구해주게 만드는 것이 "min_periodes=0"입니다. 빼게 되면 초기 값들은 NaN으로 표시됩니다.
df['100ma'] = df['Close'].rolling(window=100, min_periods=0).mean() #100일 이동평균 구하기
print(df.head(5)) # 저장된 정보 상단 5줄 출력
"""
출력
Open High Low ... Dividends Stock Splits 100ma
2014-01-24 17.368820 17.419610 17.078818 ... 0.0 0.0 17.120203
2014-01-27 17.245603 17.393895 17.110164 ... 0.0 0.0 17.189643
2014-01-28 15.950471 16.146104 15.740727 ... 0.0 0.0 16.752968
2014-01-29 15.799673 15.906896 15.632569 ... 0.0 0.0 16.489563
2014-01-30 15.755469 15.879622 15.572376 ... 0.0 0.0 16.325438
[5 rows x 8 columns]
"""
2. 그래프 그리기
import matplotlib.pyplot as plt
ax1 = plt.subplot2grid((6,1),(0,0), rowspan=5, colspan = 1)
ax2 = plt.subplot2grid((6,1),(5,0), rowspan=5, colspan = 1, sharex=ax1)
ax1.plot(df.index, df['Close'])
ax1.plot(df.index, df['100ma'])
ax2.bar(df.index, df['Volume'])
matplotlib을 활용하면 다양한 형태의 그림을 그릴 수 있습니다. ax2를 bar의 형태로 불러와서 아래에 위치시키고, sharex=ax1 이라고 넣어주면 X 축을 ax1그래프와 공유하게 됩니다. 그래서 그래프 상에서 확대를 하면 아래의 바들도 같이 기간이 확대됩니다.
728x90
반응형
'주식 분석 > 파이썬 활용 기초' 카테고리의 다른 글
[파이썬 주식 활용] 불러온 주식 정보 csv 저장하고 불러오기 (0) | 2023.09.02 |
---|---|
[파이썬 Python] 애플 주식 정보 불러오기 (yfinance) (0) | 2023.08.25 |