Code Monkey home page Code Monkey logo

financedatareader's Introduction

FinanceDataReader

FinanceData.KR Open Source Financial data reader

2018-2023 FinanceData.KR

Overview

The FinanceDataReader is financial data reader(crawler) for finance.
The main functions are as follows.

  • KRX Stock listings (시장별 상장 종목 리스팅): 'KRX', 'KOSPI', 'KODAQ', 'KONEX'
  • Global Stock Symbol listings(해외 거래소 상장 종목 리스팅): 'NASDAQ', 'NYSE', 'AMEX', 'S&P500', 'SSE'(상해), 'SZSE'(심천), 'HKEX'(홍콩), 'TSE'(도쿄)
  • KRX delistings: 'KRX-DELISTING'(상장폐지종목), 'KRX-ADMINISTRATIVE' (관리종목), 'KRX-MARCAP'(시가총액)
  • ETF Symbol listings: 'ETF/KR'
  • Stock price(개별종목 가격 데이터): '005930'(Samsung), '091990'(Celltrion Healthcare) ...
  • Stock price(해외 거래소 개별종목 가격 데이터): 'AAPL', 'AMZN', 'GOOG' ... (you can specify exchange(market) and symbol)
  • Indexes: 'KS11'(코스피지수), 'KQ11'(코스닥지수), 'DJI'(다우존스지수), 'IXIC'(나스닥지수), 'US500'(S&P 500지수) ...
  • Exchanges: 'USD/KRW', 'USD/EUR', 'CNY/KRW' ... (조합가능한 화폐별 환율 데이터 일자별 데이터)
  • Cryptocurrency price data (암호화폐 가격 데이터): 'BTC/USD', 'ETH/KRW' ...

Install

pip install finance-datareader

Quick Start

지원하는 거래소: KRX(한국거래소), NYSE(뉴욕증권거래소), NASDAQ(나스닥), AMEX(아멕스), SSE(상해), SZSE(심천), HKEX(홍콩), TSE(도쿄)

import FinanceDataReader as fdr

# KOSPI Index 코스피 지수 데이터 
df = fdr.DataReader('KS11', '2020') # 2020-01-01 ~ 현재
df = fdr.DataReader('KS11', '2022-01-01', '2022-12-31') # 2022-01-01 ~ 2022-12-31

# KRX Indices 국내 지수 데이터
df = fdr.DataReader('KS11') # KOSPI 지수 (KRX)
df = fdr.DataReader('KQ11') # KOSDAQ 지수 (KRX)
df = fdr.DataReader('KS200') # KOSPI 200 (KRX)

# US market Indices 미국 시장 지수 데이터
df = fdr.DataReader('DJI') # 다우존스 지수 (DJI - Dow Jones Industrial Average)
df = fdr.DataReader('IXIC') # 나스닥 종합지수 (IXIC - NASDAQ Composite)
df = fdr.DataReader('S&P500') # S&P500 지수 (NYSE)
df = fdr.DataReader('RUT') # 러셀2000 지수 (RUT - US Small Cap 2000)
df = fdr.DataReader('VIX') # VIX지수 (VIX - CBOE Volatility Index)

# Global Indices 글로벌 지수 데이터
df = fdr.DataReader('SSEC') # 상해 종합지수 Shanghai (SSEC -Shanghai Composite)
df = fdr.DataReader('HSI') # 항셍지수 (HSI - Hang Seng)
df = fdr.DataReader('N225') # 일본 닛케이지수 (N225 - Nikkei 225)
df = fdr.DataReader('FTSE') # 영국 FTSE100 (FTSE 100 - Financial Times Stock Exchange)
df = fdr.DataReader('FCHI') # 프랑스 FCHI 지수 (CAC 40 - CAC quarante)
df = fdr.DataReader('GDAXI') # 독일 닥스지수  (DAX30 - germany-30)

# KRX stock price 국내 시장 개별종목
df = fdr.DataReader('005930') # 삼성전자 전체 (1999년 ~ 현재)
df = fdr.DataReader('000660') # SK하이닉스 전체 (1999년 ~ 현재)
df = fdr.DataReader('068270') # 셀트리온 전체 (2004년 상장 ~ 현재)

