물론입니다! yfinance
는 Python에서 야후 파이낸스(Yahoo Finance) 데이터를 쉽게 가져올 수 있도록 도와주는 라이브러리입니다. 주식 가격, 재무제표, 주가 지표 등 다양한 정보를 API 없이 간편하게 조회할 수 있어 금융 데이터 분석에 매우 유용합니다.
아래에 단계별로 구체적으로 yfinance
사용하는 방법을 설명드릴게요.
✅ 1단계: yfinance 설치
먼저, yfinance
패키지를 설치해야 합니다.
pip install yfinance
✅ 2단계: 라이브러리 불러오기
import yfinance as yf
✅ 3단계: 종목(Symbol) 객체 생성
Yahoo Finance는 각 주식 종목에 대해 고유한 Ticker Symbol을 사용합니다. 예를 들어:
- 애플(Apple): AAPL
- 삼성전자: 005930.KQ (한국 종목은 .KS 또는 .KQ)
- 테슬라: TSLA
apple = yf.Ticker("AAPL")
✅ 4단계: 주가 데이터 가져오기
① 과거 주가 히스토리
# 1년치 일간 데이터
df = apple.history(period="1y")
# 2023-01-01 ~ 2023-12-31 사이의 데이터
df = apple.history(start="2023-01-01", end="2023-12-31")
옵션 설명:
옵션 | 설명 |
---|---|
period | “1d”, “5d”, “1mo”, “6mo”, “1y”, “5y”, “max” 등 |
interval | “1m”, “5m”, “1d”, “1wk”, “1mo” 등 |
start , end | 시작일과 종료일 지정 (format: “YYYY-MM-DD”) |
✅ 5단계: 종목 정보 조회
info = apple.info
print(info['longName']) # 회사 이름
print(info['sector']) # 섹터
print(info['marketCap']) # 시가총액
print(info['dividendYield']) # 배당수익률
info
는 JSON 형식의 딕셔너리입니다.
✅ 6단계: 주요 재무제표 확인
# 손익계산서
print(apple.financials)
# 재무상태표 (Balance Sheet)
print(apple.balance_sheet)
# 현금흐름표 (Cash Flow)
print(apple.cashflow)
✅ 7단계: 배당금, 분할 정보 확인
# 배당금 히스토리
print(apple.dividends)
# 주식 분할 히스토리
print(apple.splits)
✅ 8단계: 추천 종목, 뉴스 등
# 뉴스 기사
print(apple.news)
# 분석가 추천 정보
print(apple.recommendations)
# 주주 정보
print(apple.major_holders)
✅ 9단계: 여러 종목 한꺼번에 조회
tickers = yf.Tickers("AAPL MSFT TSLA")
# 각각의 종목에 접근
print(tickers.tickers['AAPL'].info['shortName'])
✅ 10단계: 데이터 시각화 (선택)
import matplotlib.pyplot as plt
data = apple.history(period="6mo")
data['Close'].plot(title="Apple Stock Price")
plt.show()
🔎 보너스: 한국 종목 사용 시 주의사항
- 한국 종목은 종목코드 뒤에
.KS
(코스피),.KQ
(코스닥) 를 붙여야 합니다.samsung = yf.Ticker("005930.KS") print(samsung.history(period="1mo"))
정리 요약
단계 | 내용 |
---|---|
1단계 | yfinance 설치 |
2단계 | 라이브러리 import |
3단계 | 종목 객체 생성 (yf.Ticker ) |
4단계 | 과거 주가 데이터 조회 |
5단계 | 종목 기본 정보 조회 |
6단계 | 재무제표 조회 |
7단계 | 배당, 분할 정보 확인 |
8단계 | 뉴스, 추천 정보 조회 |
9단계 | 여러 종목 동시에 처리 |
10단계 | 시각화 등 추가 활용 |
필요하신 사용 예시나 분석 코드가 있다면 더 알려드릴게요!
혹시 어떤 주식 또는 데이터를 분석하고 싶은지 있으신가요? 😊