finance-datareader 0.9.100__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- finance_datareader-0.9.100/.gitignore +25 -0
- finance_datareader-0.9.100/LICENSE.txt +22 -0
- finance_datareader-0.9.100/PKG-INFO +260 -0
- finance_datareader-0.9.100/README.md +223 -0
- finance_datareader-0.9.100/pyproject.toml +65 -0
- finance_datareader-0.9.100/src/FinanceDataReader/__init__.py +16 -0
- finance_datareader-0.9.100/src/FinanceDataReader/_utils.py +17 -0
- finance_datareader-0.9.100/src/FinanceDataReader/back_chart.py +254 -0
- finance_datareader-0.9.100/src/FinanceDataReader/chart/__init__.py +2 -0
- finance_datareader-0.9.100/src/FinanceDataReader/chart/candle.py +250 -0
- finance_datareader-0.9.100/src/FinanceDataReader/chart/plot.py +75 -0
- finance_datareader-0.9.100/src/FinanceDataReader/data.py +184 -0
- finance_datareader-0.9.100/src/FinanceDataReader/ecos/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/ecos/data.py +163 -0
- finance_datareader-0.9.100/src/FinanceDataReader/ecos/snap.py +222 -0
- finance_datareader-0.9.100/src/FinanceDataReader/fred/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/fred/data.py +59 -0
- finance_datareader-0.9.100/src/FinanceDataReader/investing/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/investing/data.py +99 -0
- finance_datareader-0.9.100/src/FinanceDataReader/investing/listing.py +37 -0
- finance_datareader-0.9.100/src/FinanceDataReader/krx/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/krx/data.py +289 -0
- finance_datareader-0.9.100/src/FinanceDataReader/krx/listing.py +215 -0
- finance_datareader-0.9.100/src/FinanceDataReader/krx/snap.py +102 -0
- finance_datareader-0.9.100/src/FinanceDataReader/nasdaq/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/nasdaq/listing.py +20 -0
- finance_datareader-0.9.100/src/FinanceDataReader/naver/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/naver/data.py +48 -0
- finance_datareader-0.9.100/src/FinanceDataReader/naver/listing.py +177 -0
- finance_datareader-0.9.100/src/FinanceDataReader/naver/snap.py +556 -0
- finance_datareader-0.9.100/src/FinanceDataReader/wikipedia/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/wikipedia/listing.py +51 -0
- finance_datareader-0.9.100/src/FinanceDataReader/yahoo/__init__.py +0 -0
- finance_datareader-0.9.100/src/FinanceDataReader/yahoo/data.py +74 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
__pycache__
|
|
3
|
+
*.pyc
|
|
4
|
+
*.egg-info
|
|
5
|
+
.coverage
|
|
6
|
+
build
|
|
7
|
+
docs/build
|
|
8
|
+
.tox/
|
|
9
|
+
.cache/
|
|
10
|
+
.idea
|
|
11
|
+
*.iml
|
|
12
|
+
*~
|
|
13
|
+
.vscode
|
|
14
|
+
.pytest_cache
|
|
15
|
+
|
|
16
|
+
# pyenv
|
|
17
|
+
.python-version
|
|
18
|
+
|
|
19
|
+
# uv
|
|
20
|
+
uv.lock
|
|
21
|
+
requirements.lock
|
|
22
|
+
requirements-dev.lock
|
|
23
|
+
|
|
24
|
+
# build
|
|
25
|
+
/dist
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 FinanceData.KR
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: finance-datareader
|
|
3
|
+
Version: 0.9.100
|
|
4
|
+
Summary: Financial data reader (price, stock list of markets)
|
|
5
|
+
Project-URL: Repository, https://github.com/financedata/financedatareader
|
|
6
|
+
Author-email: "FinanceData.KR" <plusjune@financedata.kr>
|
|
7
|
+
Maintainer-email: "FinanceData.KR" <plusjune@financedata.kr>
|
|
8
|
+
License: MIT License
|
|
9
|
+
License-File: LICENSE.txt
|
|
10
|
+
Keywords: data,finance
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Cython
|
|
15
|
+
Classifier: Programming Language :: Python
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Requires-Dist: beautifulsoup4
|
|
23
|
+
Requires-Dist: lxml
|
|
24
|
+
Requires-Dist: pandas>=1.1.0
|
|
25
|
+
Requires-Dist: plotly
|
|
26
|
+
Requires-Dist: requests-file
|
|
27
|
+
Requires-Dist: requests>=2.3.0
|
|
28
|
+
Requires-Dist: tqdm
|
|
29
|
+
Provides-Extra: docs
|
|
30
|
+
Requires-Dist: sphinx; extra == 'docs'
|
|
31
|
+
Provides-Extra: notebook
|
|
32
|
+
Requires-Dist: ipykernel; extra == 'notebook'
|
|
33
|
+
Requires-Dist: nbformat>=4.2.0; extra == 'notebook'
|
|
34
|
+
Provides-Extra: test
|
|
35
|
+
Requires-Dist: pytest; extra == 'test'
|
|
36
|
+
Description-Content-Type: text/markdown
|
|
37
|
+
|
|
38
|
+
# FinanceDataReader
|
|
39
|
+
Open Source Financial data reader
|
|
40
|
+
|
|
41
|
+
**2018-2025 [FinanceData.KR]()**
|
|
42
|
+
|
|
43
|
+
# Overview
|
|
44
|
+
The FinanceDataReader is financial data reader(crawler) for finance. <br>
|
|
45
|
+
The main functions are as follows.
|
|
46
|
+
|
|
47
|
+
* KRX Stock listings (시장별 상장 종목 리스팅): 'KRX', 'KOSPI', 'KODAQ', 'KONEX'
|
|
48
|
+
* Global Stock Symbol listings(해외 거래소 상장 종목 리스팅): 'NASDAQ', 'NYSE', 'AMEX', 'S&P500', 'SSE'(상해), 'SZSE'(심천), 'HKEX'(홍콩), 'TSE'(도쿄)
|
|
49
|
+
* KRX delistings: 'KRX-DELISTING'(상장폐지종목), 'KRX-ADMINISTRATIVE' (관리종목), 'KRX-MARCAP'(시가총액)
|
|
50
|
+
* ETF Symbol listings: 'ETF/KR'
|
|
51
|
+
* Stock price(개별종목 가격 데이터): '005930'(Samsung), '091990'(Celltrion Healthcare) ...
|
|
52
|
+
* Stock price(해외 거래소 개별종목 가격 데이터): 'AAPL', 'AMZN', 'GOOG' ... (you can specify exchange(market) and symbol)
|
|
53
|
+
* Indexes: 'KS11'(코스피지수), 'KQ11'(코스닥지수), 'DJI'(다우존스지수), 'IXIC'(나스닥지수), 'US500'(S&P 500지수) ...
|
|
54
|
+
* Exchanges: 'USD/KRW', 'USD/EUR', 'CNY/KRW' ... (조합가능한 화폐별 환율 데이터 일자별 데이터)
|
|
55
|
+
* Cryptocurrency price data (암호화폐 가격 데이터): 'BTC/USD', 'ETH/KRW' ...
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
# Install
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
pip install finance-datareader
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
# Quick Start
|
|
65
|
+
지원하는 거래소: KRX(한국거래소), NYSE(뉴욕증권거래소), NASDAQ(나스닥), AMEX(아멕스), SSE(상해), SZSE(심천), HKEX(홍콩), TSE(도쿄)
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
|
|
69
|
+
import FinanceDataReader as fdr
|
|
70
|
+
|
|
71
|
+
# KOSPI Index 코스피 지수 데이터
|
|
72
|
+
df = fdr.DataReader('KS11', '2020') # 2020-01-01 ~ 현재
|
|
73
|
+
df = fdr.DataReader('KS11', '2022-01-01', '2022-12-31') # 2022-01-01 ~ 2022-12-31
|
|
74
|
+
|
|
75
|
+
# KRX Indices 국내 지수 데이터
|
|
76
|
+
df = fdr.DataReader('KS11') # KOSPI 지수 (KRX)
|
|
77
|
+
df = fdr.DataReader('KQ11') # KOSDAQ 지수 (KRX)
|
|
78
|
+
df = fdr.DataReader('KS200') # KOSPI 200 (KRX)
|
|
79
|
+
|
|
80
|
+
# US market Indices 미국 시장 지수 데이터
|
|
81
|
+
df = fdr.DataReader('DJI') # 다우존스 지수 (DJI - Dow Jones Industrial Average)
|
|
82
|
+
df = fdr.DataReader('IXIC') # 나스닥 종합지수 (IXIC - NASDAQ Composite)
|
|
83
|
+
df = fdr.DataReader('S&P500') # S&P500 지수 (NYSE)
|
|
84
|
+
df = fdr.DataReader('RUT') # 러셀2000 지수 (RUT - US Small Cap 2000)
|
|
85
|
+
df = fdr.DataReader('VIX') # VIX지수 (VIX - CBOE Volatility Index)
|
|
86
|
+
|
|
87
|
+
# Global Indices 글로벌 지수 데이터
|
|
88
|
+
df = fdr.DataReader('SSEC') # 상해 종합지수 Shanghai (SSEC -Shanghai Composite)
|
|
89
|
+
df = fdr.DataReader('HSI') # 항셍지수 (HSI - Hang Seng)
|
|
90
|
+
df = fdr.DataReader('N225') # 일본 닛케이지수 (N225 - Nikkei 225)
|
|
91
|
+
df = fdr.DataReader('FTSE') # 영국 FTSE100 (FTSE 100 - Financial Times Stock Exchange)
|
|
92
|
+
df = fdr.DataReader('FCHI') # 프랑스 FCHI 지수 (CAC 40 - CAC quarante)
|
|
93
|
+
df = fdr.DataReader('GDAXI') # 독일 닥스지수 (DAX30 - germany-30)
|
|
94
|
+
|
|
95
|
+
# KRX stock price 국내 시장 개별종목
|
|
96
|
+
df = fdr.DataReader('005930') # 삼성전자 전체 (1999년 ~ 현재)
|
|
97
|
+
df = fdr.DataReader('000660') # SK하이닉스 전체 (1999년 ~ 현재)
|
|
98
|
+
df = fdr.DataReader('068270') # 셀트리온 전체 (2004년 상장 ~ 현재)
|
|
99
|
+
|
|
100
|
+
# 여러 종목 종가(Close) 한번에
|
|
101
|
+
# 삼성전자(005930), SK하이닉스(000660), 기아(000270), 카카오(035720), KB금융(105560)
|
|
102
|
+
df = fdr.DataReader('005930,000660,000270,035720,105560', '2020') # 2020년 ~ 현재
|
|
103
|
+
|
|
104
|
+
# US stock price 미국 시장 개별종목
|
|
105
|
+
df = fdr.DataReader('AAPL', '2017') # Apple(AAPL), 2017-01-01 ~ 현재
|
|
106
|
+
df = fdr.DataReader('AMZN', '2017', '2019-12-31') # AMAZON(AMZN), 2017~2019 (3년)
|
|
107
|
+
df = fdr.DataReader('F', '1980-01-01', '2023-10-01') # Ford 자동차(F) (40년간)
|
|
108
|
+
|
|
109
|
+
# 여러종목 한번에 종가(Close) 데이터
|
|
110
|
+
df = fdr.DataReader('AAPL, TSLA, AMZN', '2020') # 애플, 테슬라, 아마존 (2020년 ~ 현재)
|
|
111
|
+
|
|
112
|
+
# 데이터 소스 지정하기
|
|
113
|
+
df = fdr.DataReader('KRX:000150', '2020-01-01') # 두산(000150) (한국거래소)
|
|
114
|
+
df = fdr.DataReader('NAVER:000150', '2020-01-01') # 두산(000150) (네이버 파이낸스)
|
|
115
|
+
df = fdr.DataReader('YAHOO:000150.KS', '2020-01-01') # 두산(000150) (야후 파이낸스)
|
|
116
|
+
|
|
117
|
+
# TSE (도쿄증권거래소)
|
|
118
|
+
df = fdr.DataReader('TSE:7203', '2020-01-01') # Toyota Motor Corp 토요타 자동차(7203)
|
|
119
|
+
df = fdr.DataReader('TSE:9984', '2020-01-01') # SoftBank Group Corp 소프트뱅크그룹(9984)
|
|
120
|
+
|
|
121
|
+
# HOSE (호치민증권거래소)
|
|
122
|
+
df = fdr.DataReader('HOSE:VCB', '2020-01-01') # 베트남 무역은행(VCB)
|
|
123
|
+
df = fdr.DataReader('HOSE:VIC') # Vingroup (JSC)
|
|
124
|
+
|
|
125
|
+
# 글로벌 동일한 종목코드 경우 거래소를 지정
|
|
126
|
+
df = fdr.DataReader('000150', '2020-01-01') # 두산:KRX 종목 (기본:네이버 파이낸스)
|
|
127
|
+
df = fdr.DataReader('KRX:000150', '2020-01-01') # 두산:KRX 종목 (한국거래소 데이터)
|
|
128
|
+
df = fdr.DataReader('SSE:000150', '2020-01-01') # SSE 380 Dividend Index (상하이 거래소)
|
|
129
|
+
|
|
130
|
+
# 상품 선물 가격 데이터
|
|
131
|
+
df = fdr.DataReader('CL=F') # WTI유 선물 Crude Oil (NYMEX)
|
|
132
|
+
df = fdr.DataReader('BZ=F') # 브렌트유 선물 Brent Oil (NYMEX)
|
|
133
|
+
df = fdr.DataReader('NG=F') # 천연가스 선물 (NYMEX)
|
|
134
|
+
df = fdr.DataReader('GC=F') # 금 선물 (COMEX)
|
|
135
|
+
df = fdr.DataReader('SI=F') # 은 선물 (COMEX)
|
|
136
|
+
df = fdr.DataReader('HG=F') # 구리 선물 (COMEX)
|
|
137
|
+
|
|
138
|
+
# 환율: 여러 조합 가능(지원 심볼: ['KRW', 'EUR', 'CNY', 'JPY', 'CHF'])
|
|
139
|
+
df = fdr.DataReader('USD/KRW') # 달러 원화
|
|
140
|
+
df = fdr.DataReader('USD/EUR') # 달러 유로화
|
|
141
|
+
df = fdr.DataReader('USD/CNY') # 달러 위엔화
|
|
142
|
+
df = fdr.DataReader('CNY/KRW') # 위엔화 원화
|
|
143
|
+
df = fdr.DataReader('EUR/CNY') # 유로화 위엔화
|
|
144
|
+
|
|
145
|
+
# 암호화폐 가격 데이터 (원화, 달러)
|
|
146
|
+
# (지원 심볼: ['BTC', 'ETH', 'USDT', 'BNB', 'USDC', 'XRP', 'BUSD', 'ADA', 'SOL', 'DOGE'])
|
|
147
|
+
df = fdr.DataReader('BTC/KRW') # 비트코인/원화
|
|
148
|
+
df = fdr.DataReader('ETH/KRW') # 이더리움/원화
|
|
149
|
+
df = fdr.DataReader('BTC/USD') # 비트코인/달러
|
|
150
|
+
df = fdr.DataReader('ETH/USD') # 이더리움/달러
|
|
151
|
+
|
|
152
|
+
# KRX delisting stock data 상장폐지 종목 전체 가격 데이터
|
|
153
|
+
df = fdr.DataReader('KRX-DELISTING:036360') # 3SOFT(036360)
|
|
154
|
+
|
|
155
|
+
# 미국 국채 채권 수익률
|
|
156
|
+
df = fdr.DataReader('US5YT') # 5년 만기 미국국채 수익률
|
|
157
|
+
df = fdr.DataReader('US10YT') # 10년 만기 미국국채 수익률
|
|
158
|
+
df = fdr.DataReader('US30YT') # 30년 만기 미국국채 수익률
|
|
159
|
+
|
|
160
|
+
# 종목 리스팅 (종목수는 2022년 10월 25일 기준, 시장 규모 가늠 용도)
|
|
161
|
+
# KRX 상장회사(발행회사)목록 (가격 중심, 주식 종목) - 시가총액순
|
|
162
|
+
stocks = fdr.StockListing('KRX') # KRX: 2,663 종목(=코스피+코스닥+코넥스)
|
|
163
|
+
stocks = fdr.StockListing('KOSPI') # KOSPI: 940 종목
|
|
164
|
+
stocks = fdr.StockListing('KOSDAQ') # KOSDAQ: 1,597 종목
|
|
165
|
+
stocks = fdr.StockListing('KONEX') # KONEX: 126 종목
|
|
166
|
+
|
|
167
|
+
## KRX 전종목 목록 (설명 중심, 주식+펀드등 전종목)
|
|
168
|
+
stocks = fdr.StockListing('KRX-DESC') # 한국거래소: 7,632 종목
|
|
169
|
+
stocks = fdr.StockListing('KOSPI-DESC') # KOSPI: 5,897 종목
|
|
170
|
+
stocks = fdr.StockListing('KOSDAQ-DESC') # KOSDAQ: 1,609 종목
|
|
171
|
+
stocks = fdr.StockListing('KONEX-DESC') # KONEX: 126 종목
|
|
172
|
+
|
|
173
|
+
## KRX 특수 종목 리스팅 (상장폐지 종목, 관리종목)
|
|
174
|
+
stocks = fdr.StockListing('KRX-DELISTING') # 3천+ 종목 - 상장폐지 종목 전체
|
|
175
|
+
stocks = fdr.StockListing('KRX-ADMIN') # 50+ 종목 - KRX 관리종목
|
|
176
|
+
|
|
177
|
+
## US Market listings 미국 시장 거래소별 전종목 리스팅
|
|
178
|
+
stocks = fdr.StockListing('S&P500') # S&P500: 503 종목
|
|
179
|
+
stocks = fdr.StockListing('NASDAQ') # 나스닥 (NASDAQ): 4천+ 종목
|
|
180
|
+
stocks = fdr.StockListing('NYSE') # 뉴욕증권거래소 (NYSE): 3천+ 종목
|
|
181
|
+
|
|
182
|
+
## Global Market listings 글로벌 시장 거래소별 전종목 리스팅
|
|
183
|
+
stocks = fdr.StockListing('SSE') # 상하이 증권거래소 (Shanghai Stock Exchange: SSE): 1천+ 종목
|
|
184
|
+
stocks = fdr.StockListing('SZSE') # 선전 증권거래소(Shenzhen Stock Exchange: SZSE): 1천+ 종목
|
|
185
|
+
stocks = fdr.StockListing('HKEX') # 홍콩 증권거래소(Hong Kong Exchange: HKEX): 2천5백+ 종목
|
|
186
|
+
stocks = fdr.StockListing('TSE') # 도쿄 증권거래소(Tokyo Stock Exchange: TSE): 3천9백+ 종목
|
|
187
|
+
stocks = fdr.StockListing('HOSE') # 호찌민 증권거래소(Ho Chi Minh City Stock Exchange: HOSE): 4백+ 종목
|
|
188
|
+
|
|
189
|
+
## KRX ETFs
|
|
190
|
+
etfs = fdr.StockListing('ETF/KR') # 한국 ETF 전종목
|
|
191
|
+
|
|
192
|
+
# FRED 데이터
|
|
193
|
+
df = fdr.DataReader('FRED:M2') # M2 통화량
|
|
194
|
+
df = fdr.DataReader('FRED:NASDAQCOM') # NASDAQCOM 나스닥종합지수
|
|
195
|
+
df = fdr.DataReader('FRED:T10Y2Y') # 미국 장단기금리차 (1980년 ~)
|
|
196
|
+
|
|
197
|
+
## 달러 인덱스
|
|
198
|
+
df = fdr.DataReader('^NYICDX') # ICE U.S. Dollar Index (^NYICDX) 달러인덱스 (1980~현재)
|
|
199
|
+
|
|
200
|
+
## FRED 데이터 여러 항목 한번에
|
|
201
|
+
df = fdr.DataReader('FRED:M2,HSN1F,NASDAQCOM') # M2 통화량, HSN1F 주택판매지수, NASDAQCOM 나스닥종합지수
|
|
202
|
+
|
|
203
|
+
## KRX지수및 지수 구 성종목
|
|
204
|
+
df = fdr.SnapDataReader('KRX/INDEX/LIST') # KRX 전체 지수목록
|
|
205
|
+
|
|
206
|
+
df = fdr.SnapDataReader('KRX/INDEX/STOCK/1001') # KOSPI 지수구성종목
|
|
207
|
+
df = fdr.SnapDataReader('KRX/INDEX/STOCK/1028') # 코스피 200
|
|
208
|
+
df = fdr.SnapDataReader('KRX/INDEX/STOCK/5106') # KRX ESG Leaders 150 테마 지수 구성종목
|
|
209
|
+
|
|
210
|
+
## 재무제표
|
|
211
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE/005930') # 연간 주재무제표
|
|
212
|
+
|
|
213
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-Y/005930') # 연간 주재무(='NAVER/FINSTATE-2Y/005930')
|
|
214
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-1Y/005930') # 연간 K-IFRS 별도
|
|
215
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-2Y/005930') # 연간 K-IFRS 연결
|
|
216
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-3Y/005930') # 연간 K-GAAP 개별
|
|
217
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-4Y/005930') # 연간 K-GAAP 연결
|
|
218
|
+
|
|
219
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-Q/005930') # 분기 주재무(='NAVER/FINSTATE-2Q/005930')
|
|
220
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-1Q/005930') # 분기 K-IFRS 별도
|
|
221
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-2Q/005930') # 분기 K-IFRS 연결
|
|
222
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-3Q/005930') # 분기 K-GAAP 개별
|
|
223
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-4Q/005930') # 분기 K-GAAP 연결
|
|
224
|
+
|
|
225
|
+
## 데이터 소스 지정
|
|
226
|
+
# 지정하지 않은 경우 (NAVER에서 가져오며 2000년 이후 데이터)
|
|
227
|
+
fdr.DataReader('000100') # (기간 지정 하지 않은 경우)
|
|
228
|
+
fdr.DataReader('000100', '2023') # 2023년 ~ 현재까지 가격 데이터
|
|
229
|
+
fdr.DataReader('000100', '2023', '2024') # 2023년 데이터
|
|
230
|
+
|
|
231
|
+
# KRX (2000년 이전 데이터 가능, 상세한 추가 필드)
|
|
232
|
+
fdr.DataReader('KRX:000100') # 1995-05-02 ~ 현재 (2년단위로 가져와 합쳐서 반환)
|
|
233
|
+
fdr.DataReader('KRX:000100', '2020') # 2020년 ~ 현재까지 가격 데이터
|
|
234
|
+
fdr.DataReader('KRX:000100', '1900') # 최대 데이터 (1995-05-02 ~ 현재까지)
|
|
235
|
+
fdr.DataReader('KRX:000100', '2023-09-23', '2024-12-31') # (기간 지정) 2년 단위로 가져와 병합
|
|
236
|
+
|
|
237
|
+
# NAVER (2000년 이후 데이터)
|
|
238
|
+
fdr.DataReader('NAVER:000100') # 2000년~현재 데이터
|
|
239
|
+
fdr.DataReader('NAVER:000100', '2023') # 2023년 ~ 현재까지 가격 데이터
|
|
240
|
+
fdr.DataReader('NAVER:000100', '2023', '2024') # 2023년 데이터
|
|
241
|
+
|
|
242
|
+
# YAHOO
|
|
243
|
+
fdr.DataReader('YAHOO:000100.KS') # 2000년 이후 데이터
|
|
244
|
+
fdr.DataReader('YAHOO:000100.KS', '2023') # 2023년 ~ 현재까지 가격 데이터
|
|
245
|
+
fdr.DataReader('YAHOO:000100.KS', '2023', '2024') # 2023년 데이터
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Using FinanceDataReader
|
|
249
|
+
* [Users-Guide](https://github.com/FinanceData/FinanceDataReader/wiki/Users-Guide)
|
|
250
|
+
* [Quick-Reference (Symbol List)](https://github.com/FinanceData/FinanceDataReader/wiki/Quick-Reference)
|
|
251
|
+
|
|
252
|
+
## Tutorials
|
|
253
|
+
* [FRED 주요 경기 선행 지표](https://financedata.notion.site/FRED-FinanceDataReader-bfb0779c50254b138cb96416583130b9?pvs=4)
|
|
254
|
+
* [여러 종목 가격을 한번에](https://financedata.notion.site/FinanceDataReader-d976a299889143519793bcc45e491a73?pvs=4)
|
|
255
|
+
|
|
256
|
+
## FinanceDataReader Notebooks
|
|
257
|
+
* [S&P500 가격 데이터 수집과 수익률 분석](https://nbviewer.jupyter.org/710b8f0a4bd9a8df91ae1be6c7e838b1)
|
|
258
|
+
* [S&P500 팩터 데이터 수집과 분석](https://nbviewer.jupyter.org/35a1b0d5248bc9b09513e53be437ac42)
|
|
259
|
+
|
|
260
|
+
**2018-2025 [FinanceData.KR]()**
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# FinanceDataReader
|
|
2
|
+
Open Source Financial data reader
|
|
3
|
+
|
|
4
|
+
**2018-2025 [FinanceData.KR]()**
|
|
5
|
+
|
|
6
|
+
# Overview
|
|
7
|
+
The FinanceDataReader is financial data reader(crawler) for finance. <br>
|
|
8
|
+
The main functions are as follows.
|
|
9
|
+
|
|
10
|
+
* KRX Stock listings (시장별 상장 종목 리스팅): 'KRX', 'KOSPI', 'KODAQ', 'KONEX'
|
|
11
|
+
* Global Stock Symbol listings(해외 거래소 상장 종목 리스팅): 'NASDAQ', 'NYSE', 'AMEX', 'S&P500', 'SSE'(상해), 'SZSE'(심천), 'HKEX'(홍콩), 'TSE'(도쿄)
|
|
12
|
+
* KRX delistings: 'KRX-DELISTING'(상장폐지종목), 'KRX-ADMINISTRATIVE' (관리종목), 'KRX-MARCAP'(시가총액)
|
|
13
|
+
* ETF Symbol listings: 'ETF/KR'
|
|
14
|
+
* Stock price(개별종목 가격 데이터): '005930'(Samsung), '091990'(Celltrion Healthcare) ...
|
|
15
|
+
* Stock price(해외 거래소 개별종목 가격 데이터): 'AAPL', 'AMZN', 'GOOG' ... (you can specify exchange(market) and symbol)
|
|
16
|
+
* Indexes: 'KS11'(코스피지수), 'KQ11'(코스닥지수), 'DJI'(다우존스지수), 'IXIC'(나스닥지수), 'US500'(S&P 500지수) ...
|
|
17
|
+
* Exchanges: 'USD/KRW', 'USD/EUR', 'CNY/KRW' ... (조합가능한 화폐별 환율 데이터 일자별 데이터)
|
|
18
|
+
* Cryptocurrency price data (암호화폐 가격 데이터): 'BTC/USD', 'ETH/KRW' ...
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# Install
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install finance-datareader
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
# Quick Start
|
|
28
|
+
지원하는 거래소: KRX(한국거래소), NYSE(뉴욕증권거래소), NASDAQ(나스닥), AMEX(아멕스), SSE(상해), SZSE(심천), HKEX(홍콩), TSE(도쿄)
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
|
|
32
|
+
import FinanceDataReader as fdr
|
|
33
|
+
|
|
34
|
+
# KOSPI Index 코스피 지수 데이터
|
|
35
|
+
df = fdr.DataReader('KS11', '2020') # 2020-01-01 ~ 현재
|
|
36
|
+
df = fdr.DataReader('KS11', '2022-01-01', '2022-12-31') # 2022-01-01 ~ 2022-12-31
|
|
37
|
+
|
|
38
|
+
# KRX Indices 국내 지수 데이터
|
|
39
|
+
df = fdr.DataReader('KS11') # KOSPI 지수 (KRX)
|
|
40
|
+
df = fdr.DataReader('KQ11') # KOSDAQ 지수 (KRX)
|
|
41
|
+
df = fdr.DataReader('KS200') # KOSPI 200 (KRX)
|
|
42
|
+
|
|
43
|
+
# US market Indices 미국 시장 지수 데이터
|
|
44
|
+
df = fdr.DataReader('DJI') # 다우존스 지수 (DJI - Dow Jones Industrial Average)
|
|
45
|
+
df = fdr.DataReader('IXIC') # 나스닥 종합지수 (IXIC - NASDAQ Composite)
|
|
46
|
+
df = fdr.DataReader('S&P500') # S&P500 지수 (NYSE)
|
|
47
|
+
df = fdr.DataReader('RUT') # 러셀2000 지수 (RUT - US Small Cap 2000)
|
|
48
|
+
df = fdr.DataReader('VIX') # VIX지수 (VIX - CBOE Volatility Index)
|
|
49
|
+
|
|
50
|
+
# Global Indices 글로벌 지수 데이터
|
|
51
|
+
df = fdr.DataReader('SSEC') # 상해 종합지수 Shanghai (SSEC -Shanghai Composite)
|
|
52
|
+
df = fdr.DataReader('HSI') # 항셍지수 (HSI - Hang Seng)
|
|
53
|
+
df = fdr.DataReader('N225') # 일본 닛케이지수 (N225 - Nikkei 225)
|
|
54
|
+
df = fdr.DataReader('FTSE') # 영국 FTSE100 (FTSE 100 - Financial Times Stock Exchange)
|
|
55
|
+
df = fdr.DataReader('FCHI') # 프랑스 FCHI 지수 (CAC 40 - CAC quarante)
|
|
56
|
+
df = fdr.DataReader('GDAXI') # 독일 닥스지수 (DAX30 - germany-30)
|
|
57
|
+
|
|
58
|
+
# KRX stock price 국내 시장 개별종목
|
|
59
|
+
df = fdr.DataReader('005930') # 삼성전자 전체 (1999년 ~ 현재)
|
|
60
|
+
df = fdr.DataReader('000660') # SK하이닉스 전체 (1999년 ~ 현재)
|
|
61
|
+
df = fdr.DataReader('068270') # 셀트리온 전체 (2004년 상장 ~ 현재)
|
|
62
|
+
|
|
63
|
+
# 여러 종목 종가(Close) 한번에
|
|
64
|
+
# 삼성전자(005930), SK하이닉스(000660), 기아(000270), 카카오(035720), KB금융(105560)
|
|
65
|
+
df = fdr.DataReader('005930,000660,000270,035720,105560', '2020') # 2020년 ~ 현재
|
|
66
|
+
|
|
67
|
+
# US stock price 미국 시장 개별종목
|
|
68
|
+
df = fdr.DataReader('AAPL', '2017') # Apple(AAPL), 2017-01-01 ~ 현재
|
|
69
|
+
df = fdr.DataReader('AMZN', '2017', '2019-12-31') # AMAZON(AMZN), 2017~2019 (3년)
|
|
70
|
+
df = fdr.DataReader('F', '1980-01-01', '2023-10-01') # Ford 자동차(F) (40년간)
|
|
71
|
+
|
|
72
|
+
# 여러종목 한번에 종가(Close) 데이터
|
|
73
|
+
df = fdr.DataReader('AAPL, TSLA, AMZN', '2020') # 애플, 테슬라, 아마존 (2020년 ~ 현재)
|
|
74
|
+
|
|
75
|
+
# 데이터 소스 지정하기
|
|
76
|
+
df = fdr.DataReader('KRX:000150', '2020-01-01') # 두산(000150) (한국거래소)
|
|
77
|
+
df = fdr.DataReader('NAVER:000150', '2020-01-01') # 두산(000150) (네이버 파이낸스)
|
|
78
|
+
df = fdr.DataReader('YAHOO:000150.KS', '2020-01-01') # 두산(000150) (야후 파이낸스)
|
|
79
|
+
|
|
80
|
+
# TSE (도쿄증권거래소)
|
|
81
|
+
df = fdr.DataReader('TSE:7203', '2020-01-01') # Toyota Motor Corp 토요타 자동차(7203)
|
|
82
|
+
df = fdr.DataReader('TSE:9984', '2020-01-01') # SoftBank Group Corp 소프트뱅크그룹(9984)
|
|
83
|
+
|
|
84
|
+
# HOSE (호치민증권거래소)
|
|
85
|
+
df = fdr.DataReader('HOSE:VCB', '2020-01-01') # 베트남 무역은행(VCB)
|
|
86
|
+
df = fdr.DataReader('HOSE:VIC') # Vingroup (JSC)
|
|
87
|
+
|
|
88
|
+
# 글로벌 동일한 종목코드 경우 거래소를 지정
|
|
89
|
+
df = fdr.DataReader('000150', '2020-01-01') # 두산:KRX 종목 (기본:네이버 파이낸스)
|
|
90
|
+
df = fdr.DataReader('KRX:000150', '2020-01-01') # 두산:KRX 종목 (한국거래소 데이터)
|
|
91
|
+
df = fdr.DataReader('SSE:000150', '2020-01-01') # SSE 380 Dividend Index (상하이 거래소)
|
|
92
|
+
|
|
93
|
+
# 상품 선물 가격 데이터
|
|
94
|
+
df = fdr.DataReader('CL=F') # WTI유 선물 Crude Oil (NYMEX)
|
|
95
|
+
df = fdr.DataReader('BZ=F') # 브렌트유 선물 Brent Oil (NYMEX)
|
|
96
|
+
df = fdr.DataReader('NG=F') # 천연가스 선물 (NYMEX)
|
|
97
|
+
df = fdr.DataReader('GC=F') # 금 선물 (COMEX)
|
|
98
|
+
df = fdr.DataReader('SI=F') # 은 선물 (COMEX)
|
|
99
|
+
df = fdr.DataReader('HG=F') # 구리 선물 (COMEX)
|
|
100
|
+
|
|
101
|
+
# 환율: 여러 조합 가능(지원 심볼: ['KRW', 'EUR', 'CNY', 'JPY', 'CHF'])
|
|
102
|
+
df = fdr.DataReader('USD/KRW') # 달러 원화
|
|
103
|
+
df = fdr.DataReader('USD/EUR') # 달러 유로화
|
|
104
|
+
df = fdr.DataReader('USD/CNY') # 달러 위엔화
|
|
105
|
+
df = fdr.DataReader('CNY/KRW') # 위엔화 원화
|
|
106
|
+
df = fdr.DataReader('EUR/CNY') # 유로화 위엔화
|
|
107
|
+
|
|
108
|
+
# 암호화폐 가격 데이터 (원화, 달러)
|
|
109
|
+
# (지원 심볼: ['BTC', 'ETH', 'USDT', 'BNB', 'USDC', 'XRP', 'BUSD', 'ADA', 'SOL', 'DOGE'])
|
|
110
|
+
df = fdr.DataReader('BTC/KRW') # 비트코인/원화
|
|
111
|
+
df = fdr.DataReader('ETH/KRW') # 이더리움/원화
|
|
112
|
+
df = fdr.DataReader('BTC/USD') # 비트코인/달러
|
|
113
|
+
df = fdr.DataReader('ETH/USD') # 이더리움/달러
|
|
114
|
+
|
|
115
|
+
# KRX delisting stock data 상장폐지 종목 전체 가격 데이터
|
|
116
|
+
df = fdr.DataReader('KRX-DELISTING:036360') # 3SOFT(036360)
|
|
117
|
+
|
|
118
|
+
# 미국 국채 채권 수익률
|
|
119
|
+
df = fdr.DataReader('US5YT') # 5년 만기 미국국채 수익률
|
|
120
|
+
df = fdr.DataReader('US10YT') # 10년 만기 미국국채 수익률
|
|
121
|
+
df = fdr.DataReader('US30YT') # 30년 만기 미국국채 수익률
|
|
122
|
+
|
|
123
|
+
# 종목 리스팅 (종목수는 2022년 10월 25일 기준, 시장 규모 가늠 용도)
|
|
124
|
+
# KRX 상장회사(발행회사)목록 (가격 중심, 주식 종목) - 시가총액순
|
|
125
|
+
stocks = fdr.StockListing('KRX') # KRX: 2,663 종목(=코스피+코스닥+코넥스)
|
|
126
|
+
stocks = fdr.StockListing('KOSPI') # KOSPI: 940 종목
|
|
127
|
+
stocks = fdr.StockListing('KOSDAQ') # KOSDAQ: 1,597 종목
|
|
128
|
+
stocks = fdr.StockListing('KONEX') # KONEX: 126 종목
|
|
129
|
+
|
|
130
|
+
## KRX 전종목 목록 (설명 중심, 주식+펀드등 전종목)
|
|
131
|
+
stocks = fdr.StockListing('KRX-DESC') # 한국거래소: 7,632 종목
|
|
132
|
+
stocks = fdr.StockListing('KOSPI-DESC') # KOSPI: 5,897 종목
|
|
133
|
+
stocks = fdr.StockListing('KOSDAQ-DESC') # KOSDAQ: 1,609 종목
|
|
134
|
+
stocks = fdr.StockListing('KONEX-DESC') # KONEX: 126 종목
|
|
135
|
+
|
|
136
|
+
## KRX 특수 종목 리스팅 (상장폐지 종목, 관리종목)
|
|
137
|
+
stocks = fdr.StockListing('KRX-DELISTING') # 3천+ 종목 - 상장폐지 종목 전체
|
|
138
|
+
stocks = fdr.StockListing('KRX-ADMIN') # 50+ 종목 - KRX 관리종목
|
|
139
|
+
|
|
140
|
+
## US Market listings 미국 시장 거래소별 전종목 리스팅
|
|
141
|
+
stocks = fdr.StockListing('S&P500') # S&P500: 503 종목
|
|
142
|
+
stocks = fdr.StockListing('NASDAQ') # 나스닥 (NASDAQ): 4천+ 종목
|
|
143
|
+
stocks = fdr.StockListing('NYSE') # 뉴욕증권거래소 (NYSE): 3천+ 종목
|
|
144
|
+
|
|
145
|
+
## Global Market listings 글로벌 시장 거래소별 전종목 리스팅
|
|
146
|
+
stocks = fdr.StockListing('SSE') # 상하이 증권거래소 (Shanghai Stock Exchange: SSE): 1천+ 종목
|
|
147
|
+
stocks = fdr.StockListing('SZSE') # 선전 증권거래소(Shenzhen Stock Exchange: SZSE): 1천+ 종목
|
|
148
|
+
stocks = fdr.StockListing('HKEX') # 홍콩 증권거래소(Hong Kong Exchange: HKEX): 2천5백+ 종목
|
|
149
|
+
stocks = fdr.StockListing('TSE') # 도쿄 증권거래소(Tokyo Stock Exchange: TSE): 3천9백+ 종목
|
|
150
|
+
stocks = fdr.StockListing('HOSE') # 호찌민 증권거래소(Ho Chi Minh City Stock Exchange: HOSE): 4백+ 종목
|
|
151
|
+
|
|
152
|
+
## KRX ETFs
|
|
153
|
+
etfs = fdr.StockListing('ETF/KR') # 한국 ETF 전종목
|
|
154
|
+
|
|
155
|
+
# FRED 데이터
|
|
156
|
+
df = fdr.DataReader('FRED:M2') # M2 통화량
|
|
157
|
+
df = fdr.DataReader('FRED:NASDAQCOM') # NASDAQCOM 나스닥종합지수
|
|
158
|
+
df = fdr.DataReader('FRED:T10Y2Y') # 미국 장단기금리차 (1980년 ~)
|
|
159
|
+
|
|
160
|
+
## 달러 인덱스
|
|
161
|
+
df = fdr.DataReader('^NYICDX') # ICE U.S. Dollar Index (^NYICDX) 달러인덱스 (1980~현재)
|
|
162
|
+
|
|
163
|
+
## FRED 데이터 여러 항목 한번에
|
|
164
|
+
df = fdr.DataReader('FRED:M2,HSN1F,NASDAQCOM') # M2 통화량, HSN1F 주택판매지수, NASDAQCOM 나스닥종합지수
|
|
165
|
+
|
|
166
|
+
## KRX지수및 지수 구 성종목
|
|
167
|
+
df = fdr.SnapDataReader('KRX/INDEX/LIST') # KRX 전체 지수목록
|
|
168
|
+
|
|
169
|
+
df = fdr.SnapDataReader('KRX/INDEX/STOCK/1001') # KOSPI 지수구성종목
|
|
170
|
+
df = fdr.SnapDataReader('KRX/INDEX/STOCK/1028') # 코스피 200
|
|
171
|
+
df = fdr.SnapDataReader('KRX/INDEX/STOCK/5106') # KRX ESG Leaders 150 테마 지수 구성종목
|
|
172
|
+
|
|
173
|
+
## 재무제표
|
|
174
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE/005930') # 연간 주재무제표
|
|
175
|
+
|
|
176
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-Y/005930') # 연간 주재무(='NAVER/FINSTATE-2Y/005930')
|
|
177
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-1Y/005930') # 연간 K-IFRS 별도
|
|
178
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-2Y/005930') # 연간 K-IFRS 연결
|
|
179
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-3Y/005930') # 연간 K-GAAP 개별
|
|
180
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-4Y/005930') # 연간 K-GAAP 연결
|
|
181
|
+
|
|
182
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-Q/005930') # 분기 주재무(='NAVER/FINSTATE-2Q/005930')
|
|
183
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-1Q/005930') # 분기 K-IFRS 별도
|
|
184
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-2Q/005930') # 분기 K-IFRS 연결
|
|
185
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-3Q/005930') # 분기 K-GAAP 개별
|
|
186
|
+
fs = fdr.SnapDataReader('NAVER/FINSTATE-4Q/005930') # 분기 K-GAAP 연결
|
|
187
|
+
|
|
188
|
+
## 데이터 소스 지정
|
|
189
|
+
# 지정하지 않은 경우 (NAVER에서 가져오며 2000년 이후 데이터)
|
|
190
|
+
fdr.DataReader('000100') # (기간 지정 하지 않은 경우)
|
|
191
|
+
fdr.DataReader('000100', '2023') # 2023년 ~ 현재까지 가격 데이터
|
|
192
|
+
fdr.DataReader('000100', '2023', '2024') # 2023년 데이터
|
|
193
|
+
|
|
194
|
+
# KRX (2000년 이전 데이터 가능, 상세한 추가 필드)
|
|
195
|
+
fdr.DataReader('KRX:000100') # 1995-05-02 ~ 현재 (2년단위로 가져와 합쳐서 반환)
|
|
196
|
+
fdr.DataReader('KRX:000100', '2020') # 2020년 ~ 현재까지 가격 데이터
|
|
197
|
+
fdr.DataReader('KRX:000100', '1900') # 최대 데이터 (1995-05-02 ~ 현재까지)
|
|
198
|
+
fdr.DataReader('KRX:000100', '2023-09-23', '2024-12-31') # (기간 지정) 2년 단위로 가져와 병합
|
|
199
|
+
|
|
200
|
+
# NAVER (2000년 이후 데이터)
|
|
201
|
+
fdr.DataReader('NAVER:000100') # 2000년~현재 데이터
|
|
202
|
+
fdr.DataReader('NAVER:000100', '2023') # 2023년 ~ 현재까지 가격 데이터
|
|
203
|
+
fdr.DataReader('NAVER:000100', '2023', '2024') # 2023년 데이터
|
|
204
|
+
|
|
205
|
+
# YAHOO
|
|
206
|
+
fdr.DataReader('YAHOO:000100.KS') # 2000년 이후 데이터
|
|
207
|
+
fdr.DataReader('YAHOO:000100.KS', '2023') # 2023년 ~ 현재까지 가격 데이터
|
|
208
|
+
fdr.DataReader('YAHOO:000100.KS', '2023', '2024') # 2023년 데이터
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Using FinanceDataReader
|
|
212
|
+
* [Users-Guide](https://github.com/FinanceData/FinanceDataReader/wiki/Users-Guide)
|
|
213
|
+
* [Quick-Reference (Symbol List)](https://github.com/FinanceData/FinanceDataReader/wiki/Quick-Reference)
|
|
214
|
+
|
|
215
|
+
## Tutorials
|
|
216
|
+
* [FRED 주요 경기 선행 지표](https://financedata.notion.site/FRED-FinanceDataReader-bfb0779c50254b138cb96416583130b9?pvs=4)
|
|
217
|
+
* [여러 종목 가격을 한번에](https://financedata.notion.site/FinanceDataReader-d976a299889143519793bcc45e491a73?pvs=4)
|
|
218
|
+
|
|
219
|
+
## FinanceDataReader Notebooks
|
|
220
|
+
* [S&P500 가격 데이터 수집과 수익률 분석](https://nbviewer.jupyter.org/710b8f0a4bd9a8df91ae1be6c7e838b1)
|
|
221
|
+
* [S&P500 팩터 데이터 수집과 분석](https://nbviewer.jupyter.org/35a1b0d5248bc9b09513e53be437ac42)
|
|
222
|
+
|
|
223
|
+
**2018-2025 [FinanceData.KR]()**
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "finance-datareader"
|
|
3
|
+
dynamic = ["version"]
|
|
4
|
+
description = "Financial data reader (price, stock list of markets)"
|
|
5
|
+
maintainers = [{ name = "FinanceData.KR", email = "plusjune@financedata.kr" }]
|
|
6
|
+
authors = [{ name = "FinanceData.KR", email = "plusjune@financedata.kr" }]
|
|
7
|
+
readme = "README.md"
|
|
8
|
+
license = { text = "MIT License" }
|
|
9
|
+
keywords = ["data", "finance"]
|
|
10
|
+
classifiers = [
|
|
11
|
+
"Operating System :: OS Independent",
|
|
12
|
+
"Development Status :: 5 - Production/Stable",
|
|
13
|
+
"License :: OSI Approved :: MIT License",
|
|
14
|
+
"Programming Language :: Cython",
|
|
15
|
+
"Programming Language :: Python",
|
|
16
|
+
"Programming Language :: Python :: 3",
|
|
17
|
+
"Programming Language :: Python :: 3.9",
|
|
18
|
+
"Programming Language :: Python :: 3.10",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
]
|
|
22
|
+
requires-python = ">= 3.9"
|
|
23
|
+
dependencies = [
|
|
24
|
+
"pandas>=1.1.0",
|
|
25
|
+
"requests>=2.3.0",
|
|
26
|
+
"requests-file",
|
|
27
|
+
"lxml",
|
|
28
|
+
"tqdm",
|
|
29
|
+
"beautifulsoup4",
|
|
30
|
+
"plotly",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
[project.urls]
|
|
34
|
+
Repository = "https://github.com/financedata/financedatareader"
|
|
35
|
+
|
|
36
|
+
[project.optional-dependencies]
|
|
37
|
+
notebook = ["ipykernel", "nbformat>=4.2.0"]
|
|
38
|
+
test = ["pytest"]
|
|
39
|
+
docs = ["sphinx"]
|
|
40
|
+
|
|
41
|
+
[dependency-groups]
|
|
42
|
+
dev = [
|
|
43
|
+
"finance-datareader[notebook,test]",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
[tool.uv]
|
|
47
|
+
managed = true
|
|
48
|
+
default-groups = ["dev"]
|
|
49
|
+
|
|
50
|
+
[build-system]
|
|
51
|
+
requires = ["hatchling"]
|
|
52
|
+
build-backend = "hatchling.build"
|
|
53
|
+
|
|
54
|
+
[tool.hatch.version]
|
|
55
|
+
path = "src/FinanceDataReader/__init__.py"
|
|
56
|
+
|
|
57
|
+
[tool.hatch.build.targets.wheel]
|
|
58
|
+
packages = ["src/FinanceDataReader"]
|
|
59
|
+
|
|
60
|
+
[tool.hatch.build.targets.sdist]
|
|
61
|
+
include = [
|
|
62
|
+
"src/FinanceDataReader",
|
|
63
|
+
"README.md",
|
|
64
|
+
"LICENSE.txt", # FIXME
|
|
65
|
+
]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from .data import (DataReader)
|
|
2
|
+
from .data import (SnapDataReader)
|
|
3
|
+
from .data import (StockListing)
|
|
4
|
+
from .data import (EtfListing)
|
|
5
|
+
from .chart import (plot)
|
|
6
|
+
|
|
7
|
+
__version__ = '0.9.100'
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
'__version__',
|
|
11
|
+
'DataReader',
|
|
12
|
+
'SnapDataReader',
|
|
13
|
+
'StockListing',
|
|
14
|
+
'EtfListing',
|
|
15
|
+
'chart'
|
|
16
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
import pandas as pd
|
|
4
|
+
|
|
5
|
+
def _convert_letter_to_num(str_num):
|
|
6
|
+
powers = {'B': 10 ** 9, 'M': 10 ** 6, 'K': 10 ** 3, '': 1}
|
|
7
|
+
m = re.search(r"([0-9\.]+)(M|B|K|)", str_num)
|
|
8
|
+
if m:
|
|
9
|
+
val = m.group(1)
|
|
10
|
+
mag = m.group(2)
|
|
11
|
+
return float(val) * powers[mag]
|
|
12
|
+
return 0.0
|
|
13
|
+
|
|
14
|
+
def _validate_dates(start, end):
|
|
15
|
+
start = pd.to_datetime(start) if start else datetime(1980, 1, 1)
|
|
16
|
+
end = pd.to_datetime(end) if end else datetime.today()
|
|
17
|
+
return start, end
|