알고리즘 트레이딩 (파이썬)

16. pandas를 이용해 주가 데이터 저장하는 방법(+ DataReader 설치 및 사용 방법, SQLite, 야후 yahoo 등)

오이띠 2021. 4. 23. 12:04
728x90

1. data_reader를 설치해야함

 

                      [명령프롬프트] 또는 [가상환경]에서 'pip install pandas_datareader' 입력해서 설치

                      [Jupyter QtConsole]의 경우 '!pip install pandas_datareader' 입력해서 설치

 

 

 

2.  pandas를 이용해, 주가데이터 저장(여기서는 GS종목의 주가를 야후에서 불러옴)

 

              > import pandas as pd
              > import pandas_datareader.data as web
              > import datetime
              > import sqlite3

              > start = datetime.datetime(2010, 1, 1)

              > end = datetime.datetime(2015, 3, 30)

                     # 시작날짜와 끝 날짜 입력

 


              > df = web.DataReader("078930.ks", "yahoo", start, end)
                    # GS 종목(종목코드: '078930')의 일별 데이터를 DataFrame형태로 다운로드

                    # 구성: [데이터프레임이름] = web.DataReader([이름],[소스],[시작일],[끝날])

                    # Data Reader의 Signature은 아래 사진 참고

 


              > df.head()

                    # head()를 붙이면 5 row의 데이터만 보여줌

 

 

 

 

 

 

3. SQLite DB에 테이블로 생성한 후, DataFrame 객체로 다시 저장

 

 

 

 

              > con = sqlite3.connect(r"c:/Users/LG/kospi.db")

                       # DB에 연결

 

              > df.to_sql('078930', con, if_exists='replace')

                       # kospi.db에 '078930'이라는 테이블로 데이터프레임 저장

 

              > readed_df = pd.read_sql("SELECT * FROM '078930'", con, index_col = 'Date')

                       # 'readed_df'라는 DataFrame에 kospi.db의 테이블 '078930'을 저장

 

              

 

 

 

 

 

 

 

 

 

 

 

 

 

<참고: Pycharm에서도 실행가능!> 아래 사진 참고~

<코드> 

 

import pandas as pd
import pandas_datareader.data as web
import datetime
import sqlite3

start = datetime.datetime(2010, 1, 1) #
end = datetime.datetime(2015, 3, 30)


# GS 종목(종목코드: '078930')의 일별 데이터를 DataFrame형태로 다운로드
df = web.DataReader("078930.ks", "yahoo", start, end)


print(df.head())

728x90