tradeblazer交易网关功能建议

Discussion in '开拓者期货自动交易平台' started by tom_sh, May 29, 2007.

  1. 1、支持客户端交易委托编号。目前的期货软件只维护服务器端(期货公司)的交易委托编号,一张单子只能用服务器端的委托编号进行查询或撤单,这给开发高可靠性的客户端自动交易软件带来非常大的隐患;
    2、支持推送消息的范围除行情、委托、成交以外,还必须有头寸、资金、可平/可平今,后面这三项(相当于业务事件)的推送时间要提前于委托和成交消息的推送;
    3、委托不搞指定开平,由服务器端做先进先出的开平头寸处理(或允许选择头寸处理的策略);
    4、支持200笔/秒以上的并发能力。
     
  2. 前一阵子出差了,这么晚才回复,请原谅:
    1、事实上我们目前也没有服务器端委托号,服务器仅是把委托转发到柜台,所以从头到尾都是使用的柜台委托号。既然单子始终要跟柜台委托对应起来。那为什么一定要有客户端委托号呢?请具体解释一下。
    2、头寸、资金、可平/可平金目前都已经是推送到客户端了的。
    3、先进先出的策略目前难以实现,因为柜台的结算机制并不是象国外柜台那样采用的逐笔结算,而是采用的盯市结算。你可以指定平今仓还是平老仓,但是你无法指定具体要平那一笔。
    4、200笔/秒的并发能力我们的服务器是支持的,只是目前长城和东银用的都是V5柜台,并发量太大,V5有问题。希望V6会改善些。

    具体的细节问题,可否在QQ上沟通?我的QQ是:54653460。我曾经加过你的QQ,但是认证没通过:)
     
  3. 我的机器在最近一次打补丁后与QQ兼容性大大下降,经常在QQ时死机,后来还发现鼠标响应也有问题,也不知道是不是有黑客,所以就不太用了。现在有了TRADEBLAZER专版,可以吸引多位朋友一同讨论,其实也是一个比较好的途径。
    关于你的回复:
    1、客户端委托号是交易行为的主键,这在国外所有的金融协议中上都是如此(FIX中为CLORDID),因为交易是客户发起的,控制权应该在他那一端。如果说具体的技术细节,可以举两个例子。1)当客户提起一笔委托后,如果在服务器响应之前网络中断,那么客户端就无法知道柜台委托号,也无法查询委托状态,对于高频率的自动交易系统这个问题很要命的;2)如果在同一个接口上运行多个策略,同时产生价格方向相同的委托,有的委托有成交,有的委托没有成交,或者有的委托开仓,有的委托平仓,这些策略无法判断哪笔单子属于自己,影响后续应对行动。
    2、业务事件驱动是交易策略的核心,这个事件集要定义完备,从某种意义上说目前国内的柜台商还不懂这些东西,他们的东西不能作为当然的参考,需要自己做设计;
    3、先进先出仅仅是指先平仓(有反向头寸)后开仓(没有反向头寸),无须指定具体平仓对象。指定平仓对象这个东西就像朝三暮四还是朝四暮三一样,没有意义。头寸敞口是交易者主要关心的对象,如何记帐和相关盈亏是客观的结果,接受不接受都存在;
    4、V5和V6的后台核心其实都是一个SYBASE数据库,金仕达在存储过程的编码优化上软件能发挥的空间有限。它的通讯中间件(就是你能联的部分)是一个统一规划的业务消息路由平台,不但在期货柜台上用,在证券柜台上也用,增加了通讯的层次/复杂性,因此可能也会影响效率,但保证了可靠性/安全性。金士达的产品在并发性能上不到它所有的竞争对手的一半,我估计跟这个结构有关,很难期望V6能在这个方面有提升。想要提高性能,可能只有从金士达外围网关的配置上动脑筋,例如在期货公司局域网使用非加密通讯等等。
     
  4. 起步设计时按照高标准,可能工作量大一点,但以后工作量会省回来,成本会赚回来。
    既然叫了“开拓者”这个名字,就勇于开拓吧!