有段时间幻想炒股赚钱,于是自研了一套量化交易系统,虽然现实并不理想,但是学了很多新技术,积累了很多经验。
模型研发:
超参数优化框架;
算子生成框架;
自定义高阶算子;
回测功能:
一套模拟交易环境;
极速回测框架;
模型研发与策略回测通用;
丰富的指标记录;
交易功能:
支持多种数据源、多种交易环境;
定时获取行情信息并持久化存储;
定时计算预测结果并持久化存储;
定时读取预测结果执行交易;
模型研发:
使用 qlib 作为基础平台;
使用 mmap 优化 qlib 中 ChangeInstrument 算子无法在线程间共享缓存的问题,大幅优化计算性能;
使用 Optuna 进行超参数优化;
使用 MlFlow 存储实验记录,并且将导入的所有本地代码的快照归档存储;
使用遗传算法进行因子挖掘;
构建大量高阶技术指标的算子;
交易功能:
低耦合设计,抽象出基础的数据源类、交易类,然后针对不同的数据源与交易系统开发对应的子类;
获取数据、计算预测值、执行交易分别为独立的定时任务,低耦合,易维护;
使用 SQLAlchemy 存储策略交易数据;
事件驱动,依然是低耦合设计;