본문 바로가기
투자정보

금융거래 플랫폼 Fed 에서 주가현황을 모니터링하는 코드

by aiproductmanager 2025. 3. 16.
728x90
반응형
 

미국 연방준비제도(Fed)에서 직접 주가 데이터를 제공하지는 않지만, 일반적으로 주식 데이터는 외부 금융 데이터 API (예: Yahoo Finance, Alpha Vantage, IEX Cloud) 등을 통해 가져올 수 있습니다.

아래는 Yahoo Finance API를 활용해 실시간 주가 현황을 모니터링하는 Python 코드입니다. 이 코드는 주식 데이터를 가져와 모니터링하고 일정 간격으로 갱신해 보여줍니다.

필수 라이브러리 설치

먼저, yfinance와 pandas 라이브러리를 설치해야 합니다:

bash
복사편집
pip install yfinance pandas

실시간 주가 모니터링 코드

python
복사편집
import yfinance as yf
import time
import pandas as pd

# 모니터링할 주식 리스트 (예: S&P 500 ETF, Apple, Microsoft)
stock_symbols = ['^GSPC', 'AAPL', 'MSFT', 'GOOGL', 'AMZN']

# 실시간 주가 데이터를 가져오는 함수
def fetch_stock_prices(symbols):
    stock_data = {}
    for symbol in symbols:
        ticker = yf.Ticker(symbol)
        data = ticker.history(period='1d', interval='1m')
        if not data.empty:
            latest_price = data['Close'].iloc[-1]
            stock_data[symbol] = latest_price
    return stock_data

# 주식 데이터를 지속적으로 모니터링
def monitor_stocks(symbols, interval=60):  # interval 단위: 초
    while True:
        prices = fetch_stock_prices(symbols)
        df = pd.DataFrame(list(prices.items()), columns=['Stock', 'Price'])
        print(df)
        print('-' * 50)
        time.sleep(interval)

# 모니터링 시작
monitor_stocks(stock_symbols, interval=60)

코드 설명

  1. 모니터링할 주식 리스트: stock_symbols 리스트에 원하는 주식 심볼을 입력합니다.
    • ^GSPC: S&P 500 지수
    • AAPL: 애플
    • MSFT: 마이크로소프트
  2. fetch_stock_prices():
    • 지정된 주식의 최신 가격을 가져옵니다.
  3. monitor_stocks():
    • 일정 주기로(기본 60초) 실시간 주가를 갱신하며 출력합니다.

실행 결과 (예시)

yaml
복사편집
    Stock    Price
0   ^GSPC  4560.23
1    AAPL   152.34
2    MSFT   298.45
3   GOOGL  2735.67
4    AMZN  3450.21
--------------------------------------------------

이 코드를 실행하면 설정한 주식의 실시간 가격 정보를 계속해서 모니터링할 수 있습니다. 필요에 따라 주식 심볼과 업데이트 주기를 자유롭게 조정할 수 있습니다.

 

===================

야후 파이낸스 대신 다른 주식 데이터 API를 활용하는 방법으로는 Alpha Vantage, IEX Cloud, Finnhub 등을 사용할 수 있습니다. 여기서는 Finnhub API를 사용하여 주가 현황을 모니터링하는 코드를 제공하겠습니다.

1. Finnhub API 사용 준비

  • 먼저, Finnhub에 가입하고 API 키를 발급받아야 합니다.
  • 무료 요금제로도 주식 시세를 실시간으로 조회할 수 있습니다.

2. 필수 라이브러리 설치

터미널에서 다음 명령어를 실행해 필요한 라이브러리를 설치하세요:

bash
복사편집
pip install finnhub-python pandas

3. 실시간 주가 모니터링 코드

python
복사편집
import finnhub
import time
import pandas as pd

# Finnhub API 클라이언트 설정 (발급받은 API 키 입력)
API_KEY = 'YOUR_API_KEY'  # 여기 YOUR_API_KEY 부분에 발급받은 키 입력
finnhub_client = finnhub.Client(api_key=API_KEY)

# 모니터링할 주식 심볼 리스트 (예: AAPL, MSFT, TSLA)
stock_symbols = ['AAPL', 'MSFT', 'GOOGL', 'AMZN', 'TSLA']

# 주식 가격 데이터를 가져오는 함수
def fetch_stock_prices(symbols):
    stock_data = {}
    for symbol in symbols:
        try:
            quote = finnhub_client.quote(symbol)
            latest_price = quote['c']  # 현재 가격
            stock_data[symbol] = latest_price
        except Exception as e:
            print(f"Error fetching data for {symbol}: {e}")
    return stock_data

# 주가 데이터를 주기적으로 모니터링
def monitor_stocks(symbols, interval=60):  # interval 단위: 초
    while True:
        prices = fetch_stock_prices(symbols)
        df = pd.DataFrame(list(prices.items()), columns=['Stock', 'Price'])
        print(df)
        print('-' * 50)
        time.sleep(interval)

# 실시간 모니터링 실행
monitor_stocks(stock_symbols, interval=60)

4. 코드 설명

  1. API 키 설정: API_KEY 변수에 Finnhub에서 발급받은 API 키를 입력해야 합니다.
  2. 모니터링할 주식: stock_symbols 리스트에 원하는 주식의 티커 심볼을 입력합니다.
  3. fetch_stock_prices():
    • finnhub_client.quote()를 사용해 각 주식의 현재 가격을 가져옵니다.
  4. monitor_stocks():
    • 설정한 간격(기본 60초)으로 주가 데이터를 가져와 출력합니다.

5. 출력 예시

markdown
복사편집
   Stock   Price
0   AAPL  150.25
1   MSFT  310.45
2  GOOGL  2800.78
3   AMZN  3450.21
4   TSLA   695.12
--------------------------------------------------

6. 장점 (Finnhub API 기준)

  • 실시간 주가 정보 제공 (무료로 제한된 호출 가능)
  • 다양한 금융 데이터 (주식, 외환, 암호화폐 등) 지원
  • REST API 및 WebSocket 지원 (고급 사용자용)

이 코드를 활용하면, 별도의 웹 크롤링 없이 안정적인 실시간 주가 데이터를 얻을 수 있습니다.

 

728x90
반응형

 

이 글이 도움이 되셨다면
🔔 구독❤️ 좋아요 꾸우욱 눌러 주세요!🙏

그리고 💖커피 ☕, 💚차 🍵, 💛맥주 🍺, ❤️와인 🍷 중 마음에 드시는 한 잔으로 💰 후원해 주시면 큰 힘이 됩니다.

👇 지금 바로 아래 🔘버튼을 꾸욱 눌러 📣 응원해 주세요! 👇