美文网首页金融基础技术与业务
如何构建一个交易系统(三)

如何构建一个交易系统(三)

作者: 企开老K | 来源:发表于2017-10-26 19:56 被阅读112次

    这篇文章主要参考 CMEGroup 里面公开的服务模块, 当然最终我们的系统里面有些部分会简化或者丰富,先30000英尺高空俯视他们系统提供了哪些服务 (链接):

    清分 Clearing

    最下面是clearing 中文翻译过来叫清分, 这里有必要区分几个名词:清分;清算;结算, 知乎了一把:

    清分  Clearing =  记账

    对交易数据依据机构和交易类型进行分类汇总,并计算结算金额的过程。

    清算 Settlement = 算账

    指根据清分结果对交易数据进行净额轧差和提交并完成资金划拨的全过程。

    结算  Settlement of Accounts = 转账

    指完成客户账户间资金划拨的全过程。

    记账从字面上理解非常明了, 但是在交易系统里面的记账, 是个非常复杂有挑战性的模块, 由于交易频次非常之高, 保证transaction 一致性会是个挑战。 这个模块也是整个交易平台的基础、核心之一,  如果钱都没有记对、算对, 其他部分就皮之不存毛将焉附; CMEGroup 里面说了他们clearing 系统每年处理金额大概在 $1,000 trillion(万亿),这个是流水,应该是合同的面值,也会包含杠杆部分; 但是这个也是非常牛掰的量。万分之一, 足够一个公司活下来了。

    交易平台

    大部分人的注意点在这里, 这里也是占整个交易系统非常大部分的模块。

    匹配系统

    根据不同的匹配算法,撮合成交订单, 最简单的匹配的逻辑其实很容易理解, 买卖单子按照价格分别排两个列表, 买价(BID)从高到底(买价越高越容易成交),卖价(ASK)的从低到高(卖价越低越容易成交)。 然后入砌俄罗斯方块,买价格大于等于卖价格,这两个单子就匹配好了。

    比如市场现行情如下, S&P500, 最高买价(BID), 2041.00; 最低买价(ASK)2041.25, 点差0.25(记得,还有上文说的做市商), 如下你现在下个 在2041.25 买 100 的委单。  

    刚好有卖价在2041.25的单子150个,当然这150个有好几个人下的,  从上到下,依次成交,直到最终100个单子全部被匹配掉,还剩下面的50个。

    匹配系统, 其实只干了这一件事情; 同时匹配系统需要把价格广播出去, 在我们这里, 价格没有因为此单影响, 最终还是, 2041.00 / 2041.25; 如果用户买了200个, 那么价格就会调整到, 2041.00 / 2041.50; 这个时候可能更多人买, BID 价格会继续往上涨。 或者流动性供应商注入更多的BID 单子, 最终点差稳定一定范围内, 而价格根据买卖双反的博弈,往上或者下移动, 大家可以参考市场深度图, 可以看到买卖双方那方更强。 如下面的市场深度图可以看出那方更强:

    市场深度图

    价格

    从匹配系统出来的价格就是我们日常说的价格, 还有五档数据, 历史数据, K线整合等等, 就是另外一个模块,专门负责价格的聚合整理和广播出去。 

    下单

    负责接收你买卖指令的地方, 在发送到匹配引擎前, 需要做风险检查, 比如资金充沛与否,是否在黑名单, 账号是否被锁定等等。 

    风控

    风险的监控和管理,在开市的时间, 特别当海量的单子涌入系统, 用户的持仓,现金,占用保证金,浮动盈亏等都在不停的变化, 对风险的实时监控是个非常大的挑战。

    前置机(Front-end)

    嗯, 最终到我们用户可能接触到的地方, 这里控制用户入口, 用户session 会话的管理,输入订单,取消,查询订单信息, 查看账户持仓比等等信息。 

    规则引擎

    这里的我们所说的规整是关于交易的, 有个专有的名词: 算法交易、量化交易(Quant);一听就是个非常高大上的名称, 特别在集合当今热门大数据和AI; 提供这样服务的公司更是如雨后春笋遍地开花, 这可能的确也是未来的交易方向, 据说现在排名靠前的基金投资公司, 大部分的投资决策是靠计算机规则驱动。 这也不难想像, 在过去, 主要靠“老司机”喊单, 哎, 金叉,或者死叉发生了,大家快加仓或者减仓!到某个压力位了, 大家注意了等等;  MACD, RSI, KDJ, BOLL, 能上的指标和参数都给上了。整个交易页面看起来如蜘蛛网一般,让人感觉上好像很牛掰; 但是靠 “老司机” 喊单, 一双肉眼观察还是慢了, 老司机也不能记得所有的参数指标, 记得的历史价格范围有限,有时候还眼花,或者有个人情绪; 这个时候计算机就派上用场了;于是乎人们把这些经验电子化, 建立相关的计算模型;然后把某种产品的过去几年历史数据都跑一把, 看能否跑赢大盘,不断调整自己的模型, 最终验证自己的方法盈利相当很不错,然后动真格了, 拿真金白银操练, 完事了最后还是亏?  历史是惊人的相似, 但是推动历史的却是黑天鹅事件。

    有个比较有意思的模型, 每次投资都在上次基础上双倍投, 按照理论只要你钱够多, 只要最后一次中了, 这样你就可以绝对赚, 但是这个只存在想象的世界里面, 事实证明是错误的,首先你没有无限多资金;现在很多的模型,已经远远超过一般人能够理解的范围, 都是些研究金融,数学,甚至物理的博士搞出来; 日常我们接触比较多的止损, 其实是一种最最简单的模型, 当价格触及设定的止损线, 就立即在市场上面下一个市价单,这个其实就是个自动化交易的过程,以后你也可以跟别人说你也在搞量化交易!

    结合现在的大数据和AI, 量化交易想象的空间将非常之大, 如果能将这些金融工具能够以非常便捷、低成本, 低门槛的带给我们云云个人投资者,对于投资领域无疑如普罗米修斯之火, 达到真正意思上的金融面前人人平等。

    后交易(POST TRADE)

    传统意义上, 这部分可能针对OTC 比较多, 由于OTC交易的复杂性, POST 阶段有非常多的事情需要处理, 对比校验, 确认,再确认等。 投行后面一般都有一个庞大的团队负责处理这部分的工作, 所以他们现在更趋向于推荐STP Trade,  笔者在摩根时候的团队花费很大部分精力处理这部分的工作, 聚合每个trade, NEW, CONFIRM, SETTLE, MATURE 等不同阶段花费的时间。 从而可以找出, 那个步骤有瓶颈, 这里影响到公司不少一部分的利润。 

    其实整个交易的生命周期, 海量的数据被生成, 在过去,这些数据也许只能作为一个备份,放在哪里, 现如今大数据处理日趋成熟, 对于这部分数据的挖掘,兴许能够发现很多意想不到的结果!

    下面系列,将结合我们的业务, 更多谈到技术相关的部分, 业务的部分本人也是班门弄斧, 略懂一二, 大部分的见解也是管中窥豹, 理解可能多有偏见和不足, 欢迎拍砖!

    相关文章

      网友评论

      • 李戬plutocracy:请问作者大人是何方神圣?受小弟一拜,如果能报上江湖名号,小弟感激涕零。
        企开老K:@李戬plutocracy 我是个金融创业公司的CTO, 没有江湖名号,只是试图为金融创新做些力所能及事情。
      • 云_5cdf:可以

      本文标题:如何构建一个交易系统(三)

      本文链接:https://www.haomeiwen.com/subject/ddvxpxtx.html