量化投资中如何使用excel中的规划求解来快速优化

 我们知道量化投资的重要一环是回算历史数据,使得收益率、最大回撤等参数最优。我们可以用比较专业的工具MATLAB、文华等自动计算,也可以用现成的系统如果仁网等回算历史数据,但总觉得不太方便,excel中也有一个能自动寻找最佳值的功能,就是规划求解。但在默认的excel配置中是没有规划求解的,我先告诉大家如何安装,我自己用的是excel2013版本,在左上角的“文件”里找到“选项”,在“选项”里找到“加载项”,里面有一个“规划求解加载项”,确认后就安装了,安装好了后在“数据”下多了一个“规划求解”。如何使用“规划求解”来快速自动寻找量化投资模型中的最佳值呢?还是先结合一个例子来说明吧。这个例子取了不到1年到期的债券的数据。大家知道,债券的合理的ytm是对应时间的函数,应该是越接近到期日(回售日),合理的ytm越小,但实际上不是线性的,而是比较接近二次曲线的。如果我们用D来代表到期天数,那么理论的ytm=a*D^2+b*D+c,其中a、b、c为变量,其中方差=每一项的实际ytm和理论ytm的差的平方后的均值。启动规划求解后就会看到有几个关键选项:1、 设定目标,这里就是方差的单元格,优化到最小值。2、 通过更改可变单元格,就选a、b、c三个单元格。3、 遵守约束,根据具体情况设定一些约束条件,比如天数为整数,尽可能把可能的范围缩小,这样会加快求解的时间。由于本文所限,其他细节可以自行研究。按了“求解”按钮后大概等待10多分钟就可以自动找到a、b、c三个值的最佳值,初始值可以根据经验设定,出来最佳值了,实际ytm-理论ytm值越大的,在轮动中越有价值。这是一个简单的利用规划求解来优化量化投资模型的案例,当然实战还有很多需要改进的,比如有些因为特别垃圾的债券的异常数据在优化的时候需要剔除、债券的数据还偏少等,但通过这个例子告诉我们不用就用最简单的excel依然可以象很多高大上的系统一样自动求得量化投资的最佳值。在债券上的应用只是一个最简单的例子,同样在基金、股票等量化轮动模型中可以使用规划求解。