1121 - 手动推演

之前设计出一个策略,一般是用代码实现回测。几次三番下来,感觉有这些问题:

  • 太花时间。就像是用很细的笔画草稿,半天画不完,还很容易陷入不必要的细节中。既然是草稿,就应该用最粗的笔,快速实现。
  • 程序容易出问题。这是最要命的;程序相当于是算法之外又引入的复杂变量。可能是好的算法,却因为实现有问题导致结果不理解,最终放弃;也可能是坏算法,因为实现有问题,误判为好算法,导致后续需要花很长时间来甄别,甚至是损失本金。
  • 无法感知策略细节。因为算策略被打散到代码的细节中,反而不容易看到全貌,也就很难对其进行判断。

最近手动推演了一个算法,感觉有很多好处:

  • 发现实际问题,完善策略。这其实还是增加了感知策略细节。在让策略面对实际价格趋势时,更容易发现不适配的地方,而不是淹没在快速滚动的程序日志中。
  • 减少自身不可靠性。由于不是自己实现,其中一些计算及图表只能依托第三方。通常,这些公开的服务比较成熟,是可以依靠的,至少比自己简单花时间实现的程序更可依靠。
  • 少走弯路,节约时间。手动推演看似很慢,但因为提前发现一些明显问题,避免把时间花在用程序实现错误的策略上,其实是更快的。

目前,一个策略的生命周期,大致是这样:

  • 纸上推演
  • 利用实际数据,手动推演
  • 利用程序和大量历史数据,进行回测
  • 程序实现策略,模拟交易(如果可以)
  • 少量资金,实盘交易。这一步要非常注重可靠性。
  • 逐步放量交易

每一步都很重要,越往后越要小心谨慎。