안녕하세요.
오늘은 야후 파이낸스 기반의 파이썬 wrapper 패키지 yfinance에 대해서 알아보겠습니다.
yfinance 파이썬 야후 파이낸스 패키지
▣ yfinance
주식, 상품, 환율 등 다양한 금융 데이터를 무료로 제공해 주는 파이썬 패키지(비공식)
- 다운로드 방법은 여느 패키지와 같으며(pip install) 주요 함수는 아래와 같음
: 주요 함수
- Ticker module이 가장 주요한 함수로, 해당 모듈에서 다양한 재무 데이터를 얻을 수 있음
(참조 : yfinance - PyPI)
함수 | 설명 |
download(tickers, start, end, group_by) | 지정 기간의 주가 데이터 다운로드 |
Ticker(ticker).info | 개별 종목 정보 반환 |
pdr_override() | pandas-datareader 라이브러리 사용 설정 |
▣ yfinance 실습
- 국내 주식은 네이버 증권이 있어 접근성이 좋지만, 미국 주식은 접근성이 제한적이기에 yfinance로 보고 싶은 미국 주식 데이터를 추출
- 종목 티커 리스트는 위키피디아나 나스닥 사이트에서 가져올 수 있으며, 단점은 시간이 좀 오래 걸림
import pandas as pd
# S&P 500 종목 리스트 가져오기
sp500_tickers = pd.read_html("https://en.wikipedia.org/wiki/List_of_S%26P_500_companies")[0]["Symbol"].tolist()
# NASDAQ 종목 리스트 가져오기
nasdaq_tickers = pd.read_html("https://en.wikipedia.org/wiki/NASDAQ-100")[3]["Ticker"].tolist()
# 다우 존스 산업 평균 종목 리스트 가져오기
dow_tickers = pd.read_html("https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average")[1]["Symbol"].tolist()
- S&P 500에서 시가배당률 상위 10개 종목 추출
import yfinance as yf
import pandas as pd
# S&P 500 종목 리스트 가져오기
sp500_tickers = pd.read_html("https://en.wikipedia.org/wiki/List_of_S%26P_500_companies")[0]["Symbol"].to_list()
# 각 종목의 시가배당률 계산하여 딕셔너리에 저장
dividend_yields = {}
for ticker in sp500_tickers:
try:
stock = yf.Ticker(ticker)
info = stock.info
dividend_yield = info.get('dividendYield', 0)
dividend_yields[ticker] = dividend_yield
except:
pass
# 시가배당률 기준으로 정렬하고 상위 10개 종목 출력
sorted_yields = sorted(dividend_yields.items(), key=lambda x: x[1], reverse=True)
top_10 = sorted_yields[:10]
print("시가배당률 상위 10개 종목:")
for ticker, yield_value in top_10:
print(f"{ticker}: {yield_value * 100:.2f}%")
시가배당률 상위 10개 종목:
MO: 8.51% VZ: 6.64% T: 6.38%
BXP: 6.20% CCI: 6.08% DOC: 6.03%
PFE: 5.87% KMI: 5.84% O: 5.59% WBA: 5.50%
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 판다스 치트시트 기초 익히기 (4) | 2024.06.02 |
---|---|
[Python] 코인 상위 거래대금 리스트 텔레그램 알림 만들기 (56) | 2024.05.26 |
[Python] 업비트 거래대금 추출하기 (53) | 2024.04.15 |
[Python] 주식 데이터 분석 pykrx 활용하기 (38) | 2024.04.08 |
Colab 패키지 확인 및 업그레이드하기 (33) | 2024.03.26 |
댓글