# 여러 종목 종가(Close) 한번에
# 삼성전자(005930), SK하이닉스(000660), 기아(000270), 카카오(035720), KB금융(105560)
df = fdr.DataReader('005930,000660,000270,035720,105560', '2020') # 2020년 ~ 현재

# US stock price 미국 시장 개별종목
df = fdr.DataReader('AAPL', '2017') # Apple(AAPL), 2017-01-01 ~ 현재
df = fdr.DataReader('AMZN', '2017', '2019-12-31') # AMAZON(AMZN), 2017~2019 (3년)
df = fdr.DataReader('F', '1980-01-01', '2023-10-01') # Ford 자동차(F) (40년간)

# 여러종목 한번에 종가(Close) 데이터
df = fdr.DataReader('AAPL, TSLA, AMZN', '2020') # 애플, 테슬라, 아마존 (2020년 ~ 현재)

# 데이터 소스 지정하기
df = fdr.DataReader('KRX:000150', '2020-01-01') # 두산(000150) (한국거래소)
df = fdr.DataReader('NAVER:000150', '2020-01-01') # 두산(000150) (네이버 파이낸스)
df = fdr.DataReader('YAHOO:000150.KS', '2020-01-01') # 두산(000150) (야후 파이낸스)

# TSE (도쿄증권거래소)
df = fdr.DataReader('TSE:7203', '2020-01-01') # Toyota Motor Corp 토요타 자동차(7203)
df = fdr.DataReader('TSE:9984', '2020-01-01') # SoftBank Group Corp 소프트뱅크그룹(9984)

# HOSE (호치민증권거래소)
df = fdr.DataReader('HOSE:VCB', '2020-01-01') # 베트남 무역은행(VCB)
df = fdr.DataReader('HOSE:VIC') # Vingroup (JSC)

# 글로벌 동일한 종목코드 경우 거래소를 지정
df = fdr.DataReader('000150', '2020-01-01') # 두산:KRX 종목 (기본:네이버 파이낸스)
df = fdr.DataReader('KRX:000150', '2020-01-01') # 두산:KRX 종목 (한국거래소 데이터)
df = fdr.DataReader('SSE:000150', '2020-01-01') # SSE 380 Dividend Index (상하이 거래소)

# 상품 선물 가격 데이터
df = fdr.DataReader('CL=F') # WTI유 선물 Crude Oil (NYMEX)
df = fdr.DataReader('BZ=F') # 브렌트유 선물 Brent Oil (NYMEX)
df = fdr.DataReader('NG=F') # 천연가스 선물 (NYMEX)
df = fdr.DataReader('GC=F') # 금 선물 (COMEX)
df = fdr.DataReader('SI=F') # 은 선물 (COMEX)
df = fdr.DataReader('HG=F') # 구리 선물 (COMEX)

# 환율: 여러 조합 가능(지원 심볼: ['KRW', 'EUR', 'CNY', 'JPY', 'CHF'])
df = fdr.DataReader('USD/KRW') # 달러 원화
df = fdr.DataReader('USD/EUR') # 달러 유로화
df = fdr.DataReader('USD/CNY') # 달러 위엔화
df = fdr.DataReader('CNY/KRW') # 위엔화 원화
df = fdr.DataReader('EUR/CNY') # 유로화 위엔화

# 암호화폐 가격 데이터 (원화, 달러)
# (지원 심볼: ['BTC', 'ETH', 'USDT', 'BNB', 'USDC', 'XRP', 'BUSD', 'ADA', 'SOL', 'DOGE'])
df = fdr.DataReader('BTC/KRW') # 비트코인/원화
df = fdr.DataReader('ETH/KRW') # 이더리움/원화
df = fdr.DataReader('BTC/USD') # 비트코인/달러
df = fdr.DataReader('ETH/USD') # 이더리움/달러

# KRX delisting stock data 상장폐지 종목 전체 가격 데이터
df = fdr.DataReader('KRX-DELISTING:036360') # 3SOFT(036360)

