FinanceDataReader로 개별종목의 기간별 ohlcv를 수집하여
pandas와 결합해 활용하는 강의입니다
모든 종목의 data를 손쉽게 수집할수 있습니다
강의중 가져올 종목코드가 담겨있는 엑셀파일입니다
작업하시는 파이썬 파일과 반드시 같은 폴더에 저장해주세요
강의의 전체코드입니다
2023.12월에 확인해보니 fdr라이브러리에서 krx의 종목 코드열의 이름이 변경되었습니다.
기존은 Symbol열에 종목코드를 가지고 있었는데 지금은 Code열에 종목코드를 갖고 있습니다.
이미 판다스에 익숙한 분은 알고 계셨겠지만
강의 코드에서 df["Symbol"] 부분을 전부 df['Code']로 바꾸시면 코드 잘 돌아갑니다.
아래 코드는 바꾼 코드입니다
# !pip install -U finance-datareader (설치가 필요할 경우)
import FinanceDataReader as fdr
import pandas as pd
# 전 종목의 종목명과 전체코드 얻기
df_krx = fdr.StockListing('KRX').iloc[:, :3]
# 원하는 종목 stocks로 지정해서 가져오기
stocks = ["005930", "035720"]
df1 = pd.DataFrame()
for i in stocks:
df = fdr.DataReader(i, '2018-06-30', "2018-07-30")
df["Code"] = i
df1 = pd.concat([df1, df])
df1.reset_index().merge(df_krx, how="left")
# 엑셀파일속 원하는 종목코드 리스트로 주식정보 가져오기
df2 = pd.read_excel("fdr_e01_주식보유현황.xlsx", dtype={"종목":str})
stocks = df2["종목"]
df1 = pd.DataFrame()
for i in stocks:
df = fdr.DataReader(i, '2018-06-30', "2018-07-30")
df["Code"] = i
df1 = pd.concat([df1, df])
df1.reset_index().merge(df_krx, how="left")
# 엑셀파일속 원하는 종목명 리스트로 주식정보 가져오기
df3 = pd.read_excel("fdr_e01_주식보유현황.xlsx", sheet_name=1)
stocks = df3.merge(df_krx, how="left")["Symbol"]
df1 = pd.DataFrame()
for i in stocks:
df = fdr.DataReader(i, '2018-06-30', "2018-07-30")
df["Code"] = i
df1 = pd.concat([df1, df])
df1.reset_index().merge(df_krx, how="left")
활용용 코드입니다
주석에 달린 stocks와 날짜 둘만 바꿔주면 얼마든지 본인이 원하는 정보를 얻으실수 있습니다
import FinanceDataReader as fdr
import pandas as pd
df_krx = fdr.StockListing('KRX').iloc[:, :3]
stocks = ["005930", "035720"] #stocks를 바꾸면 수집하는 종목이 바뀜
df1 = pd.DataFrame()
for i in stocks:
df = fdr.DataReader(i, '2018-06-30', "2018-07-30") # 날짜를 바꾸면 수집하는 기간이 바뀜
df["Code"] = i
df1 = pd.concat([df1, df])
df1.reset_index().merge(df_krx, how="left")
본 강의는 주피터 노트북 기반으로 만들어졌습니다.
vscode나 파이참 사용자는 print를 하셔야 출력됩니다.
스스로 문제 해결이 안되시는 초심자 분들은 강의환경을 꼭 주피터 노트북으로 맞추세요
'판다스 강의(유튜브) > 분류되지 않은 강의들' 카테고리의 다른 글
[판다스 Q&A] 판다스에서 특정 열을 원하는 위치로 옮기기 (0) | 2022.07.17 |
---|---|
[파이썬주식] #02 필터링해서 주식데이터 수집하고 활용하기 (0) | 2022.05.23 |
[pandas] 판다스로 하는 웹크롤링(crawling) (0) | 2022.02.23 |
파이썬의 for문 (0) | 2022.02.04 |
주피터 노트북 설치및 사용법 (0) | 2022.01.30 |