기존의 data-api 와 portfolioOpt 를 병합.
일 단위로 스크립트를 실행하거나, 시간 단위로 스크립트를 실행하는 등의 부분 추가.
- 일, 특정 시간 단위의 스크립트 실행
- 포트폴리오 만들기 시 결과를 api 로 리턴
- 메인웹의 mysql에 데이터를 배치 처리
패키지 목록
pip install PyPortfolioOpt
: cvxpy, numpy, pandas, scipypip install cvxopt
: PyPortfolioOpt 에서 필요로 함.
pip install matplotlib
: cycler, kiwisolver, numpy, pillow, pyparsing, python-dateutil:pip install scikit-learn
pip install finance-datareader
: lxml, pandas, requests, requests-file, tqdmpip install beautifulsoup4
: soupsieve- finance-datareader 에서 필요로 함.
pip install pykrx
: datetime, deprecated, numpy, pandas, requests, xlrdpip install mysql-connector-python sqlalchemy
- mysql-connector-python : protobuf
- sqlalchemy : greenlet
pip install flask-restx
: ansio8601, Flask, jsonschema, pytz, six, werkzeugpip install flask-cors
: flask, six- flask api를 ajax통신하는데 필요로 함.
pip install tensorflow
- lstm 을 이용하는데 사용됨.
docker build --force-rm --no-cache -t aistock-stockdata-api .
docker run --env-file ./.local.env --name aistock-stockdata-api -d -p 26000:5000 -v "%cd%:/app" aistock-stockdata-api
기존에 만든 것이 있었다면 중간에 rm 을 먼저 한 번 해주고 실행한다.
docker rm -f aistock-stockdata-api
docker build --force-rm --no-cache -t aistock-stockdata-api .
docker run --env-file ./.local.env --name aistock-stockdata-api -d -p 26000:5000 -v "%cd%:/app" aistock-stockdata-api
- /update_stock_table.py : 데이터베이스 테이블의 종목 목록을 갱신함