[转载]不清楚作者何人的几段话
在一个群里看到的几段话,感觉有点颠覆我原先程序化开发的理念,但是回味一想,还真是这么回事。 如下:在反复的测试中,在各类系统的敲打中,你会发现一些原来肉眼看不到或会忽视的行情特点。这个反复猜想、尝试、否定、改进、再尝试的过程,非常类似于自然科学领域的实验室研究。而且和那些实验员一样,你得写实验报告:把每次改动发生的变化记录下来,纵向横向比较,解读其中的意义。为了进一步了解研究对象,还有必要自定义一些指标来揭示一些变化规律,就如同实验室需要添置一些新仪器一样。我个人至少目前为止,坚信这才是真正的程序化研究。程序化研究的标的,就是行情自身的特征。就像自然科学的研究,它的目的往往很基础,就是想把某个东西弄明白——把它们的特征、结构、变化规律找出来。其艰苦和不确定性,尤其是在分子以下层面上进行研究,由于量子效应,非线性特征逐渐占主导,这层面的材料科学、化学、分子生物学的研究,除了基本的现代科学分析方法的指导和仪器的帮助外,真的少不了通过海量的试错来实现的,而且还不一定有结果,还要有点运气。
程序化交易,是想着怎么用这些特征。但没有程序化研究的程序化交易,往往走不远。它们总是在试图把自己的既有的主观系统客观化而已,量化到一定阶段,就有瓶颈。真正沉下去的研究,在解决一个问题时又会产生更多问题,而这往往是原先想不到的。这在科学领域是再正常不过的现象了。只有这样的研究,才能源源不断产生灵感,让自己对行情的理解和策略库本身都得以持续增加。而通过程序化研究,由着自己对行情的新见解产生新的策略,可能对交易者来说真的是不可或缺的收获。
一直以来,笔者也是崇尚自上而下去写策略,即由交易思想入手去形成策略,这种写出来的策略,如果成功,确实生命力比较强;但是往往这样去写策略,一个产量少,再者比较粗糙需要很大的细化操作。但是,笔者3年多程序化生涯,积累下来可实盘的20多个策略,却无一不是类似穷举法的方法开发的,即不断地去尝试开发一个模型胚子,可能100个里面会有5个相对比较稳定的模型胚子,然后再对这些模型胚子进行改造,改造的过程往往艰苦而长期,需要你不断的微调才能最后定型,甚至最后发现策略是个不能实盘的失败之作。这样的开发之路,有时候也往往让笔者也自我怀疑,这样开发出来的策略是否过度拟合历史数据之嫌?实际完全抓不到市场特征?但是,上面的2段话,却使我有种茅塞顿开的感觉,为何?因为如果是作为一个成熟的开发者,这样的开发过程,相信一个模型胚子出来,作为开发者,肯定会去审核胚子的健壮性和通用性,最后过关的肯定是抓住了市场某个普遍存在的特征的交易策略胚子,而不会是一个完全让自己都看不大懂的交易想法。
然后改造胚子的过程中,会发现很多想不到的问题,促使你去创造一些新的算法模型去解决问题,这是一个发散的过程,发散到可能一个问题,会牵连出无数个问题,到最后使你策略主胚子不变的情况下,策略细枝会很复杂很庞大;或者这个过程中会引发很多新的想法,使你的策略想法源源不断。
事实也证明,这样开发出来的策略,只要策略胚子是合理的、普适性的,那这个策略一定会是个不错的策略,只是去找到这样的胚子实在是一个需要大量摸索和运气的过程!这个和爱迪生找灯丝材料没啥差别!
所以,笔者现在想想,做程序化交易,对于程序化研究这块,无非就是对数据的挖掘,运气好就能挖掘到比较稳定的策略胚子,从此而下开发策略,完善、细化、测试、定型,然后实盘交易,这个应该就是所谓“量化交易”做的事情吧?
页:
[1]