본문 바로가기

Python-Class

yfinance - Data Collector

yfinance는 Yahoo Finance 데이터를 보다 쉽게 가져올 수 있도록 만든 파이썬 라이브러리입니다..원래 Yahoo Finance는 자체 API를 제공했지만, 2017년에 공식 API를 중단하면서 많은 개발자들이 대체 솔루션을 찾기 시작했고, 개발자 Ran Aroussi가 Yahoo Finance 데이터를 편리하게 가져올 수 있도록 yfinance(초기에는 fix-yahoo-finance)를 개발했습니다. 이 라이브러리는 웹 스크래핑 방식을 활용해서 Yahoo Finance에서 주가, 환율, 재무 정보 등을 쉽게 가져올 수 있도록 해줍니다.

 

처음에는 비공식적으로 사용되다가 점점 많은 사람들이 쓰기 시작하면서 주식 분석, 알고리즘 트레이딩, 퀀트 투자 등 다양한 분야에서 널리 활용되고 있고, 현재도 오픈소스로 유지보수되고 있고, 꾸준히 업데이트되고 있습니다.

 

이 것을 사용하는 간단한 정보를 수집하는 내용을 적어봤습니다. 사람들이 가장 관심을 가지고 있는 것이 주식이다 보니 확실시 주식이나 펀드쪽에 관심이 많은지 이런 코드가 많은 것 같습니다. 일단 데이터 수집부터 시작해서 활용하는 방안까지 생각해보겠습니다.

 

Yahoo 얼마나 오래 간만에 듣는 기업명인지.... 근데 확실히 이름값이 있는 회사는 역사가 있네요.

 

주어진 종목의 Ticker 객체를 가져오는 함수

def get_stock_data_ticker(target):
    _msft = yf.Ticker(target)
    return _msft

주어진 종목의 가격 데이터를 다운로드하는 함수

def get_stock_data_download(target):
    _aapl = yf.download(target)
    return _aapl

펀드 데이터 가져오는 함수

def get_funds_data_ticker(target):
    _spy = yf.Ticker(target).funds_data
    return _spy

 

내용 출력

if "__main__" == __name__:
    msft = get_stock_data_ticker("MSFT")
    print(msft.info)
    print(msft.calendar)
    print(msft.analyst_price_targets)
    print(msft.quarterly_income_stmt)
    print(msft.history(period='1mo'))
    print(msft.option_chain(msft.options[0]).calls)

    aapl = get_stock_data_download('AAPL')
    print(aapl.head())

    spy = get_funds_data_ticker('SPY')
    print(spy.description)
    print(spy.top_holdings)
  • msft.info: 마이크로소프트의 일반 정보 (회사 개요, 시가총액, 산업 등)
  • msft.calendar: 실적 발표 및 주요 이벤트 일정
  • msft.analyst_price_targets: 증권사 애널리스트들의 목표 주가 정보
  • msft.quarterly_income_stmt: 분기별 손익계산서
  • msft.history(period='1mo'): 지난 한 달 동안의 주가 데이터 (OHLC, 거래량)
  • msft.option_chain(msft.options[0]).calls: 최근 만기일의 콜옵션 데이터를 조회
  • head()를 사용해 상위 5개 데이터 출력.
  • spy.description: SPY 펀드의 설명
  • spy.top_holdings: SPY의 주요 보유 종목 정보

 


Site

https://github.com/zafrem/Learn-Code/tree/main/Python-Class/01_Data_collector/1_Collector

 

Learn-Code/Python-Class/01_Data_collector/1_Collector at main · zafrem/Learn-Code

Contribute to zafrem/Learn-Code development by creating an account on GitHub.

github.com

 

Code

https://github.com/zafrem/Learn-Code/blob/main/Python-Class/01_Data_collector/1_Collector/_1_API_Stock_Funds_yfinance.py

 

Learn-Code/Python-Class/01_Data_collector/1_Collector/_1_API_Stock_Funds_yfinance.py at main · zafrem/Learn-Code

Contribute to zafrem/Learn-Code development by creating an account on GitHub.

github.com

pip Package

pip install yfinance


pip package yfinance

https://pypi.org/project/yfinance

 

yfinance

Download market data from Yahoo! Finance API

pypi.org

 

 

반응형

'Python-Class' 카테고리의 다른 글

Google Trend RSS - 실시간 인기 검색어  (0) 2025.03.19
binance - Altcoin 현재 시가 리스트  (0) 2025.03.07
pandas-datareader - Data Collector  (0) 2025.02.22