算法交易软件安全保障措施

5

我正在开发一套自动交易系统。我应该采取哪些安全措施?

我的主要想法是让多个部分相互检查。

我将拥有第二个独立的小进程,它也将连接到同一个交易账户并监视简单的事情,例如确保总净头寸不超过某个限制,或者在10分钟内没有超过N笔订单,或者同时没有超过M个持仓。您还可以检查实际开放的头寸是否与策略进程认为它实际拥有的相符。作为奖励,我可以在不同的机器/网络提供商上运行此检查程序。

除了主策略中的检查之外,这将确保无论发生什么奇怪的错误,都不会发生真正的灾难。

还有其他需要监控和注意的事项吗?


我相信“安全关键”一词通常只在发生死亡或受伤(而不仅仅是财务损失)的情况下使用,这是指由于故障而导致的。 - AakashM
1
除了主要策略中的检查之外,这将确保无论发生什么奇怪的错误,都不会发生真正糟糕的事情。 在5月6日发生的事情之后,我认为最好有一个大红色按钮,可以按下它从市场断开您的黑盒子,以防万一! - James Webster
1
实际上,许多高频交易公司(如Tradeworx)在波动性过高时会进入黑暗模式。这导致了5月6日观察到的效应,即市场上的买盘消失,从而减少了流动性。 - Steve Severance
1
@James Webster:确保红色按钮也经过了充分的测试 :P - monksy
1个回答

6

许多算法交易系统利用ESP/CEP(事件流处理/复杂事件处理)系统根据市场活动(跟踪VWAP是典型示例)做出交易决策。

但也许您可以从算法的活动中创建一个流,然后让ESP/CEP系统使用此流来监视算法的活动,如果算法在滚动10分钟窗口内开始过度交易,则可以向您的中间件发送消息以关闭FIX连接等。还明智地监测您正在交易的主要指数,以查看市场是否正在经历特别波动的时刻...在相对低波动期间表现良好的算法在市场开始崩溃时可能会迅速失控。

Esper是适用于Java和.Net的开源ESP系统值得一试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接