模拟仿真引擎是一个独立的模块,它在历史运行时数据上测试新的交易理念,但不实际执行交易。在交易理念开发的早期阶段,常常使用Matlab或者Excel来编程,但模拟引擎与之不同,它在对交易理念进行测试时常使用与最终产品一样的语言(c++或是Java)。
当产品代码编写完成之后,首先将模拟引攀在较长时间的历史数据上运行一遍,也就是进行回顾测试。此时,我们可以对模拟引擎进行完善,以改进系统并且修复漏洞。一旦回顾测试的表现令人满意,系统将切换到实时数据,也就是产品系统的输人数据。然而这时系统仍然处于测试状态,系统还不能实际发出交易指令。作为替代,我们将所有要发给经纪自营商的指令都记录到一个文本文件里。系统在实时数据上的测试阶段也称为“纸交易”(paper-trading)。
如果纸交易的表现令人满意,并且与回顾测试结果相吻合,纸交易就转为实际交易。系统还需要连续不断的人力监督,以确保系统免受恶意侵害,比如计算机病毒或者模型没有计人的市场事件等。然而正常情况下,交易员的作用应当仅限于确保系统的表现处于特定范围之内。一旦边界被突破,交易员应有权停止当天交易或者直至导致边界突破的问题得以解决。