AI StockRanker耍单票策略
由qxiao创建,最终由qxiao 被浏览 21 用户
导语
在之前的版本里,很多用户喜欢开发每日换仓、仓位集中度高的AI StockRanker策略,无需编写sql代码,因此本教程给出这样的一个策略实现,方便用户在此基础上根据自己需求调整策略。
本策略绩效
本策略年化收益74%,夏普比率2.5,最大回撤不到-8.5%,整体绩效不错,详细代码见文末,可直接克隆,查看源码。
\
本策略示例特点
每日轮动调仓
之前的模版,以线性策略为主,换仓都是定期轮动,比如每5天调仓一次,这样会出现这样的问题:比如今天提交的策略,得5天后才有信号,模拟交易体验不好。
每日调仓的逻辑在m14 BigTrader模块的主函数中编码实现,大家可以直接使用这个模块。从下图我们清晰看出,每天买入一部分票,卖出一部分票,天天如此,这样也能更好地使用到模型的预测选股能力。
无需sql,直接表达式函数构建因子
本例,无需编写sql表达式,更为简单,排查错误也更为直接。
如上图所示,直接输入因子即可,大大降低门槛,要重命名因子也比较方便。
标注更简单
我们直接使用m4\m5模块来抽取训练集数据,具体标注逻辑如下:
模块交互式开发
每个模块的输入数据和输出数据都可以通过代码查询获取,以便于对每一步了如指掌。
Python函数灵活使用
本例介绍了Python函数这个模块的使用,可实现复杂的代码需求,本例训练集数据不需要数据过滤相关的字段。
过滤数据更直观
直接使用因子字段和逻辑操作符就能实现数据过滤,过滤掉不想要的股票,更为直观。
数据合并更为直观
直接使用m8数据连接模块,即能实现两个pandas dataframe合并,比如m8模块就是把训练集的标注和训练集的特征按 instrument\date取交集合并,合并过程简单直观。
仓位集中,收益炸裂
可直接修改BigTrader模块初始化函数里的持股数量和持仓天数,实现更高收益(注意:但风险也更大)
好了,今天的介绍就到这里,大家使用有什么反馈和建议直接评论区见哈~
克隆代码
https://bigquant.com/codesharev3/af50a0c5-3fa9-4f98-8837-e17895af0d04
\