FastAPI에서 주식 데이터 시각화 기능 구현하기

FastAPI는 Python으로 웹 애플리케이션을 손쉽게 개발할 수 있는 빠르고 효율적인 웹 프레임워크입니다. 이번에는 FastAPI를 사용하여 주식 데이터 시각화 기능을 구현하는 방법에 대해 알아보겠습니다.

1. 주식 데이터 수집하기

먼저, 주식 데이터를 수집해야 합니다. 대표적으로 pandas와 yfinance 라이브러리를 사용하여 주식 데이터를 가져올 수 있습니다. 다음은 yfinance를 사용하여 특정 주식 데이터를 가져오는 예제 코드입니다.

import yfinance as yf

def get_stock_data(symbol, start_date, end_date):
    data = yf.download(symbol, start=start_date, end=end_date)
    return data

위 함수는 symbol에 해당하는 주식 데이터를 start_date부터 end_date까지 가져옵니다.

2. 시각화 라이브러리 선택하기

주식 데이터를 가져왔다면 이제 시각화를 위한 라이브러리를 선택해야 합니다. 여러 선택지 중에서는 Matplotlib, Plotly, Seaborn 등이 대표적입니다. 예를 들어, Matplotlib를 사용하여 데이터를 시각화하는 예제 코드는 다음과 같습니다.

import matplotlib.pyplot as plt

def visualize_stock_data(data):
    plt.plot(data['Close'])
    plt.title("Stock Price")
    plt.xlabel("Date")
    plt.ylabel("Price")
    plt.show()

위 코드는 주식 데이터의 Close 컬럼을 활용하여 그래프를 그리고, 제목과 축 라벨을 설정한 후 그래프를 표시합니다.

3. FastAPI에서 엔드포인트 생성하기

이제 FastAPI를 사용하여 엔드포인트를 생성하고, 이를 통해 주식 데이터를 가져오고 시각화하는 기능을 구현할 수 있습니다. 다음은 FastAPI에서의 엔드포인트 구현 예제 코드입니다.

from fastapi import FastAPI

app = FastAPI()

@app.get("/stock/{symbol}")
def get_stock(symbol: str, start_date: str, end_date: str):
    data = get_stock_data(symbol, start_date, end_date)
    visualize_stock_data(data)
    return {"message": "Stock data visualized successfully"}

위 코드는 /stock/{symbol} 경로로 GET 요청이 들어올 경우, symbol에 해당하는 주식 데이터를 가져와서 시각화하는 기능을 구현합니다.

마무리

위에서는 FastAPI를 사용하여 주식 데이터를 가져오고 시각화하는 기능을 구현하는 방법에 대해 알아보았습니다. FastAPI의 빠른 처리 속도와 간편한 개발 방식으로 웹 애플리케이션을 개발할 수 있습니다. 주식 데이터 시각화 외에도 FastAPI를 활용하여 다양한 웹 기능을 구현할 수 있으므로, 새로운 프로젝트에 도전해 보는 것을 추천합니다.

#FastAPI #주식데이터 #시각화