一 、简述

综合交易平台(Comprehensive Transaction Platform, CTP)是专门为期货公司开发的一套期货经纪业务管理系统,由交易、风险控制和结算三大系统组成 。它采用分布式架构,也是基于全内存的交易系统 。

  • 交易系统主要负责订单处理、行情转发及银期转账业务。
  • 结算系统负责交易管理、帐户管理、经纪人管理、资金管理、费率设置、日终结算、信息查询以及报表管理等。
  • 风控系统则主要在盘中进行高速的实时试算,以及时揭示并控制风险。

1、1   FTD 通讯协议

期货交易数据交换协议(Futures Trading Data Exchange Protocol, FTD),适用于期货交易系统与其下端交易客户端之间进行交易所需的数据交换和通讯 。

1、2   FTD 通讯模式

            

        FTD 协议中的所有通讯都是基于某种通讯模式进行的。通讯模式用来说明通讯双方协同工作的方式 。FTD 协议涉及到的通讯模式最为常用的有三种模式:

  • 对话通讯模式是由客户端主动发起的通讯请求。该请求被交易系统端接收和处理,并向客户端返回响应。例如查询合约。这种通讯模式与普通的 Client/Server 模式相同。

  • 私有通讯模式是指交易系统端主动向某个特定的客户端发送信息 。例如报单回报 。

  • 广播通讯模式是指交易系统端主动向所有连接到系统上的客户端都发出相同的信息。如行情 。

注: CTP 系统中对话模式下被返回的消息成为响应 。而私有模式和广播模式下被返回的消息被称为回报 。

1、2   数据流 

        FTD 协议中需要区分的两个重要概念就是通讯模式和数据流。数据流表示的是一个单向或双向的,连续的,没有重复和遗漏的数据报文的序列。通讯模式则是一个数据流进行互动的工作模式。每个数据流应该对应一个通讯模式,但是一个通讯模式下可能有多个数据流。

一种实现方式可以为每种通讯模式构造一种数据流,例如产生了对话流,私有流和广播流。也可以为一个通讯模式建立多种数据流,例如在对话通讯模式下建立两个流:查询流和交易流。广播模式下建立两个流:通知流和行情流。FTD 只规定各个报文在哪个通讯模式下工作,但是不规定数据流的划分。

不同的管理原则 :  不同的通讯模式有着不同的数据流管理原则。

  • 在对话模式下,一个数据流是一个连接的过程,在这个连接内将保障各个信息的完整性和有序性。但是,当连接断开后,重新连接将开始一个新的数据流,这个数据流和原来的数据流没有直接的关系。如果客户端在提交了一个请求之后,未收到该请求的响应之前断开了连接,则再次连接后,该请求的响应并不会被新的数据流接收。
  • 而对于私有模式和广播模式,一个数据流对应一个交易日内的完成某项功能的所有连接。除非强制指定,否则客户端会在重新连接之后,默认的从上次断开连接的地方继续接收下去,而不是从头开始。

        

1、3  两种数据交换模式       

    1.3.1   请求/应答模式

        

       客户端程序(Client)产生一个请求,发向服务端程序(Server),服务端程序收到后进行处理,并把结果返回给发出请求的客户端程序 。

                     

1.3.2   发布/订阅模式

        发布/订阅模式是一种异步消息传输模式。发布者发布消息到主题,订阅者从主题订阅消息。发布者与订阅者保持相对独立,不需要接触即可保证消息的传送 。一个 FIB 应用即可作为发布者,也可作为订阅者 。

1、4   CTP 系统架构

  • 交易前置:交易前置服务一方面通过 TCP 协议与交易终端连接,另一方面通过 FIB 总线与其他后台连接。交易前置的功能有三个:链路管理,协议转换和数据路由。
  • FIB 信息总线:期货交易信息总线,是交易系统的通讯底层构件,为上层应用提供了数据包的封装,请求/应答通讯模式,以及发布/订阅通讯模式。
  • 仲裁服务:指导排队服务的状态切换。
  • 排队服务:排队服务负责将交易请求序列化,发布交易序列,作为交易核心(tKernel)处理数据的来源。
  • 交易核心:交易核心负责基于投资者的持仓,报单,成交以及出入金情况进行实时的资金和仓位计算的工作,做到事前风控。同时对所有的报单进行校验,驱动交易所报盘接口,及发布实时交易结果到 FIB 总线上 。
  • DBMT:与业务数据库进行实时交互,将需要上下场的业务数据通过交易前置送到交易核心进行处理。
  • TMDB:向 FIB 总线订阅交易核心的处理结果,将相关的业务数据实时回写到物理数据库中供结算使用。
  • 交易初始化:交易初始化主要承担两大职能: 1,根据数据库的数据生成交易核心所需的初始化数据; 2,向
  • 系统发出交易准备指令,使交易系统开始新一轮的交易(trading session)。
  • 报盘:实现了交易所的行情和交易 API 接口,通过交易所提供的远程交易席位报单,收取报单,成交回报,以及获取行情等。
  • 银期管理:用于管理银期转账接口。
  • 清算银行接口(银期接口) :实现了各银行的银期转账接口,为交易系统与银行系统提供数据交互通道。

