关于quickfix的疑问

时间:2014-05-19 08:58:04

标签: c# quickfix

您好我对quickfix协议的疑问很少。

  1. 我想知道完整的新订单单流,这意味着在发送新订单单个消息后,它将如何传播(如第一个单个订单消息被发送到服务器然后服务器将如何发送什么类型的执行报告和订单状态的顺序(即标签37 =新的,部分填充,填充,完成等)?是否通过修复协议分配执行数量。

  2. 什么是交叉订单和多头订单?我们在哪里以及如何使用它?

  3. 它标记为篮子订单。(篮子订单是许多股票的交易,通常超过10个,只有一个订单输入。)

3 个答案:

答案 0 :(得分:3)

  1. 更准确地说,当您的NewOrderSingle(NOS)被发送到您所连接的一方时,可以发送执行报告以确认订单已收到(新)但不是所有系统都这样做(大多数不这样做)在我的经验中)。如果资产的交易数量少于订单数量(FX通常一次完全填写,固定收益证券的最小批量大于1),您可以收到部分填写的执行报告(即数量的一部分由市场填补。这些数量及其到达率主要取决于流动性,这可能是优化填充处理的一个考虑因素。最后,当整个数量由市场填补时(无论是部分还是全部),将发送填充消息,告诉您订单已完成。如果另一方支持它,则在执行期间的任何时刻都可以发送取消或替换填充,并且预期将基于这些更新填充细节。最后,如果订单上有未完成的数量,某些系统将在当天市场收盘时发送完成日执行报告。这告诉客户在下次市场开放之前,如果需要,可以安全地在订单和填充上执行日终处理等。
  2. 当一方交叉交易(与自己交易)时使用交叉订单消息,并且旨在提醒合规性,后台,基金管理员等内部分离资金,部门等的可能性。 多股订单消息用于交易多元证券,例如掉期。 See investopedia for details on multileg instruments
  3. 如果您想以相同的顺序交易多个证券,您可以使用NewOrderList消息将订单分组到单个消息中,这有效地使您能够将篮子交易作为不同工具的订单列表。
  4. 我应该在这里添加一些额外的行业信息(我希望能回答你的问题吗?)。如果您在买方(我假设您是在发送订单),您将必须遵循您所连接的卖方公司给出的FIX规范。我曾与大量的FIX提供商合作,包括几乎所有的大牌和大银行,并且没有一个人坚持使用FIX协议而不添加自定义标签或更改标签定义(或更多,更糟糕)。他们支持他们所支持的东西,没有别的东西,我没有看到很多支持列表订单,所以不要指望他们支持你想要的东西。另一方面,如果您是卖方,请支持更多协议,以便我们低价买方。

答案 1 :(得分:1)

QuickFIX不是协议。 FIX 是协议。 QuickFIX只是一个实现协议的引擎。

此外,最好将FIX视为一种半通用的消息传输协议,它附带一个建议的消息和字段列表,您可以使用(但不必)。强调“建议”一词,因为在实践中,每个对方都对这些消息和字段进行少量定制,而每个对方都以稍微不同的方式使用这些消息。

因此,对于您的任何问题都没有一个正确的答案,因为所有问题都依赖于交易对手。您要连接的一方应该有一个接口规范,用于定义他们期望的消息以及您对它们的期望。

答案 2 :(得分:0)

您在谈论哪种资产类别?

  1. 发送NewOrderSingle后,它会被您连接的FIX发起者接收。然后将其传递给定价和交易引擎,该引擎决定是否填写请求。如果达成协议,那么您将收到一份FIX执行报告。然后你完成了这笔交易。如果是标签151中可能给出的部分填充。

  2. 订单类型取决于您的定价和交易提供商。

  3. 有关代码,请参阅http://www.fixtradingcommunity.org/FIXimate/FIXimate3.0/

  4. 另请尝试使用文档:http://www.quickfixn.org/tutorial/creating-an-applicationhttp://www.quickfixj.org/documentation/