krx에서 오늘의 주식데이터를 다운받아 필터링해서
FinanceDataReader로 개별종목의 기간별 ohlcv를 수집하여
pandas와 결합해 활용하는 강의입니다
해당 종목의 data를 손쉽게 수집할수 있습니다
강의보기
2023.12월에 확인해보니 fdr라이브러리에서 krx의 종목 코드열의 이름이 변경되었습니다.
기존은 Symbol열에 종목코드를 가지고 있었는데 지금은 Code열에 종목코드를 갖고 있습니다.
이미 판다스에 익숙한 분은 알고 계셨겠지만
강의 코드에서 df["Symbol"] 부분을 전부 df['Code']로 바꾸시면 코드 잘 돌아갑니다.
아래 코드는 바꾼 코드입니다
지난시간 코드
import FinanceDataReader as fdr
import pandas as pd
df_krx = fdr.StockListing('KRX').iloc[:, :3]
stocks = ["005930", "373220", "000660"]
df1 = pd.DataFrame()
for i in stocks:
df = fdr.DataReader(i, '2022-03-30', "2022-04-30")
df["Code"] = i
df1 = pd.concat([df1, df])
df1.reset_index().merge(df_krx, how="left")
필터링에 사용할 주식정보가 담긴 csv파일 다운로드 (반드시 파이썬 파일과 같은 폴더에 다운받아주세요)
위 자료는 2022년 5월 18일 자료이므로
실습일 기준 자료가 필요하시면 영상에 따라 아래 홈페이지에서 파일을 다운 받으시면 됩니다
krx 홈페이지
http://data.krx.co.kr/contents/MDC/MAIN/main/index.cmd
위 지난 강의 코드의 stock부분만 아래로 바꾸면 각각의 필터링이 됩니다
시총 상위 10개종목
df2 = pd.read_csv("data_2121_20220518.csv").iloc[:, [0,1,2,6,10,12]]
stocks = df2.sort_values("시가총액", ascending=False).head(10)["종목코드"]
코스피 코스닥 코넥스 각 거래소별 시총상위 3개 종목
df2 = pd.read_csv("data_2121_20220518.csv").iloc[:, [0,1,2,6,10,12]]
df3 = df2.sort_values("시가총액", ascending=False)
stocks = df3.groupby("시장구분")["종목코드"].head(3)
코넥스를 제외한 코스피 코스닥 시총상위 3개종목
df2 = pd.read_csv("data_2121_20220518.csv").iloc[:, [0,1,2,6,10,12]]
df3 = df2.sort_values("시가총액", ascending=False).loc[df2["시장구분"]!="KONEX"]
stocks = df3.groupby("시장구분")["종목코드"].head(3)
25%이상 상승한 급등종목
df2 = pd.read_csv("data_2121_20220518.csv").iloc[:, [0,1,2,6,10,12]]
stocks = df2.loc[df2["등락률"] > 25, "종목코드"]
코스피 전부
df2 = pd.read_csv("data_2121_20220518.csv").iloc[:, [0,1,2,6,10,12]]
stocks = df2.loc[df2["시장구분"] == "KOSPI", "종목코드"]
코스닥 전부
df2 = pd.read_csv("data_2121_20220518.csv").iloc[:, [0,1,2,6,10,12]]
stocks = df2.loc[df2["시장구분"] == "KOSDAQ", "종목코드"]
2023.12월에 확인해보니 fdr라이브러리에서 krx의 종목 코드열의 이름이 변경되었습니다.
기존은 Symbol열에 종목코드를 가지고 있었는데 지금은 Code열에 종목코드를 갖고 있습니다.
이미 판다스에 익숙한 분은 알고 계셨겠지만
위 코드에서 df["Symbol"] 부분을 전부 df['Code']로 바꾸시면 코드 잘 돌아갑니다.
본 강의는 주피터 노트북 기반으로 만들어졌습니다.
vscode나 파이참 사용자는 print를 하셔야 출력됩니다.
스스로 문제 해결이 안되시는 초심자 분들은 강의환경을 꼭 주피터 노트북으로 맞추세요
'판다스 강의(유튜브) > 분류되지 않은 강의들' 카테고리의 다른 글
당신은 코딩에 적합한 사람일까요? (0) | 2023.01.24 |
---|---|
[판다스 Q&A] 판다스에서 특정 열을 원하는 위치로 옮기기 (0) | 2022.07.17 |
[파이썬주식] #01 전 종목의 주식데이터 수집하고 활용하기 (0) | 2022.05.18 |
[pandas] 판다스로 하는 웹크롤링(crawling) (0) | 2022.02.23 |
파이썬의 for문 (0) | 2022.02.04 |