
量化系列三 做策略需要什么能力。
有个学弟要去ntu读硕,专业是计算机控制与自动化。本科是在ucl读的纯数。现在对于量化很有兴趣,正在进行一些学习,目前是刚刚开始,问我能不能给出一些学习上方法上的建议。包括常有人问,做策略到底要先学什么。我自己的答案可能有点反直觉,数学和编程只是门槛,过了之后就不再是最难的部分。下面这几样是我们比较看重的。
微观结构的直觉。 一笔单子进盘口之后到底发生了什么——排在谁后面、什么时候轮到你、被吃和被撤是两回事、盘口为什么会在某一刻突然变薄。教科书(GLFT、Avellaneda-Stoikov这些)给的是框架,框架不等于直觉。我们是靠盯真实的逐笔数据、一遍遍问“刚才这一下为什么会这样”,才慢慢有点感觉的。看得够多,才对异常敏感一些。
对回测的怀疑。 我刚开始也是看到一条漂亮的回测曲线就高兴,后来才慢慢学会第一反应先问“这哪儿算错了”。好看的回测很多时候是成交假设太松,用触碰价就算成交、不算排队、不算延迟。我们现在把回测也当成一个找问题的工具。看这个策略会在哪儿先出事:亏损边界在哪、最大回撤多深、延迟突然多50ms会怎样。学会不轻易相信自己的结果,花了我不短的时间。
风控放在收益前面。 如果没有风控意识,Ai可能给出一组逻辑完整的参数,但不一定知道这组参数在极端行情里会把风险敞口推到什么地步。对我们来说,做策略是先想清楚它在什么情况下会出问题,再谈它怎么赚。什么时候该停手,通常比什么时候能多赚一点更重要。
够用的工程能力。 不需要是顶尖工程师,但至少得能不自欺。能处理原始的逐笔数据、能让回测和实盘跑同一份代码(而不是“逻辑差不多”)、能在出问题时分清是策略的问题还是基建的问题。工程上差一点,很多时候连自己错在哪都定位不了。
怎么学,我的体会是:多学习,多从失败里学。对我帮助最大的,是跑崩了的策略,和之后花几天把它为什么崩搞清楚的过程。一次真实的教训很有意义。大致路径是:提一个假设,用尽量苛刻的方式回测。上很小的真钱,盯着实盘和回测的差距、把它解释清楚再来一轮。论文和框架当然要读,但读完最好拿真实数据自己验一遍,别照单全收。
写到这儿其实也没什么高深的结论。再说一条,大概能一直做下去的,不一定是最聪明的,是愿意一直怀疑自己已有结论的。一直不断更新迭代的。我们失败过很多次。这也是我们一直提醒自己的事。
中文




