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:

  1. QuoteID

  2. TransacTime

  3. 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 则为全部成交。

请求报价