各个跳
- 软件:从下单票据构造订单,检查它自己的防护栏。
- 路由供应商或券商系统:对会话和账户做认证。
- 期货佣金商的风控层:检查该账户的限额、保证金和权限。
- 交易通道:这家期货佣金商为这个产品通往交易所的那条连接。
- 交易所网关与撮合引擎:校验价格和订单类型,然后撮合或者把订单挂起来。
确认不是成交
一个假想的时间线:一张限价单在 t = 0 离开软件,网关在 t = 38 毫秒确认它,而它在 t = 1.2 秒成交——因为市场在那时才走到它的价格。
那 38 毫秒是路由的往返时间;那 1.2 秒是市场时间。把两者混在一起,会让一次执行看起来比实际更快。更要紧的是,它会让人以为延迟是可以通过换软件改善的,而实际上在这个例子里,99.97% 的等待时间和软件无关。
在 Senzoukria 里
在 Rithmic 连接上,订单经由屏幕上所显示账户的订单 plant 会话发出。这个会话为每一个「期货佣金商 × 交易所」的组合解析出一条交易通道,而在某个交易所的通道还未知之前,发往它的每一张订单都会被拒绝(「尚未解析出交易通道」)。订单带着账户 id、期货佣金商 id、介绍经纪商 id 和通道;每一条命令通过网关回显的一个标签和它的响应相关联,并在等待 8 秒没有答复之后失败。
在发出之前,后端会检查订单 plant 会话路由到的账户,是否就是这张订单被构造出来时所针对的那个账户,否则拒绝它。交易面板分别度量下单和撤单从点击到网关确认的时间,而它的提示写明:这不是到成交的时间。
订单在哪里被拒绝
| 跳 | 典型原因 |
|---|---|
| 软件 | 规模超过所配置的上限,该连接上交易被禁用 |
| 券商或供应商 | 会话未登录,账户没有交易权限 |
| 期货佣金商风控 | 保证金不足,头寸或订单限额 |
| 交易所 | 价格超出价格带,订单类型不被接受,市场未开盘 |
常见错误
- 把一个确认读成一次成交。
- 在拒绝信息的文字已经点明了风控或者交易所原因时,还认定这个拒绝来自平台。
- 在屏幕上切换账户,却没有确认会话路由到了哪里。
相关内容
同一栏目
其他语言版本
常见问题
- 交易通道是什么?
- 它是从一家期货佣金商通往一家交易所的那条路径的指定。在 Rithmic 上,软件为一个账户请求可用的通道,并且必须在每一张订单里指名该产品所属交易所对应的那一条。
- 为什么同一张订单有时快、有时慢?
- 每一跳都会加上随负载变化的处理和网络时间,而券商的风控校验和交易所的队列都在软件的控制之外。要看清这件事,办法是在很多张订单上度量确认时间的分布,而不是记住某一次特别慢的经历。