炒股,韭菜最好选风报比低的方法!这也是我为什么能一直持续盈利的秘诀!最简单的就是做低位启动股.请君惠存,反复阅之!风报比:就是承担的风险和获得报酬的比...
股票软件 数据导出(同花顺股票历史数据导出)
股票学习
2022年07月06日 01:56 2
touzi333
分享我对Ai量化的认识(五)-- Ai模型开发的前期准备
上一篇谈了Ai模型的评估,这一篇终于要谈谈Ai模型怎么开发了。
在前几篇中已经简要提到过我们给Ai模型输入股票的数据,Ai模型输出股票的概率。做Ai模型的原理我就不多说了,因为本身是科普性的文章,我希望说得简单直白,并尽量不提及过多的专用词汇。
做Ai模型首先要用到机器学习算法,从最简单的线性回归,逻辑回归到复杂一些的算法比如决策树,SVM,再到更复杂的深度学习三驾马车的神经网络,boost系列,随机森林等等。
其次要准备好数据,数据的要求跟算法有关,数据要有一定的量,否则就无法体现出规律,既然是大数据,那么数据量一定要大。数据准备工作在前期会占用70%的时间。我也做过一些视频,写过一些文章来讲解这个过程,有兴趣的朋友可以去看看。
做Ai模型的前期准备就是这两样,他们是相辅相成的,不同的算法对不同的数据格式有要求,不过现在算法对数据的要求几乎都差不多,一份数据可以用于不同的算法,这样大大减少了我们比较不同算法的工作量。
处理好的数据,被称为样本,每个样本都有很多特征值,虽然我不想提到很多专有名词,但是特征值这个词实在很重要。在传统的量化模型中,一般称为因子,Ai中则称为特征值。但是还有不少机构仍然沿用过去的叫法,称其为因子,本文中就继续沿用这种叫法。
因子的选用直接关系到最后的模型效果,这也是各家之秘。因子极其重要,所以头部的Ai量化公司都会有专门研究因子挖掘的团队。挖掘指的是在海量的因子库中寻找有用的因子。挖掘的方式多种多样,比如幻方就用他们的超级GPU阵列用深度学习算法来做因子挖掘。除了最基础的技术分析因子外,还有各种能想得到的或者想不到的因子。反正不是依靠人口去寻找,而是依靠计算机去挖掘,所以可以尝试各种因子。
因子选好后,其实各种算法算出来的结果差异不大。但选用不同的算法,可以在算法本身提供的一些额外的技术上获得支持。简单的算法比如回归算法,没有框架的支持,在数据预处理,训练,模型评估上都可能需要自己手撸,有完整开发框架的就会方便很多。所以如果用神经网络,一般就会使用TensorFlow,keras等框架。
那么是不是因子越多越好?数据越多越好呢?在一定程度上是这样的,但是他们存在一个相互制约的情况。当数据在几十万的时候,因子超过某个数量,效果就很很差,原因是这些数据已经无法描述出复杂的股市规律。因此必须提高数据量,当数据量提高到百万级别以上,则因子又不够了,这时候准确率大幅下降,原因变成了这些因子无法描述出复杂的股市规律。
他们是否能无休止地提高上去,是否给到千万级的数量,万级的因子,效果会更好?我不知道,因为我还没有做到这种程度。
上一篇谈了Ai模型的评估,这一篇终于要谈谈Ai模型怎么开发了。
在前几篇中已经简要提到过我们给Ai模型输入股票的数据,Ai模型输出股票的概率。做Ai模型的原理我就不多说了,因为本身是科普性的文章,我希望说得简单直白,并尽量不提及过多的专用词汇。
做Ai模型首先要用到机器学习算法,从最简单的线性回归,逻辑回归到复杂一些的算法比如决策树,SVM,再到更复杂的深度学习三驾马车的神经网络,boost系列,随机森林等等。
其次要准备好数据,数据的要求跟算法有关,数据要有一定的量,否则就无法体现出规律,既然是大数据,那么数据量一定要大。数据准备工作在前期会占用70%的时间。我也做过一些视频,写过一些文章来讲解这个过程,有兴趣的朋友可以去看看。
做Ai模型的前期准备就是这两样,他们是相辅相成的,不同的算法对不同的数据格式有要求,不过现在算法对数据的要求几乎都差不多,一份数据可以用于不同的算法,这样大大减少了我们比较不同算法的工作量。
处理好的数据,被称为样本,每个样本都有很多特征值,虽然我不想提到很多专有名词,但是特征值这个词实在很重要。在传统的量化模型中,一般称为因子,Ai中则称为特征值。但是还有不少机构仍然沿用过去的叫法,称其为因子,本文中就继续沿用这种叫法。
因子的选用直接关系到最后的模型效果,这也是各家之秘。因子极其重要,所以头部的Ai量化公司都会有专门研究因子挖掘的团队。挖掘指的是在海量的因子库中寻找有用的因子。挖掘的方式多种多样,比如幻方就用他们的超级GPU阵列用深度学习算法来做因子挖掘。除了最基础的技术分析因子外,还有各种能想得到的或者想不到的因子。反正不是依靠人口去寻找,而是依靠计算机去挖掘,所以可以尝试各种因子。
因子选好后,其实各种算法算出来的结果差异不大。但选用不同的算法,可以在算法本身提供的一些额外的技术上获得支持。简单的算法比如回归算法,没有框架的支持,在数据预处理,训练,模型评估上都可能需要自己手撸,有完整开发框架的就会方便很多。所以如果用神经网络,一般就会使用TensorFlow,keras等框架。
那么是不是因子越多越好?数据越多越好呢?在一定程度上是这样的,但是他们存在一个相互制约的情况。当数据在几十万的时候,因子超过某个数量,效果就很很差,原因是这些数据已经无法描述出复杂的股市规律。因此必须提高数据量,当数据量提高到百万级别以上,则因子又不够了,这时候准确率大幅下降,原因变成了这些因子无法描述出复杂的股市规律。
他们是否能无休止地提高上去,是否给到千万级的数量,万级的因子,效果会更好?我不知道,因为我还没有做到这种程度。
相关文章
发表评论