Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

이지훈님의 블로그

Python 주가데이터 가져오기 본문

Stock Prediction

Python 주가데이터 가져오기

개발자입니다. 2017. 6. 19. 14:32

Python 주가데이터 가져오기



yahoo finance가 historical data를 제공해주지 않아 URL을 사용해 csv파일을 받는 방법이나, 파이썬의 yahoo_finacne 패키지로 데이터를 가져오는 방법 등을 더 이상 사용할 수가 없게 되었다. 열심히 구글링을 하는 중 fix_yahoo_finance 패키지를 발견했다.


fix_yahoo_finance : https://github.com/ranaroussi/fix-yahoo-finance



Requirements

Python >=3.4
Pandas (tested to work with >=0.18.1)
Numpy >= 1.11.1
requests >= 2.14.2
multitasking >= 0.0.3

Install

pip3 install fix_yahoo_finance --upgrade --no-cache-dir



Code

kospi데이터를 가져오기 위해서는 종목코드.KS를 붙여야 한다. 코스닥이라면 KQ이다.

예 : pdr.get_data_yahoo('005930.KS')


sys.stdout, sys.stderr 부분은 개발환경에서 인코딩에 문제가 없으면 삭제해도 된다.

from pandas_datareader import data as pdr
import fix_yahoo_finance
import os
import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8')

def download(stock_list, download_path):
    market = 'KS'
    stock_num = ''
    for stock_info in stock_list:
        stock_num = stock_info.split(',')[0]
        stock_name = stock_info.split(',')[1]
        data = pdr.get_data_yahoo(stock_num + '.' + market, start='2012-01-01', end='2017-05-31')
        data.to_csv(download_path + stock_name + '.csv')

download_path = os.getenv("HOME") + '/code/Korea_Finance_Analysis/data/stock/'
market_path = os.getenv("HOME") + '/code/Korea_Finance_Analysis/data/market/KOSPI'
f = open(market_path, encoding='utf-8')
download(f.readlines(), download_path)


'Stock Prediction' 카테고리의 다른 글

Python 종목코드 가져오기  (0) 2017.06.19
Comments