第十五节 案例:用Excel优化择时
这里通过一个用MA择时优化沪深300指数的案例,让读者体会一下如何使用Excel来做优化。
(1)首先导出所有沪深300的每天收盘价,笔者一般在通达信(很多券商软件其实核心就是通达信)上下载数据,如图13-27所示,调出沪深300日线后在键盘上按3,4后回车,并选择导出格式为Excel格式,保留A列(日期)和E列(收盘价),去除其他数据。注意,这个时候导出的日期并非数字型,而是前面带空格的字符型,需要用trim(日期)+0的公式去掉空格并转化为数字型。
(2)如图13-28所示,C这一列是计算MA,要注意,MA不能用常量计算,要用12中的变量计算,这样才方便下一步的优化。offset函数已经在前面介绍过了,这里的意思是以B2为原点,往上取数,当然会出错,所以用了出错处理函数iferror,后面的值就是出错后显示的值,确保即使最前面一行都不会出错。
(3)D3=if(B3>C3,"买""卖"),也就是说收盘在MA线上买入,线下卖出。如图13-29所示。



(4)E3=if(D2="买",B3/B2-1,""),也就是说,当昨天的标志是"买"时,当天的收益率就是沪深300的收益率,否则就是空。
(5)F3=IFERROR(F2*(l+E3),F2),也就是说,F这一列计算净值,本日净值等于上一日净值乘上(1+当日收益率)。如果为空(阳错),就直接等于昨天的净值。


(6)计算出每年沪深划的收益率和MA择时的收益率,变动I2这个天数时,表格的所有计算结果都会自动变化,这样很快就找到最佳值20天了。

以上仅是一个最简单的案例,也还没有考虑佣金、费用等细节问题。即使如此,读者也可以从中体会到,合理利用vlookup、row、average、offset等函数,可以提高量化策略的优化效率。