关于交易策略的回测

上次写技术相关的内容应该是前年研究delta对冲和gamma的关系了,后面实在没有什么技术升级可言。交易上面有一些心得,但总觉得太过粗浅,也不用记录在博客上了。

今天说这个回测,倒是最近半年持续关注的话题,因为做策略回测最基本的。

初期,我在matlab上自己写回测,这个基本上就很基础了,统计一下收益率和波动率。倒是后来照抄丁鹏有一本matlab的书后面的代码,还加上了一些其他的持仓回测指标。

这种自己手工写代码回测,好处在于随便怎么折腾,坏处也明显,效率很低,任务比较简单还成,任务一旦复杂,各种数据处理就是非常困难的任务。

后来来到公司,开始关注wind的backtest和天软的回测平台。天软用了一套自己的语言,实话说,语法奇怪,关键问题是,我实在不想学它那种奇葩的语言和函数,自己稍微编了几段试用了一段时间,就放弃了,不过因为我试用这些日子,他们客服还可以过来忽悠我们买。

wind的回测机构版自带,一开始在matlab里面使用,它的backtest只是交易函数的回测,还算方便,但是并不支持期权,因此我编过几个简单的策略回测也就停止了。

后来就是各种量化量化平台在今年雨后春笋,纷纷扩大,我花时间最多的是ricequant,它的语法是python的。自己感觉到确实python才是未来策略回测的通用语言,于是开始强迫自己熟悉python。

但是有个问题是量化平台都是在流量器运行,导致程序调试非常麻烦,后来ricequant又开源了它的回测,ricequant alph。我深度使用了一段时间,觉得这个确实是个好东西,实话说,比wind的backtest不知道好多少倍。

如果仅仅是回测股票策略,肯定就使用ricequant alpha了。不过这个开源平台的局限是,它只能支持日线数据,没法回测更高频的数据,我想,他的机构版应该就可以开放平台下回测高频数据了吧。我和他的合伙人简单聊过,据说有这个计划,本来说在上海再聊聊,后来也没音信,大概觉得我们这个机构对回测平台缺乏投入诚意吧。

另外,ricequant还没有支持期权回测,我想他未来肯定也会支持吧,不过最近我发现wind PMS支持期权,于是就在这个上面研究了一段时间。

wind PMS 主要用两个函数 wpf 和wupf,wpf从pms下载数据,wupf向pms上传数据。不过需要特别注意的是:wupf上传的是持仓数据,也就是说,每次上床当天的持仓界面,不在持仓截面里面的,就自动清仓了,而且应该是按照结算价清仓

和按照交易回测相比,这种处理方式非常粗暴,但是目前也只能适应,想wind去修改wupf函数,还不如指望ricequant增加期权。

实际上,对于我们这样的机构来说,早就应该开发一套自己的回测平台了,这应该算是一个基础设施,但是一个好的回测平台,开发时间肯定也不断,各种人力投入,这也不是我能轻易建言了,只能感叹一下,然后自己将就着,准备着,后面应该能用的上的,毕竟策略开发这个活,亲自动手总归更放心些,也不会那么容易被机器取代。

This entry was posted in 技术相关. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *