我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现股票自动交易,目的是实现财务自由~
目前我正在开发基于miniQMT的量化交易系统——看海量化交易系统。
很多朋友关心回测系统的开发进展,在正式发布前还有几个关键问题要解决,比如今天要说的触发机制——也即程序多久或者什么时候执行一次策略?
在设计khQuant框架的触发机制时,我们面临几组矛盾:如何平衡数据精度与系统资源消耗、如何适应不同交易策略的时间需求、以及如何在回测与实盘环境中保持一致性。基于这些考量,我们采用了分层触发架构,将数据获取与策略执行解耦,并通过统一的触发器接口实现不同触发模式的无缝切换。
经考虑,触发模式设置了4种:tick触发、1分钟触发、5分钟触发、自定义触发时间。
一、Tick触发:灵活但负担重
Tick触发在理论上最为简单,它监听每一笔市场成交数据(实际就是3秒一次),并在数据到达时执行策略。这为策略的编写带来了很大的空间,在策略中可以灵活地添加过滤机制,或者说第二层触发判断,当真正达到触发条件时,再执行策略。第二层触发判断用户在编写时就有了极大的发挥空间。
这种方式的缺点是回测数据量大,因为需要下载所有tick数据——即使有第二层触发条件,这使策略执行频率不会太高。
二、K线触发:趋势策略的可靠选择
K线触发基于固定时间周期的数据,在回测环境中实现简单,只需补充对应周期的K线数据即可。
在看海回测系统中,支持1分钟和5分钟这两种K线周期,当然这不是我不想多设置几种,而是非研投版miniQMT只能支持到这几类了。
值得注意的是,在实盘中如果订阅的是1m,5m数据,其触发周期其实也是3秒,只不过获取的是当前时间点以前1m或者5m的数据,所以如果要在实盘中实现每过1或者5分钟触发一次策略,反而需要框架编写相应机制支持。
K线触发由于数据量较小,系统资源消耗低,回测速度快,特别适合中长期趋势策略和技术分析策略。当然了这个要看你的实际策略了。
三、自定义时间触发:增加自由度
自定义时间触发是khQuant框架的关键功能,它允许用户指定精确的触发时间点,系统会在这些时间点到达时执行策略。
自定义时间触发特别适合定时交易策略,如开盘集合竞价策略、收盘前交易策略等,再比如K线触发不包含的时间周期(比如10分钟,一小时等等)。为策略开发者提供了精确控制交易时机的能力。
需要注意,自定义时间触发仅仅触发进入策略运行,不会像tick、K线触发那样向策略函数中传入数据——数据要在策略内进行获取,这是因为自定义时间触发的前置数据过于多样,难以统一数据输入。同时使用此类型触发的策略,也往往不是简单地需要K线数据。
这种机制要求时间点需为3的整数秒,以确保稳定性和精确性。
对此,我专门设计了一个自定义时间生成的模块,设定起始和结束时间以及时间间隔,可以一键生成触发时间列表,用户可以通过直观的界面设计满足自己需求的触发时间序列。当然你也可以根据自己的需求逐个手敲。
在程序编写过程中我尽量考虑到程序优化的问题,系统会自动分析用户设定的时间点特性:当所有触发时间点都是整分钟时(如9:30:00, 10:00:00),系统自动使用1分钟K线数据;当存在非整分钟时间点时(如9:30:15, 10:05:45),系统则切换到tick数据。这种智能适配在保证策略执行精度的同时,显著优化了系统资源使用和回测效率。
四、下一步考虑
后边还有几件事要做,做完后回测系统就可以跟大家见面了:
- 设置盘前、盘后回调机制
- 完善不同数据订阅模式与框架的兼容
- 策略的项目化管理设置
- 回测结果可视化与评估参数优化
- 与成熟的回测软件(比如QMT)进行相同策略的对比,以验证软件的有效性
因此,目前的回测系统还不满足放出来给大家使用的状态,待测试稳定后,快捷的安装包版本以及全部开源代码都会放出来给读者朋友们使用。
近期我尽量加快软件和文章更新的频率,尽早让朋友们使用上这个软件。
现在开发的系统界面长这样了
end、开通miniQMT
上述讲到的系统是基于miniQMT,很多券商都可以开通miniQMT,不过门槛各有不同,很多朋友找不到合适的券商和开通渠道。这里我可以联系券商渠道帮忙开通,股票交易费率是万1,开通成功的朋友都可以免费使用上边开发的“看海量化交易系统”。这个系统还在持续开发的过程中,数据下载的功能已经可以使用,回测部分正在加紧开发,大家可以先开通MiniQMT的权限,这样回测部分的功能放出后就能第一时间用上了~
对于想要开通miniQMT、使用上边开发的“看海量化交易系统”的朋友们,请大家关注一下我的公众号“看海的城堡”,在公众号页面下方点击相应标签即可获取。
相关文章
【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想
【深度学习量化交易2】财务自由第一步,三个多月的尝试,找到了最合适我的量化交易路径
【深度学习量化交易3】为了轻松免费地下载股票历史数据,我开发完成了可视化的数据下载模块
【深度学习量化交易4】 量化交易历史数据清洗——为后续分析扫清障碍
【深度学习量化交易5】 量化交易历史数据可视化模块
【深度学习量化交易6】优化改造基于miniQMT的量化交易软件,已开放下载~(已完成数据下载、数据清洗、可视化模块)
【深度学习量化交易7】miniQMT快速上手教程案例集——使用xtQuant进行历史数据下载篇
【深度学习量化交易8】miniQMT快速上手教程案例集——使用xtQuant进行获取实时行情数据篇
【深度学习量化交易9】miniQMT快速上手教程案例集——使用xtQuant获取基本面数据篇
【深度学习量化交易10】miniQMT快速上手教程案例集——使用xtQuant获取板块及成分股数据篇
【深度学习量化交易11】miniQMT快速上手教程——使用XtQuant进行实盘交易篇(一万七千字超详细版本)
【深度学习量化交易12】基于miniQMT的量化交易框架总体构建思路——回测、模拟、实盘通吃的系统架构
【深度学习量化交易13】继续优化改造基于miniQMT的量化交易软件,增加补充数据功能,优化免费下载数据模块体验!
【深度学习量化交易14】正式开源!看海量化交易系统——基于miniQMT的量化交易软件
【深度学习量化交易15】基于miniQMT的量化交易回测系统已基本构建完成!AI炒股的框架初步实现
【深度学习量化交易16】韭菜进阶指南:A股交易成本全解析