QuickFixJ FIXT.1.1 向彭博发送MarketDataIncrementalRefresh问题求助
FIX 5.0 SP2 彭博固定收益价格上报实现说明
核心逻辑说明
你当前混淆了NoMDEntryTypes和NoMDEntries的作用:
NoMDEntryTypes是报文头用于声明本次上报包含的所有报价类型集合,而单条买价/卖价数据需要封装在NoMDEntries下的独立条目中,每个价格对应一个独立的MDIncGrp实例。
必写字段映射规则
- 证券识别:
SecurityID字段填CUSIP编码,SecurityIDSource固定填4(代表CUSIP编码规则,彭博固定收益类上报强制要求) - 报价动作:
MDUpdateAction填0代表新增/更新价格,填2代表删除对应报价 - 报价类型:每个条目下
MDEntryType填0对应买价,填1对应卖价 - 价格数值:用
MDEntryPx字段传入对应报价的浮点数值 - 可选补充:可通过
MDEntrySize传入对应报价的挂单量,MDEntryDate/MDEntryTime传入报价时间戳
兼容FIXT.1.1的代码示例(基于QuickFIX/J)
import quickfix.fix50sp2.MarketDataIncrementalRefresh; import quickfix.fix50sp2.component.MDIncGrp; import quickfix.field.*; // 初始化增量刷新报文 MarketDataIncrementalRefresh marketDataRefresh = new MarketDataIncrementalRefresh(); // 设置本次上报2条报价:1买+1卖 NoMDEntries noMDEntries = new NoMDEntries(2); marketDataRefresh.set(noMDEntries); // ---------------- 第一条:买价 ---------------- MDIncGrp bidEntry = new MDIncGrp(); // 更新动作:新增/更新 bidEntry.set(new MDUpdateAction(MDUpdateAction.NEW)); // 报价类型:买价 bidEntry.set(new MDEntryType(MDEntryType.BID)); // 买价数值,示例为98.5 bidEntry.set(new MDEntryPx(98.5)); // 买量,可选 bidEntry.set(new MDEntrySize(1000000)); // 关联CUSIP证券 bidEntry.set(new SecurityID("91282CFX4")); // 替换为你的实际CUSIP bidEntry.set(new SecurityIDSource(SecurityIDSource.CUSIP)); // 将买价条目加入报文 marketDataRefresh.addGroup(bidEntry); // ---------------- 第二条:卖价 ---------------- MDIncGrp offerEntry = new MDIncGrp(); offerEntry.set(new MDUpdateAction(MDUpdateAction.NEW)); // 报价类型:卖价 offerEntry.set(new MDEntryType(MDEntryType.OFFER)); // 卖价数值,示例为98.7 offerEntry.set(new MDEntryPx(98.7)); // 卖量,可选 offerEntry.set(new MDEntrySize(1500000)); // 关联相同CUSIP证券 offerEntry.set(new SecurityID("91282CFX4")); offerEntry.set(new SecurityIDSource(SecurityIDSource.CUSIP)); // 将卖价条目加入报文 marketDataRefresh.addGroup(offerEntry);
原始报文校验样例
你最终生成的FIX报文核心片段应符合以下格式:
8=FIXT.1.1|9=xxx|35=X|...|268=2|279=0|269=0|270=98.5|271=1000000|48=91282CFX4|22=4|279=0|269=1|270=98.7|271=1500000|48=91282CFX4|22=4|10=xxx|
字段对应关系:268=NoMDEntries、279=MDUpdateAction、269=MDEntryType、270=MDEntryPx、271=MDEntrySize、48=SecurityID、22=SecurityIDSource。
内容的提问来源于stack exchange,提问作者user16806803
相关产品推荐
相关产品推荐

