问答交流

AI算法逻辑和因子设定问题

由ryanxu创建,最终由ryanxu 被浏览 14 用户

问题

刚开始学习AI量化,因为AI算法比较复杂感觉“训练”像个黑盒,但不知道黑盒的逻辑,又无法针对性的设定有效的因子,特来请教,望高手们不吝赐教,谢谢。

问题如下,不知我的理解方向是否准确,如果不对,也希望给个理解方向,谢谢

  1. AI算法训练笼统的讲,是不是根据训练集中所有单个数据(单个数据也就是训练集中某个股票某一天)的各个因子的值和label的值,统计出各个label值(比如说5日收益排名label值)的股票在对应各个因子数值上的概率,给高label值对应在各因子的高概率数值以高分,低label值对应各因子的高概率数值给低分,然后将测试集中新一天的各个因子的数值去对应,看各个因子的得分并加上因子的权重进行打分,最后看总分的高低进行股票排名?
  2. 各因子应该是各股票可以横向对比的数值,比如5日收益率、偏离率等,而不是5日股价均线这类没法横向比较的数值;AI训练时只是分析各个因子独立数据和标注目标的概率关系,只在评估测试集股票打分排名时才会把各因子关联起来打总分?
  3. 比如因子A、B单独考虑,同高收益标注关联性都低,但是组合起来会高,组合这个工作应该是在因子表达式完成,还是AI算法只要单独列A、B两个因子,A和B组合后同标注目标高关联性会在AI算法中也能被训练出来?

解答

大家共同交流共同进步哈!

这边你可能需要着重了解几个关键的定义,一个是label的定义,一个是因子的定义

  1. 简单来讲,label的定义是赋予数据集一个标准,而这个标准就是模型用来预测的目标。比如,我们想要去预测全市场内每个股票在未来5日的一个收益率是怎样的,即我们需要做的就是把这每个股票的未来5日收益率作为label。通过模型对训练集数据(即因子+label)进行训练之后,我们会将训练好的模型用于验证集或者是预测集的预测,所预测得到的结果,取决于你对模型的选择和label的定义上面,比如我所选择的是排序学习或者是多分类的模型,label则对应的可以是按照未来N日的收益进行的一个分层排序「例如分20层,第一层的则是收益率最高的一批,最后一层的是收益率最低的一批」,以此来进行模型的学习得到一个预测的分类结果;又比如我们可以选择一个lgb的回归模型,此时的label就可以选择将未来的N日收益率作为label,预测得到的结果就是拟合之后的结果;
  2. 因子不一定是必须横向对比的数值,不过可以通过一些数据处理的操作来让其变得截面可对比,比如时间截面的标准化处理。AI训练的内部原理这个不是一两句话能讲的清楚了,分不同的模型,这个感兴趣的话可以具体了解一下。至于训练之后的模型拿来预测得到的是什么东西,这个如上所述,取决于模型的选择和label的定义;
  3. 这个区分模型会有不同的效果,通常的决策树、深度学习模型是可以学习到这种因子之间关联性的信息的。

\

标签

AI算法
评论
  • 大家共同交流共同进步哈! 这边你可能需要着重了解几个关键的定义,一个是label的定义,一个是因子的定义 1. 简单来讲,label的定义是赋予数据集一个标准,而这个标准就是模型用来预测的目标。比如,我们想要去预测全市场内每个股票在未来5日的一个收益率是怎样的,即我们需要做的就是把这每个股票的未来5日收益率作为label。通过模型对训练集数据(即因子+label)进行训练之后,我们会将训练好的模型用于验证集或者是预测集的预测,所预测得到的结果,取决于你对模型的选择和label的定义上面,比如我所选择的是排序学习或者是多分类的模型,label则对应的可以是按照未来N日的收益进行的一个分层排序「例如分20层,第一层的则是收益率最高的一批,最后一层的是收益率最低的一批」,以此来进行模型的学习得到一个预测的分类结果;又比如我们可以选择一个lgb的回归模型,此时的label就可以选择将未来的N日收益率作为label,预测得到的结果就是拟合之后的结果; 2. 因子不一定是必须横向对比的数值,不过可以通过一些数据处理的操作来让其变得截面可对比,比如时间截面的标准化处理。AI训练的内部原理这个不是一两句话能讲的清楚了,分不同的模型,这个感兴趣的话可以具体了解一下。至于训练之后的模型拿来预测得到的是什么东西,这个如上所述,取决于模型的选择和label的定义; 3. 这个区分模型会有不同的效果,通常的决策树、深度学习模型是可以学习到这种因子之间关联性的信息的。 \
{link}