Zappa와 파이썬을 활용한 실시간 주식 포트폴리오 관리 애플리케이션 구축하기

zappa-logo

Zappa는 파이썬 기반으로 작성된 서버리스 프레임워크로, AWS Lambda를 이용하여 웹 애플리케이션을 구축할 수 있습니다. 이번 포스트에서는 Zappa와 파이썬을 활용하여 실시간 주식 포트폴리오 관리 애플리케이션을 구축하는 방법에 대해 알아보겠습니다.

주식 포트폴리오 관리 애플리케이션 개요

주식 포트폴리오 관리 애플리케이션은 사용자의 주식 보유 현황을 실시간으로 추적하고, 주식 가격 변동에 따른 자산 평가와 수익률을 계산해 주는 기능을 제공합니다. 이 애플리케이션은 사용자가 등록한 주식 종목의 가격을 실시간으로 가져와서 업데이트하며, 업데이트된 정보를 기반으로 자산 평가와 수익률을 계산합니다.

프로젝트 설정

먼저, 가상 환경을 생성하고 필요한 패키지들을 설치합니다. 다음 명령어를 순서대로 실행합니다.

$ virtualenv venv
$ source venv/bin/activate
$ pip install flask zappa yfinance

그 다음, Flask를 기반으로 한 간단한 웹 애플리케이션을 작성합니다. app.py라는 파일을 생성하고 다음 코드를 작성합니다.

from flask import Flask, render_template
import yfinance as yf

app = Flask(__name__)

@app.route('/')
def home():
    stock_data = yf.download('AAPL', period='1d', interval='1d')
    return render_template('index.html', stock_data=stock_data)

if __name__ == '__main__':
    app.run()

위 코드는 AAPL 주식의 1일간 데이터를 가져오는 예제입니다. 여러 주식을 동시에 처리하고 싶다면, 리스트 형태로 여러 주식 코드를 입력하여 yf.download 함수를 호출합니다.

AWS Lambda에 배포하기

이제 Zappa를 이용하여 작성한 웹 애플리케이션을 AWS Lambda에 배포해 보겠습니다. 다음 명령어를 실행하여 Zappa 프로젝트를 초기화합니다.

$ zappa init

명령어를 실행하면 Zappa에 필요한 설정을 입력할 수 있는 대화형 인터페이스가 나타납니다. 설정을 입력한 후에는 Zappa 설정 파일이 생성됩니다.

Zappa 설정 파일(zappa_settings.json)에서는 배포할 Lambda 함수의 이름, 핸들러 정보, 환경 변수 등을 지정할 수 있습니다.

다음 명령어를 실행하여 애플리케이션을 배포합니다.

$ zappa deploy dev

명령어를 실행하면 Zappa가 Lambda 함수를 생성하고 애플리케이션을 배포합니다. 배포가 완료되면 배포된 애플리케이션의 엔드포인트 URL이 나타납니다.

결과 확인

웹 브라우저에서 엔드포인트 URL에 접속하면 주식 포트폴리오 관리 애플리케이션을 확인할 수 있습니다. 애플 주식의 가격 데이터를 실시간으로 가져와서 화면에 업데이트되는지 확인해 보세요.

마무리

Zappa와 파이썬을 사용하여 실시간 주식 포트폴리오 관리 애플리케이션을 구축하는 방법을 알아보았습니다. Zappa를 이용하면 AWS Lambda를 활용한 서버리스 애플리케이션을 쉽게 개발하고 배포할 수 있습니다.

포트폴리오 관리 외에도 주식 실시간 알람 서비스 또는 주식 시뮬레이션 게임 등 다양한 주식 관련 애플리케이션을 Zappa와 파이썬으로 구축할 수 있습니다.

#Zappa #파이썬