如何设计一个证券期货撮合交易引擎?


CS大四狗,毕设准备做一个证券期货撮合交易引擎.该如何选用技术?有哪些注意点? 通讯协议,消息中间件,队列系统都应该如何选择与设计?

撮合交易 互联网金融 消息中间件 消息队列 金融工程

狂暴黑岩舒 11 years, 5 months ago

你这个毕业设计要实现起来相当的复杂。

第一你是撮合交易系统,
撮合交易系统的精髓是成交交易,是盘口,是时间序列引擎,
第一时间必须精确到毫秒,强大的底层API,

股票上市,突发事件,会导致成交系统出现故障,比如一秒钟,直接跨越好几个数量级,
期货是双向交易,要深入理解竞价集合和撮合交易的本质,要对每一秒中的数据能够快速成交。
第二期货系统本身就是存在点差,所以,有些外汇系统,会在大的波动行情会出现巨大的滑点。
要避免出现点差扩大和滑点的产生,
第二行情本身是有滞后性,注意秒级会产生巨大的交易量和撤单,注意盘口数据挂单。
撮合交易,是主动成交,根据盘口的挂单主动买卖进行成交,挂单是被动成交。

参考的技术:

外汇中的程序MT4,MT5,部分外汇交易商会采用MT4,MT5的程序,但是我感觉会很坑,居然爆仓之后仍为负数,比如福汇交易商.
标准的金融交易协议是FIX,Fast协议。
高频的支持必须用到巨大内存数据库系统,Oracle大概100w$,
最好对时间序列有很好的支撑和性能要求,注意有些交易是订阅或者广播式,需要很高的性能支持。
时间序列不是所有的数据库系统都会满足。

艾克丝玛琪娜 answered 11 years, 5 months ago

Your Answer