# 미국 국채 채권 수익률
df = fdr.DataReader('US5YT')   # 5년 만기 미국국채 수익률
df = fdr.DataReader('US10YT') # 10년 만기 미국국채 수익률
df = fdr.DataReader('US30YT') # 30년 만기 미국국채 수익률

# 종목 리스팅 (종목수는 2022년 10월 25일 기준, 시장 규모 가늠 용도)
# KRX 상장회사(발행회사)목록 (가격 중심, 주식 종목) - 시가총액순
stocks = fdr.StockListing('KRX') # KRX: 2,663 종목(=코스피+코스닥+코넥스)
stocks = fdr.StockListing('KOSPI') # KOSPI: 940 종목
stocks = fdr.StockListing('KOSDAQ') # KOSDAQ: 1,597 종목
stocks = fdr.StockListing('KONEX') # KONEX: 126 종목

# KRX 전종목 목록 (설명 중심, 주식+펀드등 전종목)
stocks = fdr.StockListing('KRX-DESC') # 한국거래소: 7,632 종목
stocks = fdr.StockListing('KOSPI-DESC') # KOSPI: 5,897 종목
stocks = fdr.StockListing('KOSDAQ-DESC') # KOSDAQ: 1,609 종목
stocks = fdr.StockListing('KONEX-DESC') # KONEX: 126 종목

# KRX 특수 종목 리스팅 (상장폐지 종목, 관리종목)
stocks = fdr.StockListing('KRX-DELISTING') # 3천+ 종목 - 상장폐지 종목 전체
stocks = fdr.StockListing('KRX-ADMIN') # 50+ 종목 - KRX 관리종목

# US Market listings 미국 시장 거래소별 전종목 리스팅
stocks = fdr.StockListing('S&P500') # S&P500: 503 종목  
stocks = fdr.StockListing('NASDAQ') # 나스닥 (NASDAQ): 4천+ 종목
stocks = fdr.StockListing('NYSE') # 뉴욕증권거래소 (NYSE): 3천+ 종목

# Global Market listings 글로벌 시장 거래소별 전종목 리스팅
stocks = fdr.StockListing('SSE') # 상하이 증권거래소 (Shanghai Stock Exchange: SSE): 1천+ 종목
stocks = fdr.StockListing('SZSE') # 선전 증권거래소(Shenzhen Stock Exchange: SZSE): 1천+ 종목
stocks = fdr.StockListing('HKEX') # 홍콩 증권거래소(Hong Kong Exchange: HKEX): 2천5백+ 종목
stocks = fdr.StockListing('TSE') # 도쿄 증권거래소(Tokyo Stock Exchange: TSE): 3천9백+ 종목
stocks = fdr.StockListing('HOSE') # 호찌민 증권거래소(Ho Chi Minh City Stock Exchange: HOSE): 4백+ 종목

# KRX ETFs
etfs = fdr.StockListing('ETF/KR') # 한국 ETF 전종목

# FRED 데이터
df = fdr.DataReader('FRED:M2') #  M2 통화량
df = fdr.DataReader('FRED:NASDAQCOM') # NASDAQCOM 나스닥종합지수
df = fdr.DataReader('FRED:T10Y2Y') # 미국 장단기금리차 (1980년 ~)

# 달러 인덱스
df = fdr.DataReader('^NYICDX') # ICE U.S. Dollar Index (^NYICDX) 달러인덱스 (1980~현재)

# FRED 데이터 여러 항목 한번에 
df = fdr.DataReader('FRED:M2,HSN1F,NASDAQCOM')  # M2 통화량, HSN1F 주택판매지수, NASDAQCOM 나스닥종합지수

#  KRX지수및 지수 구 성종목
df = fdr.SnapDataReader('KRX/INDEX/LIST') # KRX 전체 지수목록

df = fdr.SnapDataReader('KRX/INDEX/STOCK/1001') # KOSPI 지수구성종목
df = fdr.SnapDataReader('KRX/INDEX/STOCK/1028') # 코스피 200
df = fdr.SnapDataReader('KRX/INDEX/STOCK/5106') # KRX ESG Leaders 150 테마 지수 구성종목

