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


推荐阅读