InStock量化投资工具安装手册
大家好!之前我介绍了 InStock:一款功能强大的量化投资工具,很多朋友反馈说找不到安装教程,真是抱歉!今天赶紧补上,弥补这个小小的失误。其实安装InStock非常简单,只需几步即可完成。
安装说明
InStock支持Windows、Linux、MacOS, 同时支持Docker安装。 可以按自己需求选择安装方式。
Docker安装
首先你需要安装 Docker 和 Docker Compose。如果你的系统还没有安装这两个工具,请先根据你的操作系统找到对应的安装方法进行安装,安装过程非常简单,网上也有很多教程可以参考。
安装完毕后,你需要创建一个 docker-compose.yml 文件。
version: '3.8'
services:
instock:
image: mayanghua/instock:latest
container_name: InStock
ports:
- "9988:9988"
environment:
- db_host=instock_mysql
- db_user=root
- db_password=root
- db_database=instockdb
- db_port=3306
depends_on:
- mysql
networks:
- instock_network
mysql:
image: mysql:5.7
container_name: instock_mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=instockdb
volumes:
- mysql_data:/var/lib/mysql
networks:
- instock_network
networks:
instock_network:
driver: bridge
volumes:
mysql_data:
这个文件定义了 InStock 需要的服务,包括 InStock 本身以及一些必要的依赖,比如数据库等等。
接下来,在 docker-compose.yml 文件所在的目录下,打开终端并运行 docker-compose up -d
命令。这个命令会自动下载并启动 InStock 以及所有依赖服务,-d 参数表示在后台运行。
稍等片刻,InStock 就安装完成了!你可以通过浏览器访问 http://localhost:9988
来查看 InStock 的 Web 界面。
系统启动之后, 需要进入到容器里初始化数据
docker exec -it InStock bash
python InStock/instock/job/init_job.py
注意:这里执行时要保证MySQL没有instockdb
数据库, 否则初始化不会执行 初始化数据之后, 接着在容器里执行
# 执行当前时间作业
python InStock/instock/job/execute_daily_job.py
# 开启定时任务
bash InStock/instock/bin/run_cron.sh
定时任务会定期执行:
#交易时间每半小时执行基础数据实时作业
*/30 9,10,11,13,14,15 * * 1-5 /bin/run-parts /etc/cron.hourly
#交易日每天17:30执行当前时间作业
30 17 * * 1-5 /bin/run-parts /etc/cron.workdayly
# 每周3、6 10:30执行清除缓存数据
30 10 * * 3,6 /bin/run-parts /etc/cron.monthly
执行完当前任务后,就可以在http://localhost:9988
看到数据了。
常规安装
需要自动交易的话, 建议选择Windows安装方式, 别的都不支持。 以下安装及运行以windows为例进行介绍。
1. 配置python环境
推荐使用 Miniconda来进行 Python 环境管理Miniconda
安装 conda 后,切换到项目专属环境进行配置,例如:
conda create -n stock311 python=3.11
conda activate stock311
2.安装mysql
在官网 https://dev.mysql.com/downloads/mysql/ 下载安装包,一键安装即可。
3.下载代码
git clone https://github.com/myhhub/stock.git
cd stock
4.安装依赖
#这里安装第三方编译好的TA_Lib
pip install https://github.com/cgohlke/talib-build/releases/download/v0.5.1/ta_lib-0.5.1-cp311-cp311-win_amd64.whl
修改requirements.txt
, 把TA_Lib==0.5.0改成TA_Lib==0.5.1。
然后执行
pip install -r requirements.txt
5.配置数据库
修改instock\lib\database.py
数据库相关信息, 改成刚才安装mysql配置的账号和密码
db_host = "localhost" # 数据库服务主机
db_user = "root" # 数据库访问用户
db_password = "root" # 数据库访问密码
db_port = 3306 # 数据库服务端口
db_charset = "utf8mb4" # 数据库字符集
6.启动服务
进入到instock\bin
目录
1.执行数据抓取、处理、分析、识别
运行 run_job.bat
需要说明的是, 运行run_job.bat会遵循以下原则:
• 开盘即有且无历史数据的:综合选股、每日股票数据、股票资金流向、股票分红配送、龙虎榜、每日ETF数据;
• 收盘即有且有历史数据的:股票指标数据、股票K线形态、股票策略数据;
• 收盘后1~2小时才有且有历史数据的:大宗交易。
2.启动web服务
运行 run_web.bat
启动服务后,打开浏览器,输入:http://localhost:9988/ ,即可使用本系统的可视化功能。
结语
如果你不需要自动交易功能,我强烈推荐使用 Docker Compose 安装 InStock。这种方式已经配置好了定时任务,你几乎不用操心任何维护工作,数据就能自动更新,非常省事!
但如果你需要用到自动交易功能,或者想根据自己的需求修改交易策略,那么我建议你还是选择常规的安装方式。常规安装方式虽然配置起来稍微复杂一些,但能提供更大的灵活性,方便你进行个性化定制。
总之,两种安装方式各有优劣,选择哪种取决于你的实际需求。
github地址: https://github.com/myhhub/stock