투자정보

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

aiproductmanager 2025. 3. 16. 15:33
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
반응형