Skip to content

hhhparty/hdh_alpha

Repository files navigation

README

HDH ALPHA 项目用于构建一个简单的策略批量测试与排序系统。

Latest Version:0.1.

目标

借助 rqalpha 3.x 的回测平台完成下列目标:

  • 进行多策略的批量回测
  • 完成策略比较,并形成报告
  • 将报告通过邮件形式自动发送到指定邮箱

借助tushare获取公开数据。

设计

主要模块:

  • 策略模块
  • 调参模块
  • 结果分析模块
  • 调度模块
  • 自备数据获取与存储模块

策略模块 *_strategy.py

每一个策略模块对应于一个独立、完整的投资策略。编写方法参考rqalpha的策略编写要求。

策略模块位于 hdhalpha/strategies 目录下。系统逐一读取该文件夹下所有文件,进行策略回测,结果保存于hdhalpha/results 目录下。

策略文件名任意,但最好言简意赅。

调参模块 *_tuning.py

调参模块与1或多个策略模块对应,用于对策略模块中不能确定的参数进行穷举调优。

调优模块中包含策略运行的配置信息,其格式参照rqalpha config格式。

TODO: 该模块可能会与rqalpha mod的功能有部分重叠,目前不明。

调参的基本思路:

  • 对未定超参进行合理穷举
  • 超参个数原则上不要超过3个
  • 注意使用交叉验证,防止过拟合

调度模块

由于调度事务繁杂,单一模块实现过于臃肿,故学习django等项目的设置延迟加载,并借助Click命令行管理工具实现了一个简单的命令行调度方式。命令行管理工具位于 manage 目录下。

命令执行方法: 1.拷贝或克隆,进入项目目录hdh_alpha; 2.执行命令pip install -e .,安装hdh_alpha命令到系统路径; 3.执行命令hdhalpha,可以看到若干子命令提示。

有三种子命令:

回测执行命令

命令形式:hdhalpha alpha。 命令功能:执行回测,保持结果。

结果分析命令

命令形式:hdhalpha analyze。 命令功能:用于对策略回测结果进行排序,并将排序结果详情发送到指定邮箱。

基本面数据获取命令

命令形式:hdhalpha updatetsdata。 命令功能:可自动获取经tushare爬取的多种基本面数据。

自备数据获取与存储模块

由于rqalpha目前版本不提供宏观数据、股票基础数据等查询,所以考虑构建一个可用于综合选股的数据获取和存储模块。

数据获取来源为 tushare(爬虫):

  • 基本面数据获取,集成于hdh_alpha/data.py模块,数据存储在data目录下。

初步考虑数据存储方案有以下几个:

  • 以 csv 文件形式存放;
  • [TODO]以 postgresql 数据库形式存放;
  • [TODO]以 bcolz 数据库形式存放;

模块与函数详情

基本面数据获取模块 data.py

下列功能可以使用hdhalpha updatetsdata批量执行。

  • 获取最新沪深上市公司基本情况
  • 获取某股票的历史所有时期资产负债表
  • 获取某股票的历史所有时期现金流表
  • 获取某股票的历史所有时期现金流表
  • 获取现金流量数据
  • 获取偿债能力数据
  • 获取成长能力数据
  • 获取营运能力数据
  • 获取盈利能力数据
  • 获取某股票的历史所有时期利润表
  • 获取业绩报表数据

相关依赖

参考requirements.txt文件

About

A customized quant research tool, powered by rqalpha, tushare, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors