如果您喜欢这篇文章,请移步页末扫码关注我的公众号,谢谢

image.png

<aside> 💡

文末有我开源的全部策略论文来源以及构建办法

</aside>

欢迎新读者

昨天托朋友转发了我的回测平台上线的文章,陆续进来不少新读者。这批读者应该大都是《傅里叶的猫》的粉丝——这个号的作者是我前同事,深耕FPGA和信号处理领域多年。所以这几天的读者八成都是理工科背景,交流起来应该都似旧友相逢。

在正式和大家讨论我筹备的那40篇论文策略之前,我想先聊点儿轻松的话题——说说做这个平台的初衷,以及在工程实现上踩过的坑和绕过的弯(是的,有些问题就是直接绕过去的)。

为什么要做论文回测

昨天有读者问起这个问题。我说最初就是"闭门造车"的突发奇想,对方说他本就是业内人士,但很好奇我的动机。这让我想起很多年前的一个场景——那会儿我连一行交易代码都没写过,听别人讲西蒙斯的故事就跟听《故事会》似的。有次从杭州出差回程的高铁上,看着窗外飞速掠过的道岔在视觉暂留下变成眼花缭乱的曲线,突然冒出个念头:

<aside> 💡

市场行情是不是“可分析的”?

</aside>

换句话说,怎么验证各种市场假说的正确性?我们常在教科书或者大佬的访谈里看一些高度抽象的概括,比如"市场是一切信息的总和","技术分析派好比看着后视镜开车"。那你肯定要问了:那些在股票论坛指点江山的"划线党",他们真赚到钱了吗?

说到这儿,那位读者朋友说这是"第一性原理"的思考方式——确实,这就是当时的核心困惑所在。于是我开始深挖那些"划线党"赖以生存的技术指标背后的算法:从最基础的MA、EMA,到BOOL、MACD、RSI、KDJ...很快意识到,这个层面的技术指标本质上都是在用统计学方法,把离散的股价数据包装成连续的图像。而为了生成"信号",这些方法普遍采用函数曲线交叉的方式——比如在某周期设定下,当短期均线上穿长期均线时,就被定义为"上升趋势"的起点,由此衍生出整套趋势交易理论。波动率指标、超买超卖指标的构造逻辑也都大同小异。

意识到技术指标的统计本质后,其与信号处理理论的相似性便不言而喻——这些技术指标本质上可以视为金融时间序列的信号转换器(signal transformers)。在信号处理领域对应的专业表述是:均线类指标(MA/EMA)实现的是低通滤波(low-pass filtering),MACD构成了一组带通滤波器(band-pass filter),而RSI这类振荡指标则相当于非线性变换器(nonlinear transformer)。这种对应关系也解释了为何我们会频繁观察到金融工程中借鉴信号处理算法,包括但不限于卡尔曼滤波(Kalman filtering)、傅里叶变换(Fourier transform)和小波分析(wavelet analysis)等时频域处理方法。但是当你真正理解这些指标背后的数学(更多是统计学)原理后,很难不对它们的实际效果产生怀疑。每次在论坛看到"划线党"言之凿凿,总会本能地想追问:"你们凭什么这么确信?",当你言之凿凿的说这里是支撑位那里是压力位的时候,你了解这条线背后的数学含义吗?这种怀疑推动着我去翻阅更多书籍,探究可能影响市场的各种因子。当然,要验证的话,自然该从经典教材或论文中的理论基础入手——正所谓"以正合,以奇胜",只有先掌握这个领域最正统、最主流的认知框架,摸清楚行业通行的做法及其实际效果,才能判断这条路究竟值不值得走下去。

后来很自然地接触到了量化交易工具,不过我更愿意用"系统化交易"来定义自己正在搭建的体系:

image.png

其实主要就是因为我这二十多年的工作经历挺杂的,做过互联网程序员、干过审计,自己也开过小工作室,在大公司(员工十万以上)几家小公司(就网上段子写的三个人全C*O 那种)都混过。见得多了就发现,不同行业的人思维方式真的很不一样。我上面这套框架写着写着,就慢慢就冒出个想法:是不是能把金融行业那套专业玩法,用更简单的方式让普通人也能用上?

就像咱们想了解一个新领域时,总会先找几篇入门文章看看一样,我还记得刚进大厂想要投会议 paper,但是初来乍到不知道写啥,老板说那你就写survey——我做这个事情其实也是抱着类似的心态:一方面自己可以系统学习,以后做产品时心里更有底;另一方面也让潜在用户能提前了解这套方法论。这样大家慢慢熟悉起来,以后沟通起来会更顺畅。

经典永流传

除了之前我写的那些关于回测引擎搭建、数据准备的文章外,其实我现在用的交易策略主要来自一个法国交易员的付费订阅,说白了,相当于在用互联网的手段”拜了个师傅“: