미국 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을 사용해봅니다.
'About 배우고 익히는법 > Python' 카테고리의 다른 글
야후, 구글이 Finance API를 변경함에 따라, 미국 주식의 가격정보를 파이썬(Python)으로 가져올 수 없게 되었습니다. Morningstar를 비롯한 몇 개 사이트에서는 여전히 API를 열어 두고는 있는데요. (0) | 2019.01.07 |
---|---|
웹에서 미국 ETF 리스트 가져오기 - Requests/ bs4 (BeautifulSoup) (0) | 2019.01.07 |
[Python] SQLite + NoSQL + InMemoryDB = PyDbLite! (0) | 2019.01.07 |
[Python] 폴더 (경로) 다루기 (0) | 2019.01.04 |
[Python] OpenPyXL : 설치, 읽기 (0) | 2019.01.04 |