写点什么

支付系统概述(九):外汇系统

作者:agnostic
  • 2024-04-20
    上海
  • 本文字数:2504 字

    阅读完需:约 8 分钟

前面八章介绍和商户相关的收单结算系统、和用户支付相关的收银支付资产管理系统,和外部机构相关的渠道网络和资金网络,基本上一个最乞丐版的支付系统也就是这么些东西了。接下来要介绍的部分都是做一个高级一点的支付系统需要的。


如果我们从事的是跨境支付的行业,那就一定会涉及到币种的问题。在跨境贸易的背景下,商户需要的币种、用户支付的币种、渠道能处理的币种,往往是不一致的。如果存在币种的不一致,就需要引入外汇系统处理这些币种之间的关系。


由于外汇系统的特殊性,我们不能一上来就开始说业务架构,先要普及一下外汇的知识。外汇主要是处理不同国家货币之间差异的问题的。所以外汇里面就有几个比较重要的概念:

  • 币种对,两个国家的币种之间形成币种对的关系,两个币种之间货币价格的比例就是汇率。也可以认为是一个国家货币对另外一个国家货币的价格。

  • 对于外汇的交易,往往交易和最终进行资金的交割行为是分开的。这就是 tenor 的含义。如果是一手交钱一手交货的,就是 T0,差一天和两天分别是 T1 和 T2。T2 以内都算即期-SPOT。对于 T2 以上,1W、1M、1Y,汇率的计算方式就不一样了,需要加上流动性,都称之为远期-FORWARD。

  • 另外,一个币种对有买和卖两个方向,分别为 BID 和 OFFER(ASK)。这个买卖是从银行的视角看的。


对于一个外汇系统,要完成的无非就是对于币种对的报价和交易。

同时,由于外汇系统天生就是一个风险交易系统。持有的外汇敞口,既是风险,同时也是潜在的收益,我们称之为 VoR(value of risk)。那么外汇系统还需要能够管理外汇敞口的风险。

总体来看,一个外汇系统提供的功能无非外乎:

  • 报价:通过获取机构的价格,加上自身的风险点和 margin,形成对客户的价格。

  • 接受用户交易:提供服务,用户可以通过页面或者 API 等方式进行下单。

  • 敞口管理:用户下单之后会形成外汇的敞口。我们需要管理这些敞口的风险,并根据策略和机构交易消除敞口。

  • 和机构进行交易:通过渠道网络,和机构进行交易,消除敞口。

  • 资金交割:对用户、对机构,进行资金的交割。


在应用架构上,外汇系统我们大致分为报价系统和交易系统。

报价系统的职责能简单,基于机构的汇率,加工得到对客户和内部的汇率。对于报价,一般提供两类的实现方式:

  • 基于请求的报价模式:不连续生成汇率。有用户请求汇率的时候,打穿到机构,先拿到机构的报价,然后再加工得到对客的报价。一般在交易量较小,但是交易金额比较大的场景下,为了减少系统复杂度、降低汇率波动风险,会采用这种实现方式。

  • 流式报价的模式:对于交易量较大的场景,这种报价模式就会有比较大的限制:会强依赖机构的稳定性,同时机构一般也无法承载互联网这么大的交易量。在这种模式下,我们会采用流式报价的实现方式。定期基于机构给出的价格(可以是机构推送,也可以是我方定时轮询,取决于机构是否提送流式报价的服务),然后加工出我方的成本价。在需要对客报价的时候,基于最新的成本,实时加工出对客的汇率。


对于交易系统,前后有三代的设计模式。

  • 第一代我们称之为背靠背的交易系统。这类系统的实现非常简单,只需要一个记录外汇交易的模型,实时和机构进行交互,并通过模型的生命周期(受理-处理-成功/失败)管理交易的状态。这类的交易系统,优势是实现简单,我方几乎不维护敞口风险较小;劣势是无法支持内部的钆差,同时也无法实现多渠道的择优。

  • 第二代我们称之为基于交易台的交易系统。这类系统的实现就会相对复杂。这类系统一般会把内部抽象为三层交易台:对客交易、内部交易和机构交易。内部有交易敞口和交易两类模型。用户下单由对客交易台受理,通过对客交易,形成对客的敞口。一般不同的客户、不同的场景会区分成不同的对客敞口。对客户的敞口会通过内部交易卖给内部交易台,形成内部敞口。内部交易台可以按主体业务线隔离,也可以不隔离,视监管要求和内部钆差诉求而定。在内部交易台可以完成跨主体跨场景跨币种的钆差。最后形成实际需要和机构交易的敞口。最后,将外部机构的能力抽象为机构交易台,通过交易策略,将内部敞口按需通过内部交易卖给机构敞口。然后实时通过平盘交易发送给机构,处理掉机构敞口。这类系统相对比较复杂,需要考虑到内部敞口的风险;但是这类系统可以比较好的支持内部的钆差从而提升成本优势,同时可以支持多渠道择优、合并/拆单等灵活的机构交易策略。

  • 第三代我们称之为基于风险的交易系统。这类交易系统是由第二代演进而来的。对客交易和机构交易没有变化。内部交易台演变为风险池。在风险池中的敞口,依据公司的风险偏好和市场的风险水位,通过对 VoR 的计算,决策是保留还是交易。如果交易,再通过机构交易台进行平盘操作。这类外汇系统适用于风险偏好较高的公司,同时需要有比较成熟的策略和外汇人员来监控和运营敞口(风险池)。


在技术架构上,外汇系统重点需要考虑的就是时效和风险。

  • 时效包括报价的时效和交易的时效。对于外汇市场而言,时效就是风险。所以提升处理时效是外汇系统需要重点考虑的架构课题。对于流式报价,我们一般采用实时计算系统来提升时效。同时,对客报价,我们会采用缓存等技术提升查询效率。对于交易系统,我们会将实时交易和交易后处理严格分开。上游系统直连外汇系统进行交易下单,外汇系统也直连渠道网络进行平盘。对客下单和平台相关的核算、清算等操作,采用交易后处理的方式,异步执行。总之,对于外汇系统,我们一般会考虑尽量缩短调用链路、减少操作步骤等方式,提升整体处理时效。

  • 风险主要支的就是敞口的风险。不管是第二代还是第三代的系统,都会在一定的周期内维护内部敞口,从而会 take 风险。对于外汇系统,不论是报价还是交易,我们都会采用交易、核算、核对的三道防线去保证风险,同时对于敞口会有额外的时效性监控来预防敞口长期未处理带来的市场风险。

同时,对于内部逻辑问题和机构不可用的风险,我们都会采用备份的方式来应对:

  • 内部交易台的逻辑会有人工交易的方式进行备份。

  • 机构的风险会采用机构多活的方式来应对。

最后,外汇系统相对于收单,收到的国家监管会更多,在设计交易系统的时候,还需要考虑监管的问题:

  • 部分不支持离境的币种,需要选择支持 NDF 模式的机构。

  • 对于部分国家,需要考虑本地化的部署。

  • 对于部分业务,例如远期和掉期,需要考虑到持牌展业。


发布于: 刚刚阅读数: 7
用户头像

agnostic

关注

常识、KISS、高可用、合规架构、架构治理 2019-02-14 加入

二十年架构经验,互联网金融专业架构师。Open Group Master Certified Architect

评论

发布
暂无评论
支付系统概述(九):外汇系统_支付系统设计与实现_agnostic_InfoQ写作社区