https://pandas-datareader.readthedocs.io/en/latest/remote_data.html#naver-finance-data

 

Remote Data Access — pandas-datareader 0.9.0rc1+2.g427f658 documentation

Functions from pandas_datareader.data and pandas_datareader.wb extract data from various Internet sources into a pandas DataFrame. Currently the following sources are supported: It should be noted, that various sources support different kinds of data, so n

pandas-datareader.readthedocs.io

분명 얼마전에 봤을 땐 못 본거같은데....  pandas-datareader정도 되는 글로벌(?) 패키지가 네이버 금융, Naver Finance에 원격 접속을 지원합니다. 예시도 친절하게 우리나라 대표주식인 삼성전자를 올려놨네요ㅋㅋㅋ

뭐 아예 이렇게 네이버 페이지를 데이터마이닝 하는 것도 보긴봤는데... https://excelsior-cjh.tistory.com/109

아무튼 pandas-datareader에서 보여준 예시대로 해보니까 안됩니다. data source가 구현이 안돼있대요.

참고로 pandas-datareader 0.9.0v으로 업데이트 해도 안됐습니다. 그러던 중 한 페이지를 더 발견했는데요

https://pandas-datareader.readthedocs.io/en/latest/readers/naver.html?highlight=naver

 

Naver Finance — pandas-datareader 0.9.0rc1+2.g427f658 documentation

symbols – A single symbol; multiple symbols are not currently supported.

pandas-datareader.readthedocs.io

아예 문서가 존재했었네요.

# import pandas_datareader.data as web
import pandas_datareader.naver as web_naver

뭐 이런식으로 import를 해야하나봅니다. 보통은 주석처럼 'data'라는 하위 클래스에서 다 읽어올 수 있었는데.

df_price_SEC = web_naver.NaverDailyReader(symbols='005930', start='19800101')
df_adj_price_SEC = web_naver.NaverDailyReader(symbols='005930', start='19800101', adjust_price=True)

이런식으로.. 읽어올 수 있고요. 그러나 이게 끝이 아닙니다.

#%%
df_price_SEC = df_price_SEC.read()
df_price_SEC

#%%
df_adj_price_SEC = df_adj_price_SEC.read()
df_adj_price_SEC

pandas dataframe으로 만들려면 read()라는 메서드까지 써야 제대로 출력됩니다.

그럼 이렇게 OHLCV로 읽어와지는데, 1990년 1월초부터의 데이터밖에 불러올 수 없습니다. 그리고 과거의 저 가격이 이상하게 높은거 같아서 봤더니 역시 뭔가 이상하네요. 수정가격이 아닌것 같습니다.

adjusted_price=True로 패러미터를 넘겨도 결과는 같아요.

 

설레서 알아봤는데, 그냥 yahoo finance나 FinanceDataReader쓰는게 나을거같아요.

+ Recent posts