프로그래밍/파이썬

[Python] 파이썬 데이터 분석 - 야후 파이낸스 데이터의 문제점과 보완방법

매 석 2022. 10. 5. 20:34
반응형

1. 야후 파이낸스 삼성전자 데이터 시각화

from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
import matplotlib.pyplot as plt

df = pdr.get_data_yahoo('005930.KS', '2022-01-01')  # ①

plt.figure(figsize=(9, 6))
#2행 1열 영역에서 첫 번째 영역을 선택
plt.subplot(2, 1, 1)  # 
plt.title('Samsung (Yahoo Finance)')
#종가를 파란색 점선으로 표시
plt.plot(df.index, df['Close'], 'b--', label='Close')  # 
#수정된 종가를 청록색 실선으로 표시
plt.plot(df.index, df['Adj Close'], 'c', label='Adj Close')  # 
plt.legend(loc='best')
#2행 1열 영역에서 두 번째 영역을 선택
plt.subplot(2, 1, 2)  # 
#바 차트로 그림
plt.bar(df.index, df['Volume'], color='g', label='Volume')  # 
plt.legend(loc='best')
plt.show()

- pandas_datareader와 yfinacne를 이용하여서 데이터를 가져왔다.

- matplotlib.pyplot를 이용하여서 데이터를 시각화하였다.

 

2. 출력결과

3. 야후 파이낸스 데이터의 문제점

- 한국 주식 종목들의 데이터는 종가 및 수정 종가가 정확하지 않다.

- 액면 분할 이전의 종가와 수정 종가가 틀리게 표시된다. - 분할 시기는 2018년 5월초

  액면 분할 이전의 종가를 250만원 대로, 수정종가는 5만원대로 표시돼야 맞다.)

- 한국 주식 종목들은 2017년 10월 3주 가량의 데이터가 비었다.

 

즉 오류가 있는 데이터를 이용하여서 백테스팅을 하면 아예 무관한 결과값이 나온다.

그렇기에 백테스팅이나 퀀트 등 데이터를 이용할 때는 데이터의 신뢰성을 확인해야 한다.

 

4. 네이버 금융 출력 결과

5. 야후 파이낸스 데이터의 보완

- 카카오는 2021년 4월에 액면 분할을 시도하였다.

- 네이버 금융의 데이터는 그 값이 종가에 그대로 들어나는 모습이다.

  즉 야후 파이낸스 데이터를 네이버 금융 데이터가 보완할 수 있다.