以下内容无关,仅当云盘存图 :

二、个人微信收款码(如果此文章对你有帮助,您可以扫描下列二维码,以鼓励我继续出优质文章)

CTP 客户端 技术相关 简介 一相关推荐

  1. Computer:正则表达式技术的简介(元字符/普通字符使用字典及其方法总结大全)、相关库介绍、案例应用之详细攻略

    Computer:正则表达式技术的简介(元字符/普通字符使用字典及其方法总结大全).相关库介绍.案例应用之详细攻略 导读:正则表达式有等价的概念,比较晦涩难懂,其实,使用正则表达式本身就是个难题.当面 ...

  2. [转载]Zookeeper开源客户端框架Curator简介

    转载声明:http://macrochen.iteye.com/blog/1366136 Zookeeper开源客户端框架Curator简介 博客分类: Distributed Open Source ...

  3. 【活动推荐】美团外卖两千万日订单背后的客户端技术架构

    美团技术沙龙由美团技术团队主办,每期沙龙邀请美团及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域. / 出品人 / 吴凯,美团高级技术专家 毕业于西安电子科技大学,2012年加入腾 ...

  4. 自学CTP客户端开发记录001

    CTP客户端开发指南 1. CTP 1.1 介绍 1.2 FTD 通讯协议 1.2.1 通讯模式 1.2.2 数据流 1.3 两种数据交换模式 1.3.1 请求应答模式 1.3.2 发布订阅模式 1. ...

  5. 大数据主要所学技术(简介)

    大数据主要所学技术简介: 目录 大数据主要所学技术简介: 一: 大数据技术生态体系 二:  各个技术栈简介 一: 大数据技术生态体系 二:  各个技术栈简介 Hadoop hadoop是一个用java ...

  6. 计算机科学与技术python方向是什么意思-大学计算机科学与技术相关专业学习路线...

    原标题:大学计算机科学与技术相关专业学习路线 不管你是如何选择了这门专业,我想告诉你的是这是一个很深的领域,没有热爱不如尽早转行. 根据百度百科计算机科学与技术专业(以下简称计算机专业)给出的描述,该 ...

  7. 第一章 android以及智能手机行业相关简介

    第一章 android以及智能手机行业相关简介读后感受&知识累计 最近深刻了解到自己基础知识的不足,变不断的开始阅读很多android相关的知识,希望这些对本人未来的职业发展有很大的帮助.下面 ...

  8. 南航计算机科学与技术学院院徽,南京航空航天大学计算机科学与技术学院简介...

    1959年,南航设立了"解算装置"专业,是全国最早设立计算机专业的高校之一.1983年正式成立计算机工程系,2010年11月,经学校批准,成立计算机科学与技术学院,下设计算机科学与 ...

  9. 认知智能整体技术框架简介介绍

    认知智能整体术体系简介 认知智能是计算机科学的一个分支科学,是智能科学发展的高级阶段,它以人类认知体系为基础,以模仿人类核心能力为目标,以信息的理解.存储.应用为研究方向,以感知信息的深度理解和自然语 ...

最新文章

  1. mysql8.0.19.0安装_一、MySQL8.0.19 安装教程
  2. mysql 提权方法_mysql常用的提权方法
  3. OpenCASCADE:使用扩展数据交换 XDE之特性
  4. Jar包转成Dll的方式(带嵌套的jar也能做) (转)
  5. STM32的AFIO时钟什么时候开启?
  6. Weblogic Server上部署War包
  7. HDU2017新生赛 找方块
  8. 【Go学习笔记2】go语言中的基本数据类型和包的介绍(一)
  9. Storyboard和Xib混用黑魔法-swift版
  10. 代码整合错了,回滚后再整合,为何要诉苦
  11. 开计算机课的积极消极影响,多媒体课件的负面影响及建议
  12. 微信公众号开发之消息的自动回复
  13. 双非年薪40W,从字节裸辞了
  14. AD9361参数设置总结
  15. VIM自动命令(autocmd)
  16. 1.[QT | QCharts | 动态显示]折线图标题字体大小无法更改
  17. linux 编译 suitesparse,Ubuntu下编译SuiteSparse-4.4.1和METIS-4.0.3
  18. 线性回归、逻辑回归-学习笔记整理
  19. 第七讲:flask框架
  20. c语言裸函数,【逆向知识】裸函数(Naked函数)

热门文章

  1. 《白日梦想家》观后感
  2. jquery datepicker 点击日期控件不会自动更新input的值
  3. NHibernate的关键点精要
  4. itextpdf添加表格元素_java使用iText生成pdf表格详解
  5. 广域信息服务器,网络工程师之广域信息服务
  6. process 类 java_编写可执行jar——java的Process类的使用(二)
  7. Linux6.8 ssh开启,CentOS 6.8升级 ssh到最新版SSH-8.2p1
  8. Mysql 连接的使用
  9. sql查询中使用in和exits比较和区别
  10. 两个企业级产品设计思路:流程效率指标功能生命周期长度