模型训练样本和回测样本是一回事吗?

发布于: 雪球转发:0回复:0喜欢:0

一次向一个朋友介绍我们公司的深度数据因子模型时,朋友问我,模型回测时间跨度是多长?我说,从09年1月1日到18年12月28日。朋友说了一句,那你们模型的训练样本太多,实测样本有点少。

当时听到这句话时有点懵,咋一听好像挺有道理,但是总觉得哪里不对。后来仔细一想, 这是把模型训练过程和模型回测过程混起来了。所以,我想用这篇文章,来说说我对这两个概念的理解。

模型是什么?

首先要说说模型的概念,英文单词model,可以用于多个领域,在wiki上,model这个单词分别从科学、技术、数学、心理学、经济等很多个不同的领域进行了不同的定义。

当然,本文提到的模型,仅仅限制在投资领域。那么模型到底是什么呢?

模型可以是一个函数

比如下面这个公式:

y = f ( x1, x2, x3, ......xn);

一般而言,函数的输入往往会有多个参数(维度),而输出的结果如果只专注一个单一的目标,那么结果就只有一个,比如我们公司提供的护城河因子就只有一个结果——护城河评分;而如果关注的目标有多个,比如投资评级变动因子,其目标除了投资评级变动评分以外,还有过去一段时间内给出投资评级的机构数目,那么这样的模型结果就是一个由多个数值组成的数组。

模型的创建一定需要训练样本吗?

我们平常使用的量化因子数据其实就是通过不同的模型创建出来的。

举个例子,我们想依据上市公司的财务表现给每个股票的护城河属性进行打分。

假如我们可以考虑的输入参数是ROE,ROIC,毛利率,净利率,输出结果是0~5之间的一个数。一种简单的做法是,利用专家的业务经验和相关的金融模型等,拟合一个函数,这种做法不需要训练样本;另一种做法是,挑出一大堆包括ROE,ROIC,毛利率,净利率数据的样本数据,接着由专家在0~5分之间打分,然后再用这堆样本数据,用人工智能算法去训练这个函数,这一堆样本数据就是训练样本。

模型也可以是量化程序。

量化程序往往是一个比较复杂的模型,一般会使用大量的数据,并结合业务逻辑,以交易获利为目的,这种模型更合适的叫法应该是策略,或者更精确点,叫量化策略(区别于主观交易策略)。

回测的作用是什么?

量化策略效果怎么样,最直接的做法,就是利用历史数据进行回测,所以回测的作用,就是用来查看量化策略在历史上的表现情况。如果回测表现不佳,那么说明量化程序还需要改进。只有在回测表现符合预期之后,才能进入实盘验证阶段。

当然,如何检查回测的表现,这也是一个比较专业的活,需要另外再写一个文档来介绍。

最后总结一下本文的观点:

1 并不是所有的模型创建都需要用到训练样本,只有通过人工智能方式创建的模型才需要使用;

2 模型可以是一个函数,也可以是一个以交易获利为目的的量化交易程序;

3 量化交易程序模型更适合的称呼是量化策略,回测是用来检验量化策略效果的最直接的方法。