Using FinanceDataReader

Tutorials

FinanceDataReader Notebooks

2018-2024 FinanceData.KR

financedatareader's People

Contributors

davidkimdy avatar financedata avatar jackmappotion avatar leon1114 avatar melemo2 avatar mk-kang1 avatar partrita avatar stat17-hb avatar zerohertz avatar znmean avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

financedatareader's Issues

우선주에 대한 처리 방법 개선

KRX 우선주 종목중 종목코드에 알파벳이 들어 있는 경우 해외 사이트에서 가격 데이터를 조회하는 문제. 우선주 종목 코드에 따라 결과가 안나오는 경우가 있습니다.

KRX 우선주를 모두 국내에서 가져오도록 수정이 필요합니다.

개선: 코드(심볼)이 잘못입력되었을때 에러 메시지

When an invalid code (symbol) is entered, it is difficult to determine the cause because of irrelevant error messages

잘못된 종목코드(심볼)이 입력되었을 때 상관없는 에러메시지가 출력되어 원인을 알기 어렵다.

Code

import FinanceDataReader as fdr

fdr.DataReader('000000', '2018-01-01')

Error Message:

TypeError                                 Traceback (most recent call last)
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5126)()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item (pandas/_libs/hashtable.c:14010)()

TypeError: an integer is required

Error message should be "'000000" is invalid symbol or code'

"'000000" is invalid symbol or code' 정도의 메시지가 적절할 것이다.

FutureWarning:

pandas.io.json.json_normalize is deprecated, use pandas.json_normalize instead

BUG: 조회 날짜 범위에 데이터가 없는 경우 오류(IndexError)

조회 날짜 범위에 데이터가 없는 경우 오류(IndexError)

예: AMCR 상장일 날짜가(2019-06-11), 날짜의 범위에 데이터가 없는 경우(2018-09-01 ~ 2018-12-31) IndexError

fdr.DataReader('AMCR', '2018-01-01', '2018-12-31')
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-44-bdb96aeb23fb> in <module>()
----> 1 fdr.DataReader('AMCR', '2018-01-01', '2018-12-31')

1 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py in __getitem__(self, key)
   4278         if is_scalar(key):
   4279             key = com.cast_scalar_indexer(key)
-> 4280             return getitem(key)
   4281 
   4282         if isinstance(key, slice):

IndexError: index -1 is out of bounds for axis 0 with size 0

1996-01-25일 이전 데이터는 다운이 안되네요~

df = fdr.DataReader('005930', '1992-01-01', '2000-10-31')

위와 같이 했을때, 데이터 갯수는 5000개가 넘지 않는데, 1996-01-25일 데이터 부터 다운이 됩니다.

1992년 데이터 부터 받고 싶은데 방법이 없나요?

StockListing('KRX') 출력오류

KRX의 StockListing시 정상적으로 출력되지 않습니다.

krx/listing.py에서 df_finder의 columns의 이름순서가 변경된 것 같습니다.
변경된순서 :
Name, FullCode, Market, ShortCode

수정종가를 불러올 수 있나요?

"Close"에는 종가가 담겨 있는 것 같은데 수정종가 ("Adj. Close", adjusted for stock splits and dividends)를 불러올 수 있나요? 그렇지 않다면 이게 추가될 계획이 있는지 궁금합니다.

Successfully installed but cannot import?

On Mac OS, Python 3.6.2.

Successfully installed pip install finance-datareader but cannot import FinanceDataReader


In [1]: import FinanceDataReader as fdr
   ...:
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-92b003391282> in <module>()
----> 1 import FinanceDataReader as fdr

ModuleNotFoundError: No module named 'FinanceDataReader'


개선: 거래량의 자리수를 정밀하게

A value greater than 1000 truncated bellow the thousands number such as the trading volume,

현재 거래량 같은 큰 단위의 수치의 1000 단위 이상의 값이 절삭

예) 8460000.0 (1만 단위이하 모두 0)

