1. FinanceDataReader란?
- 한국 주식 가격, 미국주식 가격, 지수, 환율, 암호화폐 가격 등의 데이터를 제공하는 라이브러리이다.
- 이번 포스팅에서는 미국 주식 가격 조회하는 방법에 대해서 소개하려고 한다.
2. 설치
pip3 install fiance-datareader
3. 나스닥 종목과 코드 파일에 저장하기!(NASDAQ.py)
- import FinanceDateReader를 통해서 라이브러리를 불러온다.
- fdr.StockListing('심볼') : 특정 심볼의 정보를 가져온다.
- 이후 Name과 Symbol 값만 가져오고 그 값을 nasdaq.txt 파일에 저장한다!
- 심볼의 종류
NASDAQ
|
나스닥 종목
|
NYSE
|
뉴욕 증권거래소 종목
|
AMEX
|
AMEX 종목
|
SP500
|
S&P500 종목
|
KRX
|
KRX 전체 종목
|
KOSPI
|
KOSPI 종목
|
KOSDAQ
|
KOSDAQ 종목
|
KONEX
|
KONEX 종목
|
4. flask를 통해 html로 가격과 종목을 보낸다.(finance_web.py)
- 먼저 inquiryNasdaq.html에서 company값을 입력 받아 가져온다.
- NASDAQ_connect()함수를 이용하여 3번에서 저장한 값을 df_nasdaq에 저장한다.
#나스닥 데이터 연결하는 함수
def NASDAQ_connect():
codepath = "./DBandDB_SOURCE/nasdaq.txt"
f = open(codepath,"r")
df_nasdaq = pd.read_pickle(codepath)
f.close()
return df_nasdaq
- NASDAQ_rate함수를 이용하여, symbol에 해당 회사 종목코드를 저장한다.
- DataReader를 통해 해당 회사의 주식 가격을 가져오고 그중 종가와 전일대비변동가만 저장한다.
- 그 값을 하루 시세만 출력하기 위해 종가 1개, 전일대비변동가 1개만 저장한다.
- 출력 형식에 맞게 순서대로 List에 append()해주고 format으로 원하는 형식으로 바꿔주고 반환한다.
#나스닥 가격 생성하는 함수
def NASDAQ_rate(df_nasdaq,Name):
nowDATE = time_format()
symbol = df_nasdaq[df_nasdaq.Name==Name].Symbol.values[0].strip()
rate = fdr.DataReader(symbol,nowDATE[:7])
rate = rate[['Close','Change']]
nasdaqrate = rate[-2:]
NASDAQ = []
NASDAQ.append(nowDATE)
NASDAQ.append(Name)
NASDAQ.append('$ '+str(nasdaqrate['Close'].values[1]))
gap = "{:.2f}".format(nasdaqrate['Close'].values[1]-nasdaqrate['Close'].values[0])
NASDAQ.append('$ '+gap)
NASDAQ.append(str("{:.2f}".format(nasdaqrate['Change'].values[1]*100))+'%')
return NASDAQ,symbol
- 구한 company와 stock_rate를 inquiryNasdaqrate.html로 보내준다.
5. html 파일에 출력 테이블 만들기
- 아까 출력형식에 맞게 보낸 값을 이용하여서 table이 만들어지게 하였다!
6. 출력 결과
나스닥과 같은 방식으로 뉴욕 증권거래소와 아맥스도 조회 가능하게 기능을 만들었다.
(비트코인 시세는 아래 링크)
(미국 ETF 시세는 아래 링크)
'프로그래밍 > 파이썬' 카테고리의 다른 글
[Python] Matplotlib - 데이터 시각화 활용예제(Feat. 산점도, 히스토그램, 그래프, 차트) (3) | 2022.10.10 |
---|---|
[Python] 파이썬 FinanceDataReader - 미국 ETF 시세 조회 (2) | 2022.10.07 |
[Python] 파이썬 바이낸스 시세 가져와서 웹으로 출력하기(feat. ccxt) (0) | 2022.10.06 |
[Python] 파이썬 데이터 분석 - 야후 파이낸스 데이터의 문제점과 보완방법 (1) | 2022.10.05 |
[Python] 파이썬 pyupbit - 비트코인 시세 웹 페이지에 출력하기 (0) | 2022.10.05 |