持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情
哇,假期就结束了,过得可真快啊......匆匆忙忙从家里赶来,沉下心,尽快调整一下状态,可不敢有节后综合症啊(狗头),今天继续学习整理一下 FIX 协议,主要是消息部分的内容......
消息尾
每一个消息(会话或应用消息)有一个消息尾,并以此终止。消息尾可用于分隔多个消息,包含有 3 位数的校验和值。
| Tag | 域名 | 是否必需 | 说明 |
|---|---|---|---|
| 93 | SignatureLength | N | 数字签名长度(不可加密) |
| 89 | Signature | N | 数字签名(不可加密) |
| 10 | CheckSum | Y | 校验和,消息的最末域。(不可加密) |
新订单消息(MsgType = D)
对于在消息头中设置了 PossResend 标志的订单消息,应当使用交易客户方订单编号(ClOrdID)核 实是否已收到该订单,具体实现时还应检查订单参数(买卖方向、证券代码、数量等)进行核实。如果 之前收到该订单,应以执行报告消息回应订单状态。如果之前未收到,则以执行报告消息回应订单确认。
| Tag | 域名 | 是否必需 | 说明 |
|---|---|---|---|
| 标准消息头 | Y | MsgType = D | |
| 11 | ClOrdID | Y | 交易客户方订单编号,在订单有效交易日内必需 |
| 109 | ClientID | Y | 客户资金帐号 |
| 1 | Account | Y | 客户交易编码 |
| 110 | MinQty | N | 最小成交量。 |
| 55 | Symbol | Y | 期货合约代码 |
| 167 | SecurityType | N | FUT = 期货 |
| 200 | MaturityMonthYear | N | 用于指定期货到期的年和月 |
| 205 | MaturityDay | N | 用于期货的到期日期,并被与到期年月 (MaturityMonthYear)联合使用 |
| 207 | SecurityExchange | Y | 用于指定交易所 |
| 77 | OpenClose | Y | 指明开仓,平仓 |
| 8009 | HedgeFlag | Y | 投机套保标志 |
| 8010 | TouchCondition | N | 触发条件 |
| 54 | Side | N | 买卖方向 |
| 38 | OrderQty | N | 委托手数 |
| 60 | TransactTime | Y | 订单发起时间 |
| 40 | OrdType | Y | 订单类型 |
| 44 | Price | N | 价格(限价订单时有效) |
| 423 | PriceType | N | 价格类型 |
| 99 | StopPx | N | 停止价 |
| 15 | Currency | N | 币种 |
| 59 | TimeInForce | N | 新订单生效时间,默认为当日有效 |
| 168 | EffectiveTime | N | 用于指定定单有效的时间 |
| 432 | ExpireDate | N | 有条件地用于在生效时间(TimeInForce)=在某 日前有效(GTD),而没有指定截止时间 (ExpireTime)的情况之下 |
| 126 | ExpireTime | N | 有条件地用于生效时间(TimeInForce) = 在某 日前有效(GTD)和到期日没有被指定的情况之 下 |
| 8096 | MacNetInfo | N | 委托方的机器网络信息 |
| 标准消息尾 | Y |
哇,这个表格整理起来真的有些费劲,不过在整理的过程中,好像发现在哪里见过这些名词以及那些编号.....就是在组里的一个文档中,那个文档里面也是整理了一下每个编号代表什么东西,当我们想要通过日志中的 fix 消息查看问题时,就要照着文档看,才能看懂该消息对应的意思是什么。突然感觉这庞大的概念离自己好近......
今天就先整理到这里,希望本文能够帮到你,如有错误,望指正!
我向你敬礼啊,Salute!