1 자리까지 거래량 표시

예) 8460000.0 → 8462432.0

S&P500은 검색이 안됩니다.

FDR을 이용한 종목데이터 전체를 얻기 중,
S&P500은 검색이 안됩니다. 다른 건 다 되는데요.

S&P 500 symbol list

sp500 = fdr.StockListing('S&P500')

이 부분에서 에러가 납니다.

KeyError: "['Symbol'] not in index"

Google Colab에서 사용중 입니다.

개선: 현재 가격을 가져오는 기능추가

현재는 과거 데이터(history data)를 가져오도록 되어 있다.
현재 시점의 데이터를 가져오는 기능 추가 요청.

Request: fetch the current index, price data (not historical data)

티커가 겹치는 경우(서로 다른 거래소의)

서로 다른 거래소의 티커가 겹치는 경우, 가격을 제대로 가져오지 못함
If tickers overlap on different exchanges, can not get prices correctly

티커가 겹치는 경우 (예, 000150은 한국에서는 두산, HK에서는 Yihua Healthcare) 원하는 값을 가져오지 못하는 것 같습니다.

페이스북 페이지, 전윤구님 https://goo.gl/zyyUin

버그: 데이터 이상 (종종 거래량 차이가 크게 나타남)

데이터의 경우 거래량의 차이가 종종 크게 나타남,

삼성전자(005930) 18.05.31 예시

daum.net

18.06.01	50,500	51,700	49,950	51,300	600	+1.18%	13,038,499
18.05.31	50,400	50,800	49,850	50,700	1,200	+2.42%	63,491,109
18.05.30	51,300	51,500	49,100	49,500	1,800	-3.51%	20,498,098

investing.com

Jun 01, 2018	51,300	50,500	51,700	49,950	12.44M	1.18%
May 31, 2018	50,700	50,400	50,800	49,850	35.94M	2.42%
May 30, 2018	49,500	51,300	51,500	49,100	20.20M	-3.51%

fdr.EtfListing("KR") doesn't work

아래와 같이 코드를 작성하면 에러가 발생합니다. .

import FinanceDataReader as fdr df_etf = fdr.EtfListing('KR')

