Morningstar에서 미국 ETF 가격정보 가져오기 - pandas_datareader 활용
미국 ETF ticker를 입력하면 모닝스타(Morningstar) API를 통해 Price history 데이터를 가져오는 작업을 해보려고 합니다. 최종적으로는 아래와 같이 그래프를 그려 보겠습니다.
미국 ETF 리스트 가져오기 - 위키피디아
위키피디아에서 미국 ETF 리스트를 가져와서 dict 형태로 저장해 본 적이 있습니다. 이 예제를 save_us_etf_tickers( )라는 함수로 만들어 봅니다.
http://okkam76.blog.me/221281008012
미국 ETF 가격 데이터 가져오기 - Morningstar API
etf ticker를 인자로 받아서 morningstar의 price history를 불러온 후에 dataframe으로 저장하는 함수를 pandas_datareader 모듈을 이용하여 만들어 봅니다. 이 함수는 datetime을 이용하여 2015년 1월 1일부터 현재 날짜까지 가격 정보를 가져옵니다. 모닝스타 API 데이터를 가져오는 부분은 df = web.DataReader(ticker, 'morningstar', start, end)이고 'morningstar' 부분이 모닝스타 API를 사용한다는 뜻입니다. 날짜(Date)가 있는 행을 index로 지정하고 dataframe 형태로 반환합니다.
미국 ETF 가격 변동 그래프 그리기 - matplotlib 활용
save_us_etf_tickers( ) 함수를 실행하면, 389개의 ETF 정보를 담고 있는 dict를 반환하기 때문에 dict의 key 값을 리스트로 변환한 이후에, 그중에서 첫 번째 ticker만을 선택합니다. (물론 본인이 원하는 ETF ticker를 직접 입력해서 가져올 수도 있습니다)
모닝스타 API로 가격정보를 가져오고, 그중에서 종가를 나타내는 'Close' column에 있는 데이터를 그래프로 출력합니다. 그래프 스타일은 ggplot을 사용해봅니다.