주식의 종가(Close) 데이터를 이용하여 기술적지표 중 가장 기본이 되는 이동평균선을 만들어보자.

 

주가 데이터는 FinanceDataReader 라이브러리를 이용해서 가져오도록 하자.

설치시 pip install FinanceDataReader가 아니라 pip install -U finance-datareader 를 입력해서 설치하자.

 

예전에는 야후 파이낸스에서 제공하는 pandas_datareader api를 이용했는데 미국 주식 데이터는 정확하지만 국내 주식은 데이터가 빠져있는 등 데이터를 가공하기에 적합하지 않다.

 

참고로 FinanceDataReader는 네이버 증권에 있는 주가 데이터를 가져온다.

 

다음과 같이 주가 데이터를 가져와보자.

DataReader의 첫번째 파라미터에는 원하는 종목코드를, 두번째 파라미터에는 연도를 입력하자.

import FinanceDataReader as fdr
df = fdr.DataReader("019175", "2020")
print(df)

Jupyter Notebook을 이용해서 실행하면 다음과 같이 조회된다.

 

종가(Close)를 이용하여 이동평균선 값을 구해보자.

df = df[['Close']]
df['MA5'] = df['Close'].rolling(window=5).mean() # 5일선
df['MA10'] = df['Close'].rolling(window=10).mean() # 10일선
df['MA20'] = df['Close'].rolling(window=20).mean() # 20일선
df['MA60'] = df['Close'].rolling(window=60).mean() # 60일선
df['MA120'] = df['Close'].rolling(window=120).mean() #120일선
print(df)

이번에는 종가의 변화율을 만들어보자.

df['Close_dpc'] = (df['Close'] / df['Close'].shift(1) - 1) * 100  #종가 변화율 일반식
df['Close_pct_change'] = df['Close'].pct_change() * 100 #종가 변화율 pct_change함수 사용
print(df)

변화율은 간편하게 pct_change() 함수를 이용하면 된다. 

기본값은 하루전 종가와의 변화율이고 며칠 전 종가와의 변화율도 pct_change()를 이용하면 간단하게 구할 수 있다.

df = df[['Close']]
df['Close_pct_change5'] = df['Close'].pct_change(5) * 100 #5일 전 종가와 당일종가의 변화율
print(df.tail(10))

2020-11-13 종가(138,500)와 5일전인 2020-11-06 종가(143,500)의 변화율을 구하면 -3.484321로 계산됨을 알 수 있다.

 

+ Recent posts