`

TypeError Traceback (most recent call last)
f:\gdrive\Programming\python\z\stock\practice.py in
1
----> 2 df_etf = fdr.EtfListing('KR')

C:\Python\lib\site-packages\FinanceDataReader\data.py in EtfListing(country)
28 def EtfListing(country='KR'):
29 if country.upper() == 'KR':
---> 30 return NaverEtfListing().read()
31 return InvestingEtfListing(country).read()

C:\Python\lib\site-packages\FinanceDataReader\naver\listing.py in read(self)
11 def read(self):
12 url = 'https://finance.naver.com/api/sise/etfItemList.nhn'
---> 13 df = json_normalize(json.loads(requests.get(url).text), ['result', 'etfItemList'])
14 rename_cols = {
15 'amonut':'Amount', 'changeRate':'ChangeRate', 'changeVal':'Change',

C:\Python\lib\site-packages\pandas\io\json\normalize.py in json_normalize(data, record_path, meta, meta_prefix, record_prefix, errors, sep)
260 records.extend(recs)
261
--> 262 _recursive_extract(data, record_path, {}, level=0)
263
264 result = DataFrame(records)

C:\Python\lib\site-packages\pandas\io\json\normalize.py in _recursive_extract(data, path, seen_meta, level)
233
234 _recursive_extract(obj[path[0]], path[1:],
--> 235 seen_meta, level=level + 1)
236 else:
237 for obj in data:

C:\Python\lib\site-packages\pandas\io\json\normalize.py in _recursive_extract(data, path, seen_meta, level)
236 else:
237 for obj in data:
--> 238 recs = _pull_field(obj, path[0])
239
240 # For repeating the metadata later

C:\Python\lib\site-packages\pandas\io\json\normalize.py in _pull_field(js, spec)
183 result = result[field]
184 else:
--> 185 result = result[spec]
186
187 return result

TypeError: string indices must be integers

s&p BRK-B 데이터를 읽을때

Berkshire Hathaway 데이터를 읽고자 할때

StockListing 에서는 BRK-B로 읽히고

Datareader 에서는 'BRKb'로 symbol 을 입력해야하는데

arguemnt를 Upper로 변환 시켜서 오류가 생기는 듯 싶습니다.

input 이 'BRK-B'가 되면

for row in jo['All']: if row['symbol'] == symbol.upper(): return row['pair_ID'] return None

문제가 생깁니다.

수정 되여야 할 이슈라면 request를 보내도 될가요?

종목 코드의 CLASS를 구분해서 가격 데이터 조회 불가

현재 NYSE 종목 리스팅의 코드의 CLASS를 구분해서 가격 데이터를 조회하는 방법이 제공되고 있지 않습니다.

예를 들어, 다음과 같은 종목들 입니다.

Hersha Hospitality Trust
HT
HT^C
HT^D
HT^E

Arbor Realty Trust
ABR^A
ABR^B
ABR^C

Global Partners LP
GLP
GLP^A

ImportError: cannot import name 'json_normalize' 오류

안녕하세요!
새로운 서버컴에 설치하려니까 오류가 떠서요 확인부탁드립니다!

import FinanceDataReader as fdr

ImportErrorTraceback (most recent call last)
in
----> 1 import FinanceDataReader as fdr

/usr/local/lib/python3.6/dist-packages/FinanceDataReader/init.py in
----> 1 from .data import (DataReader)
2 from .data import (StockListing)
3
4 from .data import (EtfListing)
5

/usr/local/lib/python3.6/dist-packages/FinanceDataReader/data.py in
----> 1 from FinanceDataReader.investing.data import (InvestingDailyReader)
2 from FinanceDataReader.krx.data import (KrxDelistingReader)
3 from FinanceDataReader.naver.data import (NaverDailyReader)
4 from FinanceDataReader.nasdaq.listing import (NasdaqStockListing)
5 from FinanceDataReader.krx.listing import (KrxStockListing, KrxDelisting)

/usr/local/lib/python3.6/dist-packages/FinanceDataReader/investing/data.py in
3 import requests
4 import pandas as pd
----> 5 from pandas import json_normalize
6 from FinanceDataReader._utils import (_convert_letter_to_num, _validate_dates)
7

ImportError: cannot import name 'json_normalize'

ModuleNotFoundError: No module named 'FinanceDataReader'

Mac을 사용중이고, pip install -U finance-datareader 를 통해서 finance-datareader 0.7.2가 성공적으로 설치가 되었습니다. 터미널에서 python3을 구동후 finance-datareader을 불러오면 정상적으로 동작하는데요.

>>> import FinanceDataReader as fdr
>>> fdr.__version__
'0.7.2'

file.py를 생성해서 호출하면 ModuleNotFoundError를 표시합니다.

import FinanceDataReader as fdr
fdr.__version__
Traceback (most recent call last):
  File "/Users/los0731/Documents/playspace/study_pandas/data.py", line 1, in <module>
    import FinanceDataReader as fdr
ModuleNotFoundError: No module named 'FinanceDataReader'

어떤 차이가 있는것인지 잘 모르겠습니다.

데이터 리딩 오류

import FinanceDataReader as fdr
stockprice = fdr.DataReader('015540')

위 코드 실행 시, 쎌마테라퓨틱스는 2016-07-06일부터 데이터가 있어야 하는데
1996-06-28부터 데이터가 생성되며, 이해할 수 없는 값들이 들어있습니다.

확인부탁드립니다.

nasdaq 및 nyse symbol list 변경건

NASDAQ 사이트가 변경되어그런지 list를 받아오려하니 아래와 같이 404 error가 뜨네요..

가격데이터 받는건 이상없는데, symbol list는 이제 못받을 듯 보이네요.

fdr.StockListing('NASDAQ')
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3267, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-297-7362c2fa143b>", line 1, in <module>
    fdr.StockListing('NASDAQ')
  File "C:\ProgramData\Anaconda3\lib\site-packages\FinanceDataReader\data.py", line 19, in StockListing
    return NasdaqStockListing(market=market).read()
  File "C:\ProgramData\Anaconda3\lib\site-packages\FinanceDataReader\nasdaq\listing.py", line 13, in read
    df = pd.read_csv(url)
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 678, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 424, in _read
    filepath_or_buffer, encoding, compression)
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\common.py", line 195, in get_filepath_or_buffer
    req = _urlopen(filepath_or_buffer)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 532, in open
    response = meth(req, response)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 564, in error
    result = self._call_chain(*args)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 504, in _call_chain
    result = func(*args)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 756, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 532, in open
    response = meth(req, response)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 570, in error
    return self._call_chain(*args)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 504, in _call_chain
    result = func(*args)
  File "C:\ProgramData\Anaconda3\lib\urllib\request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

혹시 시총을 추가해주실수 없나요?

일단 이런걸 찾고 있었는데 만들어주셔서 너무 감사합니다. yahoo_fix_?? 를 쓰고 있긴했는데 여기가 더 낫네요^^
기존 데이터리더를 쓰면서도 같은 아쉬움이 있었는데
거래량이 주식수로 나타나다 보니 전체주식 중에 어느정도의 비율이 거래된 것인가 하는 회전율 같은걸 계산하기가 어렵다는 것입니다.
어디서 어떻게 크롤링 하시는지 코드를 아직 안봐서 모르겠지만 혹시 가능하다면 그런 기능도 넣을 계획이 있는지요?
정확히 말하면 전체 주식수가 있으면 가장 좋을것 같습니다만.. 초면에 요구만해서 죄송합니다;;;
지금 상태로도 충분히 좋아서 일단 적용해보려합니다. 감사합니다.

BFB (Brown-Forman Corp) 조회 불가

BFB (Brown-Forman Corp) 조회 불가

fdr.DataReader('BFB')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-83-9da1393859d5> in <module>()
----> 1 fdr.DataReader('BFB')

2 frames
/usr/local/lib/python3.6/dist-packages/FinanceDataReader/investing/data.py in _get_currid_investing(self, symbol, exchange, kind)
     61 
     62         if len(df) == 0:
---> 63             raise ValueError("Symbol('%s'), Exchange('%s'), kind('%s') not found" % (symbol, exchange, kind))
     64         return df.iloc[0]['pairId']
     65 

ValueError: Symbol('BFB'), Exchange('None'), kind('None') not found

KRX stock list

Need to get list of stocks of Korea Exchange (KRX)

한국거래소의 종목 리스트를 얻어오는 기능이 필요

StockListing 로 검색하면 Error(mac 10.14.6)

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1350, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1277, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1323, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1272, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1032, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 972, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1447, in connect
server_hostname=server_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 423, in wrap_socket
session=session
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 870, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1139, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1091)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/woosukkim/PycharmProjects/pythonProject/naverFinace/test.py", line 3, in
krx = fdr.StockListing('KRX')
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/FinanceDataReader/data.py", line 39, in StockListing
return KrxStockListing(market).read()
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/FinanceDataReader/krx/listing.py", line 15, in read
df_listing = pd.read_html(url, header=0)[0]
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/util/_decorators.py", line 296, in wrapper
return func(*args, **kwargs)
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/io/html.py", line 1101, in read_html
displayed_only=displayed_only,
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/io/html.py", line 898, in _parse
tables = p.parse_tables()
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/io/html.py", line 217, in parse_tables
tables = self._parse_tables(self._build_doc(), self.match, self.attrs)
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/io/html.py", line 736, in _build_doc
raise e
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/io/html.py", line 717, in _build_doc
with urlopen(self.io) as f:
File "/Users/woosukkim/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages/pandas/io/common.py", line 137, in urlopen
return urllib.request.urlopen(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 563, in error
result = self._call_chain(*args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 755, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 543, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1393, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1352, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1091)>

Process finished with exit code 1

틱 데이터

틱 데이터(5분봉, 15분봉 등)는 추가 계획 없으신가요?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.