안녕하세요
오늘은 파이썬을 활용한 주식 예측 api를 만들어보는 실습을 해보겠습니다.
해당 실습은 replit을 통해 간단하게 진행하겠습니다.
replit은 브라우저상에서 실행 가능한 간단한 ide로
https://rhgustmfrh.tistory.com/106
해당 글을 참고하시면 사용하기 수월할겁니다.
먼저 파이썬 프로젝트를 하나 생성합니다.
저는 주식 예측 프로젝트이기 때문에 nostradamus라는 이름으로 프로젝트를 작명했습니다.
처음으로 만들어진 파일들을 모두 지워주고 app.py라는 파일을 만들어 출발하겠습니다.
폴더에서 ... 을 탭하면 숨긴파일을 볼수가 있는데
여기에서 .replit이라는 파일을 들어가면 파이썬이 가장 먼저 실행될 메인파일의 이름을 바꿔줄수가 있습니다.
app.py로 바꿔주시면 됩니다.
1. 주식 데이터 가져오기
방대한 주식 데이터를 얻기 위해 알파벤테이가 api를 사용해보겠습니다.
편의성을 위해 별도에 모듈로 분리하겠습니다.
data_collection/data_collector.py 라는 파일을 만들어주고 다음과 같이 작성합니다.
import requests
API_KEY = 'apikey' # 여기에 받은 API 키를 입력
def get_stock_data(symbol):
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={symbol}&apikey={API_KEY}'
response = requests.get(url)
data = response.json()
return data
참고로 해당 api는 무료이며 알파벤테이가에 가입하여 키를 받아야 사용가능합니다.
2. 웹기반의 인터페이스 만들기
console에서 pip install flask 해당 명령어를 통해 웹 기반의 인터페이스를 만들겠습니다.
from flask import Flask, render_template, request
from data_collection.data_collector import get_stock_data
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
prediction = None
if request.method == 'POST':
# 사용자가 모델을 선택 해볼까요?
# 주식 데이터를 수집합니다.
STOCK_SYMBOL = 'AAPL'
data = get_stock_data(STOCK_SYMBOL)
# 예측을 수행 해볼까요?
return render_template('index.html', prediction=prediction)
if __name__ == '__main__':
app.run(debug=True)
간단하게 구조만 작성해봤습니다.
사용자는 index.html을 이용해서 모델을 선택하고 주식 데이터를 수집한 후 주식 데이터를 예측해 볼겁니다.
기본 구조는 이렇게 작성하였고 다음에는
pandas와 sklearn 등을 사용한 예측 모델을 만들어 보겠습니다.
감사합니다.
'파이썬' 카테고리의 다른 글
파이썬 학습 계획서 (3) | 2023.12.23 |
---|
댓글