IMIX 协议简介
IMIX(Inter-bank Market Information eXchange), 狭义上指IMIX协议,全称是银行间市场业务数据交换协议, 是一种用于在银行间市场交易活动(包括人民币、外汇和衍生品等各类产品的交易、发行、确认和清结算等)中实现金融信息实时传输的电子通信协议。 IMIX协议是金融行业标准,起草单位为中国外汇交易中心。经全国金融标准化委员会审核通过,该标准于2011年6月2日由中国人民银行发布实施, 标准号JR/T 0066-2011[1]。
重点学习内容
对于 消息体的解析。重点【重复组】等概念。
Link
Imix to XML
public static void main(String[] args){
String msgBody = ""; //指定消息体内容
DataDictionary dd = null;
imix.Message message = new imix.Message();
try {
dd = new DataDictionary("IMIX10.xml");
// message.fromString(msgBody, dd, false);
if(msgBody.contains("35=S")){//对话报价、点击成交、做市报价
message = new Quote();
message.fromString(msgBody, dd, false);
}else if(msgBody.contains("35=8")){//成交数据
message = new ExecutionReport();
message.fromString(msgBody, dd, false);
}else if(msgBody.contains("35=6")){//意向报价、双向报价
message = new IOI();
message.fromString(msgBody, dd, false);
}else if(msgBody.contains("35=D")){//限价报价
message = new NewOrderSingle();
message.fromString(msgBody, dd, false);
}else{
}
} catch (Exception e) {
// TODO Auto-generated catch block
}
String xmlStr = message.toXML();
}
上行
首先仔细学习文档。(1,2)
一、实体的定义
一个市场一种类型对应一个实体。
Send=>Modify=>Cancel=>Agree/Reject
二、职责
- api
xml 对应的 bean
- market
bean->xml 发送给外汇交易中心。
所有的 bean 都应该在 imix.imix20
下。
服务的启动
Click Run AppStart
in project.
- 成功标志
U should see log like this:
api is logon!
日志的查阅
- 35=3
Send fail, you can get error detail in outgoing field.
- 35=J
Send success, but has error.
U can get detail in applErrorDesc, applErrorCode.
数据的修改
After msg send into chinamoney, some fields will be init.
If you want to modified imix msg, these fields must be corrected set:
-
QuoteID
-
TransacTime
-
OrigClOrdId
Tips
- WTD
使用场景——做事方无需编写。
- logon
logon with YL.
简单使用
- 发起方
发起【请求报价】,选择至少5家对应的客户。提交对应申请。
- 接受方
在【消息盒子】中会收到对应的消息提示,选择成交。
然后,在发起方的【消息盒子】中会收到对应的信息。
API 的启用
交易前台。
【系统】=》【设置】=》【接口交易】,勾选 API 权限即可。
简单业务
- 请求报价
不存在请求报价成交。API只存在撮合成交。
发送限价报价去撮合成交。
特殊债券
要保证债券没有过期。(比如行权的权利)
ABS 债券
可以在 RDI.ABSInfo 表中获取对应的债券信息。拥有到期收益率。
(1789008)
行权债
拥有行权收益率。
关联行权表进行查询,保证行权类型为 1/2,且没有到期。
上清所托管
直接托管结构为上海清算所。
(1180090)
净额清算
在 RDI.InterBankBondInfo
进行查询,NetSettlementIndicator=’Y’ 为允许净额清算的债。
- 13
非集中清算/全额清算
- 6
集中清算/净额清算
深度行情
由做事方发起。
priceDepth 深度
0-BID-买入
1-OFFER-卖出
档位
- 空档位
一般无效。(只有清算速度)
作用:如果市场上的一笔报价已经被成交了,可以接收到对应的空档位行情信息。可以及时更新,然后过滤掉此笔行情。
- 非空档位
一共有 5 档。
撮合成交
对于每一个行情,都可以发一笔对应的限价报价与之撮合成交。
业务细节
限价报价
一、报价状态
对于每一笔撮合成交,都将 QuoteState 转换为 OrdStatus。
若 LeaveQty 金额不为 0,则是部分成交,为 0 则为全部成交。