-
Notifications
You must be signed in to change notification settings - Fork 400
Quick Start
FinanceDataReader๋ ํ๊ตญ, ๋ฏธ๊ตญ ๊ธ๋ก๋ฒ ์์ฅ์ ๊ธ์ต์ํ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ(์ฃผ์, ์ง์, ํ์จ, ์ ๋ฌผ ๋ฑ)์ ์ข
๋ชฉ ๋ฆฌ์คํ
๋ฑ ๊ธ์ต ๋ฐ์ดํฐ ์์ง๊ณผ ๋ถ์์ ์ํ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์
๋๋ค.
2018-2020 FinanceData.KR | facebook.com/financedata
๊ธ์ตํฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋๋ฐ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ๋ฐ์ดํฐ๋ ๊ฑฐ๋์๋ณ ์ ์ฒด ์ข
๋ชฉ ์ฝ๋์ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ์
๋๋ค.
FinanceDataReader๋ ๊ธ์ต ๋ฐ์ดํฐ์ ๊ด์ฌ์ด ๋ง์ ๊ฐ์ธ, ๊ธ์ตํฌ์ ์ข
์ฌ์ ํน์ ๊ฐ์ธํฌ์์๋ฅผ ์ํด ๋ง๋ค์ด์ง ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์
๋๋ค.
๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ก ๋ถํฐ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ๊ฐ์ ธ์ค๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ผ๋ฉฐ ๋ฐฑํ
์คํธ, ๊ฐ๊ฒฉ ๋ถ์, ์์ฅ ๋ชจ๋ํฐ๋ง ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- ๊ฑฐ๋์๋ณ ์ ์ฒด ์ข ๋ชฉ ๋ฆฌ์คํธ: 'KRX' ('KOSPI', 'KODAQ', 'KONEX'), 'NASDAQ', 'NYSE', 'AMEX' and 'S&P500'
- ํ๊ตญ๊ฑฐ๋์(KRX) ์์ฅํ์ง์ข ๋ชฉ ๋ฆฌ์คํธ: 'KRX-DELISTING'
- ๊ตญ๋ด์ฃผ์ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ: '005930'(์ผ์ฑ์ ์), '091990'(์ ํธ๋ฆฌ์จํฌ์ค์ผ์ด) ๋ฑ
- ํด์ธ์ฃผ์ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ: 'AAPL'(์ ํ), 'AMZN'(์๋ง์กด), 'GOOG'(๊ตฌ๊ธ) ๋ฑ
- ๊ตญ๋ด ์์ฅํ์ง ์ข ๋ชฉ ๊ณผ๊ฑฐ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ
- ์์ฅ๋ณ ์ข ๋ชฉ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ: 'KRX'(ํ๊ตญ๊ฑฐ๋์), 'NASDAQ'(๋์ค๋ฅ), 'NYSE'(๋ด์์ฆ๊ถ๊ฑฐ๋์), 'AMEX'(๋ฏธ๊ตญ์ฆ๊ถ๊ฑฐ๋์), 'SSE'(์ํด), 'SZSE'(์ฌ์ฒ), 'HKEX'(ํ์ฝฉ), 'TSE'(๋์ฟ)
- ETF ์ข ๋ชฉ ๋ฆฌ์คํธ: ๊ตญ๊ฐ๋ณ('KR', 'US', 'JP' ๋ฑ)
- ๊ฐ์ข ์ง์: 'KS11'(์ฝ์คํผ์ง์), 'KQ11'(์ฝ์ค๋ฅ์ง์), 'DJI'(๋ค์ฐ์ง์), 'IXIC'(๋์ค๋ฅ ์ง์), 'US500'(S&P 5000)
- ํ์จ ๋ฐ์ดํฐ: 'USD/KRX' (์๋ฌ๋ฌ ํ์จ), 'USD/EUR'(๋ฌ๋ฌ๋น ์ ๋กํ ํ์จ), 'CNY/KRW': ์์ํ ์ํ ํ์จ
- ์ํธํํ ๊ฐ๊ฒฉ: 'BTC/USD' (๋นํธ์ฝ์ธ ๋ฌ๋ฌ ๊ฐ๊ฒฉ, Bitfinex), 'BTC/KRW' (๋นํธ์ฝ์ธ ์ํ ๊ฐ๊ฒฉ, ๋น์ธ)
์๋ก ์ค์น
pip install finance-datareader
์ ๋ฐ์ดํธ (์ด๋ฏธ ์ค์นํ์ ๋ถ์ด ์ต์ ๋ฒ์ ์ ์ค์นํ์๋ ค๋ฉด)
pip install -U finance-datareader
import FinanceDataReader as fdr fdr.__version__
'0.9.3'
์ข ๋ชฉ ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ์ป๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ๊ฑฐ๋์ ์ฌ๋ณผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ์ฌ๋ณผ | ๊ฑฐ๋์ |
|---|---|
KRX |
KRX ์ข ๋ชฉ ๋ฆฌ์คํธ ์ ์ฒด |
KOSPI |
KOSPI ๋ฆฌ์คํธ ์ข ๋ชฉ |
KOSDAQ |
KOSDAQ ๋ฆฌ์คํธ ์ข ๋ชฉ |
KONEX |
KONEX ๋ฆฌ์คํธ ์ข ๋ชฉ |
KRX-DELISTING |
KRX์์ฅํ์ง์ข ๋ชฉ ๋ฆฌ์คํธ |
KRX-MARCAP |
KRX ์๊ฐ์ด์ก์ ์ข ๋ชฉ ๋ฆฌ์คํธ |
โป(ๆณจ่จ) KRX๋ KOSPI,KOSDAQ,KONEX ๋ชจ๋ ํฌํจํฉ๋๋ค.
| ์ฌ๋ณผ | ๊ฑฐ๋์ |
|---|---|
NASDAQ |
๋์ค๋ฅ ์ข ๋ชฉ |
NYSE |
๋ด์ ์ฆ๊ถ๊ฑฐ๋์ ์ข ๋ชฉ |
AMEX |
AMEX ์ข ๋ชฉ |
S&P500 |
S&P 500 ์ข ๋ชฉ |
import FinanceDataReader as fdr # S&P 500 ์ข ๋ชฉ ์ ์ฒด sp500 = fdr.StockListing('S&P500') sp500.head()
| Symbol | Name | Sector | Industry | |
|---|---|---|---|---|
| 0 | MMM | 3M Company | Industrials | Industrial Conglomerates |
| 1 | ABT | Abbott Laboratories | Health Care | Health Care Equipment |
| 2 | ABBV | AbbVie Inc. | Health Care | Pharmaceuticals |
| 3 | ABMD | ABIOMED Inc | Health Care | Health Care Equipment |
| 4 | ACN | Accenture plc | Information Technology | IT Consulting & Other Services |
# S&P500์ ์ข ๋ชฉ์: S&P500 ์ข ๋ชฉ์๋ 500๊ฐ๊ฐ ์๋๋ผ 2๊ฐ์ ํด๋์ค๋ฅผ ๊ฐ์ง ์ข ๋ชฉ๋ค์ด ์์ด์ 505๊ฐ ์ ๋๋ค. len(sp500)
505
๊ตญ๊ฐ๋ณ ETF ์ข ๋ชฉ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ง์ํ๋ ๊ตญ๊ฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ ์ง์ ํ์ง ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ 'KR'(ํ๊ตญ) ์ ๋๋ค.
- 'KR': ํ๊ตญ (๊ธฐ๋ณธ๊ฐ)
- 'US': ๋ฏธ๊ตญ
- 'CN': ์ค๊ตญ
- 'HK': ํ์ฝฉ
- 'JP': ์ผ๋ณธ
- 'UK': ์๊ตญ
- 'FR': ํ๋์ค
df_etf = fdr.EtfListing('KR') df_etf.head(10)
| Symbol | Name | |
|---|---|---|
| 0 | 069500 | KODEX 200 |
| 1 | 102110 | TIGER 200 |
| 2 | 122630 | KODEX ๋ ๋ฒ๋ฆฌ์ง |
| 3 | 278540 | KODEX MSCI Korea TR |
| 4 | 102780 | KODEX ์ผ์ฑ๊ทธ๋ฃน |
| 5 | 148020 | KBSTAR 200 |
| 6 | 278530 | KODEX 200TR |
| 7 | 310970 | TIGER MSCI Korea TR |
| 8 | 153130 | KODEX ๋จ๊ธฐ์ฑ๊ถ |
| 9 | 273130 | KODEX ์ข ํฉ์ฑ๊ถ(AA-์ด์)์กํฐ๋ธ |
# ํ์ฌ ํ๊ตญ์ ์์ฅ๋ ETF ์ข ๋ชฉ์ ๋ชจ๋ 451์ข ๋ชฉ ์ ๋๋ค. len(df_etf)
451
๊ตญ๋ด ์ฃผ์์ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๋จ์ถ ์ฝ๋(6์๋ฆฌ)๋ฅผ ์ฌ์ฉํ์ฌ ์กฐํํฉ๋๋ค. ๊ฐ๊ฒฉ ๋ฐ์ดํฐ๋ ๋ชจ๋ ์์ ๊ฐ๊ฒฉ(Adjusted Price)์ ๋๋ค.
- ์ฝ์คํผ ์ข ๋ชฉ: 068270(์ ํธ๋ฆฌ์จ), 005380(ํ๋์ฐจ) ๋ฑ
- ์ฝ์ค๋ฅ ์ข ๋ชฉ: 215600(์ ๋ผ์ ), 151910(๋๋ ธ์ค) ๋ฑ
import FinanceDataReader as fdr # ์ ๋ผ์ (215600), 2018๋ df = fdr.DataReader('215600', '2018-01-01') # 2018ๅนด01ๆ01ๆฅ ~ ํ์ฌ df.head()
| Open | High | Low | Close | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2018ๅนด01ๆ02ๆฅ | 95900 | 104000 | 93300 | 102500 | 6824281 | 0.096257 |
| 2018ๅนด01ๆ03ๆฅ | 102600 | 104900 | 99500 | 103000 | 4760150 | 0.004878 |
| 2018ๅนด01ๆ04ๆฅ | 102600 | 104000 | 92200 | 92200 | 6538665 | -0.104854 |
| 2018ๅนด01ๆ05ๆฅ | 85800 | 101200 | 85700 | 100000 | 8318372 | 0.084599 |
| 2018ๅนด01ๆ08ๆฅ | 98000 | 98400 | 92500 | 93800 | 6352776 | -0.062000 |
df.tail()
| Open | High | Low | Close | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2020ๅนด02ๆ03ๆฅ | 12600 | 13400 | 12450 | 13150 | 2577917 | 0.011538 |
| 2020ๅนด02ๆ04ๆฅ | 13250 | 13750 | 13200 | 13650 | 1739670 | 0.038023 |
| 2020ๅนด02ๆ05ๆฅ | 13750 | 14050 | 11600 | 12450 | 5292116 | -0.087912 |
| 2020ๅนด02ๆ06ๆฅ | 12000 | 12900 | 11650 | 12650 | 5028799 | 0.016064 |
| 2020ๅนด02ๆ07ๆฅ | 12700 | 14800 | 12300 | 13050 | 12577686 | 0.031621 |
import FinanceDataReader as fdr # ์ ํธ๋ฆฌ์จ, 2017ๅนด01ๆ01ๆฅ ~ ํ์ฌ df = fdr.DataReader('068270', '2017-01-01') df['Close'].plot()
png
import FinanceDataReader as fdr # ์ ํ(AAPL), 2018ๅนด01ๆ01ๆฅ ~ 2018ๅนด03ๆ30ๆฅ df = fdr.DataReader('AAPL', '2018-01-01', '2020-01-30') df.tail()
| Close | Open | High | Low | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2020ๅนด01ๆ24ๆฅ | 318.31 | 320.25 | 323.33 | 317.52 | 36630000.0 | -0.0029 |
| 2020ๅนด01ๆ27ๆฅ | 308.95 | 310.06 | 311.77 | 304.88 | 40490000.0 | -0.0294 |
| 2020ๅนด01ๆ28ๆฅ | 317.69 | 312.60 | 318.40 | 312.19 | 40560000.0 | 0.0283 |
| 2020ๅนด01ๆ29ๆฅ | 324.34 | 324.45 | 327.85 | 321.38 | 54150000.0 | 0.0209 |
| 2020ๅนด01ๆ30ๆฅ | 323.87 | 320.54 | 324.09 | 318.75 | 31690000.0 | -0.0014 |
import FinanceDataReader as fdr # ์ ํ(AAPL), 2017ๅนด01ๆ01ๆฅ ~ ํ์ฌ df = fdr.DataReader('AAPL', '2017') df['Close'].plot()
png
import FinanceDataReader as fdr # ์๋ง์กด(AMZN), 2010ๅนด01ๆ01ๆฅ ~ ํ์ฌ df = fdr.DataReader('AMZN', '2010') df['Close'].plot()
png
# ๊ธฐ๊ฐ์ ์๊ด์์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ์ต๋๋ค ('F'ํฌ๋, 1980ๅนด01ๆ01ๆฅ ~ 2020ๅนด12ๆ31ๆฅ, 40๋ ๋ฐ์ดํฐ) import FinanceDataReader as fdr df = fdr.DataReader('F', '1980-01-01', '2020-12-31') len(df)
10060
df['Close'].plot()
png
๊ฐ๋ณ ETF ์ข ๋ชฉ์ ๊ฐ๊ฒฉ๋ DataReader() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
# 069500 KODEX 200 df = fdr.DataReader('069500', '2019-01-01') df.head(10)
| Open | High | Low | Close | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2019ๅนด01ๆ02ๆฅ | 26173 | 26212 | 25591 | 25677 | 4795980 | -0.011625 |
| 2019ๅนด01ๆ03ๆฅ | 25670 | 25700 | 25397 | 25428 | 5649255 | -0.009697 |
| 2019ๅนด01ๆ04ๆฅ | 25416 | 25655 | 25347 | 25623 | 10281475 | 0.007669 |
| 2019ๅนด01ๆ07ๆฅ | 25944 | 26178 | 25929 | 25989 | 5700324 | 0.014284 |
| 2019ๅนด01ๆ08ๆฅ | 25998 | 26076 | 25802 | 25819 | 4670564 | -0.006541 |
| 2019ๅนด01ๆ09ๆฅ | 25924 | 26432 | 25924 | 26351 | 5263421 | 0.020605 |
| 2019ๅนด01ๆ10ๆฅ | 26373 | 26496 | 26271 | 26341 | 5924713 | -0.000379 |
| 2019ๅนด01ๆ11ๆฅ | 26452 | 26579 | 26364 | 26503 | 5054162 | 0.006150 |
| 2019ๅนด01ๆ14ๆฅ | 26447 | 26477 | 26246 | 26274 | 3546372 | -0.008641 |
| 2019ๅนด01ๆ15ๆฅ | 26368 | 26813 | 26354 | 26801 | 4744723 | 0.020058 |
# SPDR S&P 500 ETF df = fdr.DataReader('SPY', '2019-01-01', '2019-06-30') df.head(10)
| Close | Open | High | Low | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2019ๅนด01ๆ02ๆฅ | 250.18 | 245.98 | 251.21 | 245.95 | 126930000.0 | 0.0010 |
| 2019ๅนด01ๆ03ๆฅ | 244.21 | 248.23 | 248.57 | 243.67 | 144140000.0 | -0.0239 |
| 2019ๅนด01ๆ04ๆฅ | 252.39 | 247.59 | 253.11 | 247.17 | 142630000.0 | 0.0335 |
| 2019ๅนด01ๆ07ๆฅ | 254.38 | 252.69 | 255.95 | 251.69 | 103140000.0 | 0.0079 |
| 2019ๅนด01ๆ08ๆฅ | 256.77 | 256.82 | 257.31 | 254.00 | 102510000.0 | 0.0094 |
| 2019ๅนด01ๆ09ๆฅ | 257.97 | 257.56 | 258.91 | 256.19 | 95010000.0 | 0.0047 |
| 2019ๅนด01ๆ10ๆฅ | 258.88 | 256.26 | 259.16 | 255.50 | 96820000.0 | 0.0035 |
| 2019ๅนด01ๆ11ๆฅ | 258.98 | 257.68 | 259.01 | 257.03 | 73860000.0 | 0.0004 |
| 2019ๅนด01ๆ14ๆฅ | 257.40 | 256.86 | 258.30 | 256.41 | 70910000.0 | -0.0061 |
| 2019ๅนด01ๆ15ๆฅ | 260.35 | 257.82 | 260.70 | 257.81 | 85210000.0 | 0.0115 |
FinanceDataReader๋ ์ข ๋ชฉ์ฝ๋(symbol)๊ฐ ์ซ์๋ก๋ง ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ํ๊ตญ๊ฑฐ๋์(KRX)์์ฅ์, ์๋ฌธ์ผ๋ก ๋์ด ์๋ ๊ฒฝ์ฐ ๋ฏธ๊ตญ์์ฅ(NYSE, NASDAQ, AMEX)์ ์ข ๋ชฉ์ ์ฐ์ ๊ฒ์ํฉ๋๋ค.
ํ๊ตญ๊ณผ ๋ฏธ๊ตญ์ ์ ์ธํ ๊ตญ๊ฐ์ ์ข ๋ชฉ์ ์กฐํํ ๊ฒฝ์ฐ์๋ ๋ช ์์ ์ผ๋ก ๊ฑฐ๋์(exchange)๋ฅผ ์ง์ ํ์ฌ ์ฌ์ฉํ์ธ์.
ํ๊ตญ, ์ค๊ตญ, ํ์ฝฉ, ์ผ๋ณธ ๋ฑ์ ์ข ๋ชฉ ์ฝ๋๊ฐ ์ซ์๋ก ๋์ด ์์ต๋๋ค. ์ข ๋ชฉ์ฝ๋๊ฐ ๊ตญ๊ฐ๊ฐ(๊ฑฐ๋์)์ ๊ฒน์น ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๊ตญ๊ฑฐ๋์(KRX)์ ๋์ฐ(000150)๊ณผ ์ฌ์ฒ๊ฑฐ๋์(SZSE)์์ Yihua Healthcare(000150)๋ ์ข ๋ชฉ ์ฝ๋๊ฐ ๋์ผํฉ๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ช ์์ ์ผ๋ก ๊ฑฐ๋์(exchange)๋ฅผ ์ง์ ํ์ฌ ์กฐํ ํฉ๋๋ค.
# ๋์ฐ(000150) ํ๊ตญ๊ฑฐ๋์(KRX)) df = fdr.DataReader('000150', '2018-01-01', '2019-10-30') # KRX ๋์ฐ(000150) df = fdr.DataReader('000150', '2018-01-01', '2019-10-30', exchange='KRX') # KRX ๋์ฐ(000150) # Yihua Healthcare(000150) ์ฌ์ฒ๊ฑฐ๋์(SZSE) df = fdr.DataReader('000150', '2018-01-01', '2019-10-30', exchange='SZSE') # SZSE df = fdr.DataReader('000150', '2018-01-01', '2019-10-30', exchange='์ฌ์ฒ') # SZSE
exchange ์ต์ ์ ์ง์ ํ ์ ์๋ ๊ฑฐ๋์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
'KRX'(ํ๊ตญ๊ฑฐ๋์), 'NASDAQ'(๋์ค๋ฅ), 'NYSE'(๋ด์์ฆ๊ถ๊ฑฐ๋์), 'AMEX'(๋ฏธ๊ตญ์ฆ๊ถ๊ฑฐ๋์), 'SSE'(์ํด), 'SZSE'(์ฌ์ฒ), 'HKEX'(ํ์ฝฉ), 'TSE'(๋์ฟ)
# ํ์ฝฉ๊ฑฐ๋์(HKEX) 7500: CSOP Hang Seng Index Daily (-2x) Inverse df = fdr.DataReader('7500', '2019-01-01', '2019-06-30', exchange='HKEX') df.head()
| Close | Open | High | Low | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2019ๅนด05ๆ29ๆฅ | 7.22 | 7.24 | 7.25 | 7.12 | 29560000.0 | 0.0112 |
| 2019ๅนด05ๆ30ๆฅ | 7.27 | 7.22 | 7.33 | 7.17 | 24100000.0 | 0.0069 |
| 2019ๅนด05ๆ31ๆฅ | 7.40 | 7.32 | 7.41 | 7.25 | 27730000.0 | 0.0179 |
| 2019ๅนด06ๆ03ๆฅ | 7.41 | 7.50 | 7.50 | 7.34 | 37710000.0 | 0.0014 |
| 2019ๅนด06ๆ04ๆฅ | 7.46 | 7.37 | 7.51 | 7.36 | 21010000.0 | 0.0067 |
์ง์๋ฅผ ์ฌ๋ณผ(symbol)์ ์ง์ ํ์ฌ ๋ค์ํ ์ง์๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. ๋ฐํํ์์ ๊ฐ๋ณ ์ข ๋ชฉ๊ณผ ๋์ผํฉ๋๋ค.
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| KS11 | KOSPI ์ง์ |
| KQ11 | KOSDAQ ์ง์ |
| KS50 | KOSPI 50 ์ง์ |
| KS100 | KOSPI 100 ์ง์ |
| KS200 | KOSPI 200 ์ง์ |
| KQ150 | KOSDAQ 150 ์ง์ |
| KRX100 | KRX 100 |
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| DJI | ๋ค์ฐ์กด์ค ์ง์ |
| IXIC | ๋์ค๋ฅ ์ง์ |
| US500 | S&P 500 ์ง์ |
| VIX | S&P 500 VIX |
โป(ๆณจ่จ) DJI, IXIC, US500 ๊ฐ ๋ฏธ๊ตญ 3๋ ์ง์
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| JP225 | ๋์ผ์ด 225 ์ ๋ฌผ |
| STOXX50 | ์ ๋ ต STOXX 50 |
| HSI | ํญ์ (ํ์ฝฉ) |
| CSI300 | CSI 300 (์ค๊ตญ) |
| SSEC | ์ํด ์ข ํฉ |
| UK100 | ์๊ตญ FTSE |
| DE30 | ๋ ์ผ DAX 30 |
| FCHI | ํ๋์ค CAC 40 |
import FinanceDataReader as fdr # KS11 (KOSPI ์ง์), 2015๋ ~ํ์ฌ df = fdr.DataReader('KS11', '2015-01-01') df['Close'].plot()
png
# ๋ค์ฐ์ง์, 2015๋ ~ํ์ฌ df = fdr.DataReader('DJI', '2015') df['Close'].plot()
png
# DAX, 2015๋ ~ํ์ฌ df = fdr.DataReader('DE30', '2015') df['Close'].plot()
png
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| USD/KRW | ๋ฌ๋ฌ๋น ์ํ ํ์จ |
| USD/EUR | ๋ฌ๋ฌ๋น ์ ๋กํ ํ์จ |
| USD/JPY | ๋ฌ๋ฌ๋น ์ํ ํ์จ |
| CNY/KRW | ์์ํ ์ํ ํ์จ |
| EUR/USD | ์ ๋กํ ๋ฌ๋ฌ ํ์จ |
| USD/JPY | ๋ฌ๋ฌ ์ํ ํ์จ |
| JPY/KRW | ์ํ ์ํ ํ์จ |
| AUD/USD | ์ค์คํธ๋ ์ผ๋ฆฌ์ ๋ฌ๋ฌ ํ์จ |
| EUR/JPY | ์ ๋กํ ์ํ ํ์จ |
| USD/RUB | ๋ฌ๋ฌ ๋ฃจ๋ธํ |
import FinanceDataReader as fdr # ์๋ฌ๋ฌ ํ์จ, 1995๋ ~ํ์ฌ df = fdr.DataReader('USD/KRW', '1995-01-01', '2020-12-31') df['Close'].plot()
png
# ์์ํ ํ์จ, 1995๋ ~ํ์ฌ df = fdr.DataReader('CNY/KRW', '1995') df['Close'].plot()
png
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| NG | ์ฒ์ฐ๊ฐ์ค ์ ๋ฌผ (NYMEX) |
| GC | ๊ธ ์ ๋ฌผ (COMEX) |
| SI | ์ ์ ๋ฌผ (COMEX) |
| HG | ๊ตฌ๋ฆฌ ์ ๋ฌผ (COMEX) |
| CL | WTI์ ์ ๋ฌผ (NYMEX) |
import FinanceDataReader as fdr # ์ฒ์ฐ๊ฐ์ค ์ ๋ฌผ (NYMEX) df = fdr.DataReader('NG', '2018') df.tail()
| Close | Open | High | Low | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2020ๅนด02ๆ03ๆฅ | 1.819 | 1.852 | 1.880 | 1.814 | 163790.0 | -0.0220 |
| 2020ๅนด02ๆ04ๆฅ | 1.872 | 1.823 | 1.888 | 1.804 | 184040.0 | 0.0291 |
| 2020ๅนด02ๆ05ๆฅ | 1.861 | 1.876 | 1.884 | 1.825 | 195460.0 | -0.0059 |
| 2020ๅนด02ๆ06ๆฅ | 1.862 | 1.865 | 1.906 | 1.832 | 186210.0 | 0.0005 |
| 2020ๅนด02ๆ07ๆฅ | 1.863 | 1.869 | 1.877 | 1.843 | 0.0 | 0.0005 |
import FinanceDataReader as fdr # WTI์ ์ ๋ฌผ (NYMEX) df = fdr.DataReader('CL', '2018') df.tail()
| Close | Open | High | Low | Volume | Change | |
|---|---|---|---|---|---|---|
| Date | ||||||
| 2020ๅนด02ๆ03ๆฅ | 50.11 | 51.01 | 51.97 | 49.80 | 876040.0 | -0.0184 |
| 2020ๅนด02ๆ04ๆฅ | 49.61 | 49.94 | 51.55 | 49.31 | 859360.0 | -0.0100 |
| 2020ๅนด02ๆ05ๆฅ | 50.75 | 49.51 | 51.88 | 49.47 | 887950.0 | 0.0230 |
| 2020ๅนด02ๆ06ๆฅ | 50.95 | 51.17 | 52.20 | 50.24 | 750660.0 | 0.0039 |
| 2020ๅนด02ๆ07ๆฅ | 50.91 | 51.44 | 51.45 | 50.81 | 0.0 | -0.0008 |
- 'KR[๋ ๋]YT=RR' ํ์์ผ๋ก ์กฐํฉ (๊ฐ๋ฅ ๋ ๋=1,2,3,4,5,10,20,30,50)
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| KR1YT=RR | 1๋ ๋ง๊ธฐ ํ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| KR3YT=RR | 1๋ ๋ง๊ธฐ ํ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| KR5YT=RR | 5๋ ๋ง๊ธฐ ํ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| KR10YT=RR | 10๋ ๋ง๊ธฐ ํ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
- 'US[๊ฐ์]MT=RR' ํ์์ผ๋ก ์กฐํฉ (๊ฐ๋ฅ ๊ฐ์=1,3,6)
- 'US[๋ ๋]YT=RR' ํ์์ผ๋ก ์กฐํฉ (๊ฐ๋ฅ ๋ ๋=1,2,3,4,5,7,10,30)
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| US1MT=X | 1๊ฐ์ ๋ฏธ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| US6MT=X | 6๊ฐ์ ๋ฏธ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| US1YT=X | 1๋ ๋ง๊ธฐ ๋ฏธ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| US5YT=X | 5๋ ๋ง๊ธฐ ๋ฏธ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| US10YT=X | 10๋ ๋ง๊ธฐ ๋ฏธ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
| US30YT=X | 30๋ ๋ง๊ธฐ ๋ฏธ๊ตญ ๊ตญ์ฑ ์์ต๋ฅ |
import FinanceDataReader as fdr # 10๋ ๋ง๊ธฐ ๋ฏธ๊ตญ์ฑ ์์ต๋ฅ df = fdr.DataReader('US10YT=X', '2018') df.tail()
| Close | Open | High | Low | Change | |
|---|---|---|---|---|---|
| Date | |||||
| 2020ๅนด02ๆ03ๆฅ | 1.526 | 1.514 | 1.575 | 1.512 | 0.0071 |
| 2020ๅนด02ๆ04ๆฅ | 1.603 | 1.520 | 1.618 | 1.517 | 0.0505 |
| 2020ๅนด02ๆ05ๆฅ | 1.649 | 1.604 | 1.661 | 1.575 | 0.0287 |
| 2020ๅนด02ๆ06ๆฅ | 1.644 | 1.649 | 1.684 | 1.633 | -0.0030 |
| 2020ๅนด02ๆ07ๆฅ | 1.613 | 1.649 | 1.649 | 1.609 | -0.0190 |
์ํธ ํํ ์ํ ๊ฐ๊ฒฉ (๋น์ธ)
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| BTC/KRW | ๋นํธ์ฝ์ธ ์ํ ๊ฐ๊ฒฉ |
| ETH/KRW | ์ด๋๋ฆฌ์ ์ํ ๊ฐ๊ฒฉ |
| XRP/KRW | ๋ฆฌํ ์ํ ๊ฐ๊ฒฉ |
| BCH/KRW | ๋นํธ์ฝ์ธ ์บ์ ์ํ ๊ฐ๊ฒฉ |
| EOS/KRW | ์ด์ค์ค ์ํ ๊ฐ๊ฒฉ |
| LTC/KRW | ๋ผ์ดํธ ์ฝ์ธ ์ํ ๊ฐ๊ฒฉ |
| XLM/KRW | ์คํ ๋ผ ์ํ ๊ฐ๊ฒฉ |
์ํธ ํํ ๋ฌ๋ฌํ ๊ฐ๊ฒฉ (Bitfinex)
| ์ฌ๋ณผ | ์ค๋ช |
|---|---|
| BTC/USD | ๋นํธ์ฝ์ธ ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
| ETH/USD | ์ด๋๋ฆฌ์ ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
| XRP/USD | ๋ฆฌํ ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
| BCH/USD | ๋นํธ์ฝ์ธ ์บ์ ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
| EOS/USD | ์ด์ค์ค ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
| LTC/USD | ๋ผ์ดํธ ์ฝ์ธ ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
| XLM/USD | ์คํ ๋ผ ๋ฌ๋ฌ ๊ฐ๊ฒฉ |
import FinanceDataReader as fdr # ๋นํธ์ฝ์ธ ์ํ ๊ฐ๊ฒฉ (๋น์ธ), 2016๋ ~ํ์ฌ df = fdr.DataReader('BTC/KRW', '2016') df['Close'].plot()
png
import FinanceDataReader as fdr # ๋นํธ์ฝ์ธ USD ๊ฐ๊ฒฉ df = fdr.DataReader('BTC/USD', '2016') df['Close'].plot()
png
ํ๊ตญ๊ฑฐ๋์(KRX)์ ์์ฅํ์ง ์ ์ฒด ์ข ๋ชฉ ์กฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
fdr.StockListing('KRX-DELISTING')
์กฐํ๊ฒฐ๊ณผ ์ปฌ๋ผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Symbol: ์ข ๋ชฉ์ฝ๋
- Name: ์ข ๋ชฉ๋ช
- DelistingDate: ์์ฅํ์ง์ผ
- Reason: ์์ฅํ์ง ์ฌ์
# KRX ์์ฅํ์ง ์ข ๋ชฉ ์ ์ฒด ๋ฆฌ์คํธ krx_delisting = fdr.StockListing('KRX-DELISTING') krx_delisting
| Symbol | Name | DelistingDate | Reason | |
|---|---|---|---|---|
| 0 | 077280 | ํ์ปด์ง์ ๋ | 2020ๅนด01ๆ16ๆฅ | ํผํก์ํฉ๋ณ |
| 1 | 265920 | ํํ์์ฑ์คํฉ | 2020ๅนด01ๆ15ๆฅ | ์์ฅ์๋น์ฌ์ฌ ์ฒญ๊ตฌ์ ๋ฏธ์ ์ถ๋ก ๊ด๋ฆฌ์ข ๋ชฉ ์ง์ ํ 1๊ฐ์ ์ด๋ด ๋์ฌ์ ๋ฅผ ๋ฏธํด์ |
| 2 | 265480 | ๋ฏธ๋์์ ๋์ฐ์คํฉ1ํธ | 2020ๅนด01ๆ03ๆฅ | ์์ฅ์๋น์ฌ์ฌ ์ฒญ๊ตฌ์ ๋ฏธ์ ์ถ๋ก ๊ด๋ฆฌ์ข ๋ชฉ ์ง์ ํ 1๊ฐ์ ์ด๋ด ๋ ์ฌ์ ๋ฏธํด์ |
| 3 | 210610 | ์ํํธ์บ ํ | 2019ๅนด12ๆ30ๆฅ | ํผํก์ํฉ๋ณ |
| 4 | 122050 | ์์ด์์ฌ์ด์ธ์ค | 2019ๅนด12ๆ27ๆฅ | ํผํก์ํฉ๋ณ |
| ... | ... | ... | ... | ... |
| 1534 | 034370 | ๋ญํค์์ฌ | 1991ๅนด11ๆ11ๆฅ | ํด์ฐ ์ฌ์ ๋ฐ์ |
| 1535 | 028460 | ํํ์๊ฑด์ค | 1991ๅนด10ๆ05ๆฅ | ์์ ํ๋์ ์ง 6์ ๊ณ์ |
| 1536 | 028450 | ๊ธ์ฑํฌ์๊ธ์ต | 1991ๅนด09ๆ02ๆฅ | ํด์ฐ ์ฌ์ ๋ฐ์ |
| 1537 | 028440 | ์ผํ | 1991ๅนด07ๆ12ๆฅ | ๊ฐ์ฌ์๊ฒฌ ์๊ฒฌ๊ฑฐ์ |
| 1538 | 029260 | ๊ธ์ฑ์ ๊ธฐ | 1991ๅนด06ๆ13ๆฅ | ํด์ฐ ์ฌ์ ๋ฐ์ |
1539 rows รใฐใค 4 columns
์์ฅํ์ง๋ ๊ฐ๋ณ ์ข ๋ชฉ์ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ ์ข ๋ชฉ์ ๊ฐ๊ฒฉ์กฐํ์ ๋ง์ฐฌ๊ฐ์ง๋ก fdr.DataReader()๋ฅผ ์ฌ์ฉํ์ฌ ์กฐํํ๋ exchange ์ต์ ๊ฐ์ 'KRX-DELISTING'๋ก ์ง์ ํฉ๋๋ค.
df = fdr.DataReader('036360', exchange='KRX-DELISTING')
๊ฒฐ๊ณผ๋ก ๋ฐํ๋๋ ๋ฐ์ดํฐํ๋ ์์๋ ์๊ฐ,๊ณ ๊ฐ,์ ๊ฐ,์ข ๊ฐ,๊ฑฐ๋๋,์ ์ผ๋๋น ์ธ์๋ ๊ธฐ์ค๊ฐ, ์์ฅ์ฃผ์์, ์ก๋ฉด๊ฐ, ๊ฑฐ๋์ ์ง ์ฌ๋ถ, ๊ด๋ฆฌ์ข ๋ชฉ ์ฌ๋ถ ๋ฑ์ ๋ถ๊ฐ์ ๋ณด ์ปฌ๋ผ์ ๋ ํฌํจํ๊ณ ์์ต๋๋ค.
๋ฐํ ๋ฐ์ดํฐํ๋ ์์ ์ปฌ๋ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Open: ์๊ฐ
- High: ๊ณ ๊ฐ
- Low: ์ ๊ฐ
- Close: ์ข ๊ฐ
- Volume: ๊ฑฐ๋๋
- Change: ์ ์ผ๋๋น ๋ฑ๋ฝ
- Amount: ๊ฑฐ๋๋๊ธ
- Stocks: ์์ฅ์ฃผ์์
- FaceValue: ์ก๋ฉด๊ฐ
- StandardPrice: ๊ธฐ์ค๊ฐ
- StopOrder: ๊ฑฐ๋์ ์ง ์ฌ๋ถ(Y/N)
- Issues: ๊ด๋ฆฌ์ข ๋ชฉ ์ฌ๋ถ(Y/N)
# KRX delisting stock data ์์ฅํ์ง ์ข ๋ชฉ ๋ฐ์ดํฐ (์์ฅ์ผ~์์ฅํ์ง์ผ) df = fdr.DataReader('036360', exchange='KRX-DELISTING') df
| Open | High | Low | Close | Volume | Change | Amount | Stocks | FaceValue | StandardPrice | StopOrder | Issues | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Date | ||||||||||||
| 2001ๅนด01ๆ18ๆฅ | 3800 | 3800 | 3800 | 3800 | 905 | 1900 | 3439000 | 5833338 | 500 | 1900 | N | N |
| 2001ๅนด01ๆ19ๆฅ | 4250 | 4250 | 4250 | 4250 | 740605 | 450 | 3147571250 | 5833338 | 500 | 3800 | N | N |
| 2001ๅนด01ๆ22ๆฅ | 4760 | 4760 | 4760 | 4760 | 120128 | 510 | 571809280 | 5833338 | 500 | 4250 | N | N |
| 2001ๅนด01ๆ26ๆฅ | 5330 | 5330 | 5330 | 5330 | 8868 | 570 | 47266440 | 5833338 | 500 | 4760 | N | N |
| 2001ๅนด01ๆ29ๆฅ | 5960 | 5960 | 5960 | 5960 | 10422 | 630 | 62115120 | 5833338 | 500 | 5330 | N | N |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 2009ๅนด04ๆ22ๆฅ | 15 | 15 | 15 | 15 | 2596815 | 5 | 39031215 | 43852794 | 500 | 20 | N | Y |
| 2009ๅนด04ๆ23ๆฅ | 15 | 15 | 10 | 10 | 3686592 | 5 | 39664090 | 43852794 | 500 | 15 | N | Y |
| 2009ๅนด04ๆ24ๆฅ | 10 | 10 | 5 | 10 | 2312778 | 0 | 22688460 | 43852794 | 500 | 10 | N | Y |
| 2009ๅนด04ๆ27ๆฅ | 5 | 10 | 5 | 5 | 4644295 | 5 | 28588310 | 43852794 | 500 | 10 | N | Y |
| 2009ๅนด04ๆ28ๆฅ | 5 | 5 | 5 | 5 | 9958363 | 0 | 49791815 | 43852794 | 500 | 5 | N | Y |
2045 rows รใฐใค 12 columns