开源低代码AI量化平台,支持自定义因子表达式,直接回测看结果

博客介绍了优化零代码AI量化系统的进程,包括将金融数据的20天收益率作为标签,使用pandas的qcut进行等频切分实现标签离散化,以提高lgb模型的准确率和召回率。此外,通过可视化改进和引入代码编辑功能提升投研效率,并探讨了特征抽取、自动化标注和模型优化。未来计划整合强化学习框架和预计算因子,简化表达式。
摘要由CSDN通过智能技术生成

继续优化我们的“零代码”AI量化系统。

金融数据使用未来N天的收益率来做自动标注,qlib是使用这个收益率当做对应股票的得分,比如未来五天收益率,越大意味得分越高。这个逻辑本身没有问题,这就变成一个回归问题,一是评估结果不直观,二是分类比回归更加简单。

引入qlib的alpha158因子集,以及把label改成20天收益之后,lgb的准确率与召回率都超过了50%,金融数据的低信噪比,这个已经不容易了,而且轮动模型是取分最高者,所以能够进一步提升收益。这个可以交由策略引擎回测看看效果。

所以,参考bigquant的做法,把label离散化。使用的是pandas的qcut等频切分。

class QCut(CustomOps):
    def __init__(self,feature,N):
        self.N = N
        super(QCut, self).__init__(feature)

    def _load_internal(self, instrument):
        series = self.feature.load(instrument)
        quantiles = [step / 100 for step in range(0, 100, int(100 / self.N))]
        if len(quantiles) <= self.N:
            quantiles.append(1)
       
        labels = pd.qcut(series, quantiles, labels=range(0, self.N)).astype('float')

        return pd.Series(labels, index=series.index)

注册了这个自定义的因子表达式之后,使用上就很简单了。

fields.append('Ref($close,-1)/$close -1')
names.append('label_value')

fields.append('QCut($label_value,10)')
names.append('label')

继续优化主界面,提升我们的投研效率。

一是把可视化分成了四个子图,除了之初的收益序列equity,还是年度收益与基准的对比,与基准收益率序列相关性等,以及年化收益、最大回撤等指标。

二是引入了styledtextctrl,可以显示与编辑代码,特征抽取与数据标注的规则、还有规则策略的交易逻辑可以在这里直接以脚本的方式输入。

图片

对于机器学习模型,只需要特征提取与自动化标注即可。目前我们的规则与qlib一致,表达式如下:

'Ref($close, -2)/Ref($close, -1) - 1';

bigquant的表达式为 'shift(close,-2)/shift(close,-1)-1'。两者的区别在于qlib的函数是大写字母开头,另外特征需要以$开头。

另外bigquant有一些预计算的因子,类似这样的规则amount_*,就是shift(amount,N)的简写。这个确实方便不少。

后续希望把这个优化过来,表达式会简洁很多。

return_*,

rank_return_*,

ta_bbands_lowerband_14_0,

rank_avg_amount_*。

用我们的表达式应该是:Rank(Avg($amount,N),还是正则表达式转换的问题。

return_5就是过去5天的收益率(动量)。

转化为Ref($return,5)。考验正则表达式的功力,现在功能是兼容的,就是看如何做更加简洁。

然后训练好的模型,需要整合的流程里,直接完成训练并生成策略。

规则型的策略,需要什么样的参数。

再有就是模型如何更优的抽取与评判因子。

因子挖掘有特征工程一定是未来的大头。当然还有强化学习的环境、强化学习框架要整合进来。

我的开源项目及知识星球

零代码AI量化平台基本成型,支持三种范式

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值