高频做市策略的开发需要做回测吗？如果做，如何实施？
回测是一定要做的，不然你如何判断策略的正确性和质量呢？ 但这个问题要分解开来看，通过回测，我们想要检查的是两方面的问题： 对于1，通过在大量真实的历史行情数据上回测，是一种比较方便的大概率覆盖策略逻辑分支的办法。另外一种方法是人工构造数据来保证覆盖全部分支，但是这个方案往往费时费力，开发维护成本很高，相比之下通过历史数据回测简单易行，因此吸引力更高一些。做这种回测，我们关心的重点是程序的正确性，所以对成交的判断可以简单处理，只要自己的限价单被行情数据触发就算成交。有人说高频数据有各种问题并且算法简单，所以不需要回测，我想说这个看法是非常非常危险的。任何简单的程序都存在错误的可能，一段代码如果没有经过严格测试就部署到生产系统上，对于交易是有极大风险的，“闪电崩盘”例子大家已经听说过很多了。 对于2，是需要对现实的成交情况进行建模的。因为真实运行的时候，限价单什么时候被成交，成交多少都是不确定的，即使发市价单也可能不能完全成交，这些情况在只有行情的历史数据的情况下，是无法准确预测的。更复杂的是，策略本身产生的委托单实际上在真实运行的时候是组成行情的一部分，对行情是有影响的，这是回测过程里无法解决的问题。但是否说明就因此而放弃回测呢？ 这个时候，有一个原则建议大家谨记，叫做 something is better than nothing。即使你无法准确预测成交，但是做出一个粗糙的模型并不难。最简单的模型就是如上述，行情触发自己的委托单就算成交，这个算法虽然糙，但是可以给你一个 baseline。在此基础上，实际上我们需要解决的问题是，需要一个模型来模拟交易所的行为。当你这样思考的时候，你应该会发现问题一下变简单了，你要做的无非是做一个交易所的黑盒模型，这个模型按照概率对策略发出的委托单进行反馈。有了这个框架，你就可以随心所欲的对各种类型的委托单进行处理，处理细则无非是调整预设的对各种单模拟处理的概率分布参数。这种参数，要简单你可以直接拍脑袋自己定一个，要逼真，就从历史数据上估算。这些就是P宗 Quant 的范畴了。