StockListing ํจ์ ์ง์ ๋ง๋ค๊ธฐ (22๋
1์ ์ดํ FinanceDataReader์ StockListing ํจ์ ๊ฒฐ๊ณผ๊ฐ์ด ๋ฌ๋ผ์ง) ๊ฐ์ํธ์์ ํฌ๋กค๋ง ํจ์ ์ค๋ฅ๊ฐ ๋ฉ๋๋ค.
์ด ์ค๋ฅ๋ fdr.StockListing('KRX') ํธ์ถ ์ KRX ๋ง์ผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด ์์ฒญํ URL ์๋ต์ด JSON ํ์์ด ์๋ ๋น ์๋ต ํน์ HTML์ด๋ผ์ json.loads()๊ฐ ์คํจํด์ ๋ฐ์ํ๋ ๋ฌธ์ ์
๋๋ค.โ ํต์ฌ ์์ธFinanceDataReader ๋ด๋ถ์์ ์ฌ์ฉํ๋ KRX ์ฌ์ดํธ๊ฐ ์ต๊ทผ ๋ณ๊ฒฝ๋์๊ฑฐ๋, ํฌ๋กค๋ง ๋ฐฉ์ง/์ ๊ทผ ์ฐจ๋จ(403, 200 HTML)์ด ๊ฑธ๋ฆฐ ๊ฒฝ์ฐ์
๋๋ค.ํนํ fdr 0.9.50 ์ดํ๋ถํฐ KRX ๊ด๋ จ API๊ฐ ์์ฃผ ๊นจ์ง๋ ํ์์ด ๋ฐ์ํ๊ณ ์์ต๋๋ค.โ
ํด๊ฒฐ ๋ฐฉ๋ฒ 1: fdr ์ต์ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋๋จผ์ ์ต์ ๋ฒ์ ์ธ์ง ํ์ธํ์ธ์:pip install -U finance-datareader ํ์ฌ ๊ธฐ์ค ์ต์ ์์ ๋ฒ์ ์ 0.9.81์
๋๋ค.ํ์ธ:import FinanceDataReader as fdr print(fdr.__version__) ๊ทธ๋ผ์๋ ์ฌ์ ํ fdr.StockListing('KRX')์์ ์ค๋ฅ๊ฐ ๋๋ฉด ๋ค์ ๋ฐฉ๋ฒ์ผ๋ก ์ฐํํด์ผ ํฉ๋๋ค.โ
ํด๊ฒฐ ๋ฐฉ๋ฒ 2: ์๋์ผ๋ก KRX ์์ฅ๊ธฐ์
๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ (์ฐํ)KRX์์ ์ง์ CSV๋ก ๋ฐ๊ฑฐ๋ GitHub์ ์๋ ๋ฏธ๋ฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ:import pandas as pd # KRX ์์ฅ ๊ธฐ์
๋ชฉ๋ก (์ฝ์์กด์ด ์ฌ๋ ค๋ GitHub ๋ฐฑ์
๋ฐ์ดํฐ) df_krx = pd.read_csv("https://raw.githubusercontent.com/corazzon/finance-data-analysis/main/krx.csv") # ํ์ธ print(df_krx.head()) ์ด ๋ฐฉ๋ฒ์ ์ค์๊ฐ์ ์๋์ง๋ง, ์ค์ fdr ๋ด๋ถ์์๋ ์๋ ์ ์ด ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค.โ
ํด๊ฒฐ ๋ฐฉ๋ฒ 3: KRX Open API ์ง์ ํธ์ถ (๊ณ ๊ธ)KRX์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์์ฒญํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ POST ์์ฒญ์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.(์์ ์ fdr๊ฐ ์ด๊ฑธ ๋์ ํด์คฌ์ง๋ง, ์์ฆ ์ ์๋ฉ๋๋ค)์:https://data.krx.co.kr/contents/MDC/MDI/mdiLoader์ ์ ์ ํ payload๋ก ์์ฒญํ์ง๋ง ์ด๊ฑด header, session, params ๋ค ๋ง์ถฐ์ผ ํด์ ๊ฝค ๋ฒ๊ฑฐ๋กญ์ต๋๋ค.๐ ๊ฒฐ๋ก FinanceDataReader.StockListing('KRX')๋ ์ข
์ข
๊นจ์ง (KRX ์ฌ์ดํธ ๋ณ๊ฒฝ ๋๋ฌธ)์์ ํด๊ฒฐ: fdr ์ต์ ํ ๋๋ CSV ๋ฐฑ์
๋ณธ ์ฌ์ฉ์ฅ๊ธฐ์ ํด๊ฒฐ: ๋ณ๋ ํฌ๋กค๋ฌ ๊ตฌํ ํ์ (๊ณต์ API ์ฐ๊ธฐ)ํ์ํ์๋ฉด ์ต์ KRX ์์ฅ์ฌ ๋ชฉ๋ก์ CSV๋ก ์ง์ ๋ด๋ ค๋๋ฆด ์๋ ์์ต๋๋ค. ์ํ์๋์? ์ด๊ฑฐ๋ผ๋ ...