前言

	在金融行业做开发近7年,在公募基金、私募基金、金融软件商、金融券商工作过,在此整体一下自己对金融资管系统的理解,希望私募基金以及个人投资者搭建自己的系统有一定帮助。
	金融系统最主要的包含交易、行情、风控、结算、账户几大系统,也可以在加上量化系统。个人投资者一般不用关注结算系统,甚至私募也不用关注。故整理如下图所示整体架构。
	下面自上而下分别介绍一下各个子系统。

在这里插入图片描述

交易网关

       交易网关主要负责打通交易通道,能让交易订单下到证券交易所、期货交易所、数字货币交易所。需要连接交易所或者证券公司、期货公司接口,应交易品种和市场而异,这些理解成不同的交易上手。
       对于期货国内可直接使用CTP接口,模拟盘可用simnow提供的模拟账户,实盘使用实盘账户经过穿透式验证即可。对于外盘期货可使用易盛提供的接口。
       对于股票,目前国内把控的相对严格一点,我了解到的中泰证券和中信的cats是可以接的。
       对于外盘股票,可使用IB和老虎或者富途的接口。
       对于数字货币都有对应的restapi接口,可参考vnpy封装的接口。
       交易网关需要把交易服务器发的订单转化成上手的协议,正确把订单发送到交易上手,最终报到交易所。同时交易上手返回的订单回报、成交回报等信息需要通知交易系统。

行情网关

       行情网关主要负责从上手获取的交易数据,包含标的(股票、合约、数字货币)的信息以及行情(包括tick leve2 买卖数据等)。一般拿到tick数据就可以。
       行情上手和交易上手类似。
       同时行情网关一般还会合成k线数据,存入数据中心,提供给客户端或者量化系统使用。
       这个工作量也是很重要的一块内容。是量化交易的基础。

交易服务器

     交易服务器是最核心的模块 ,主要完成账户控制、资金控制、交易控制、事前风险控制等。
     账户是交易的实际主体,交易、资金等都是以账户为主体的。账户一般也会根据交易的品种分成股票账户、期货账户、数字货币账户、基金账户等。该模块也可以独立出账户系统。
     账户控制需要控制账户可交易的标的类型、交易状态、登录控制、权限控制、佣金方案控制等。很多公司的系统还抽象出管理员账户,对普通账户有一定控制能力。
     资金控制主要是用户购买力控制、佣金计算、保证金计算、账户出入金控制等。
     交易控制主要完成用户订单检查、订单报送、订单以及成交回报处理。这个这重点中的重点,系统的开发任务大部分集中在此。
     事前风控主要是对交易的控制包括购买力、资金检测等。

风控服务

      风控服务主要控制用户风险对于期货用户以及融资融券账户,达到一定的风险需要通知客户追加资金或者强平。这个对于资金安全很重要。

柜台(管理)系统

	资管客户端和管理前置构成交易系统的柜台系统, 主要完成用户开户、出入金、  密码管理   、可交易市场、可交易合约、佣金方案、委托、成交查询等功能。该系统业务线很多。

交易前置

   交易前置主要对外的系统,提供接入层服务,交易app、交易客户端以及量化客户端都通过交易前置接入整个交易系统。
   交易前置只要负责连接管理和消息转发,把用户的操作投递到交易系统,同时吧交易系统返回给用户的信息投递到对应的客户。
   同时在这个部分可拓展出跟单系统,把用户A的特定信息投递到订阅A用户的客户那。

量化系统

    交易前置可提供接入api,让量化系统接入整个交易系统。常见的做法是api封装成python接口,直接使用开源的vnpy接入系统。
    量化系统的核心其实是用户自己的交易思想如何转化成计算机语言,通过特定的数据做加工处理,形成决策系统,适当时机开仓,同时控制止盈止损,控制胜率和盈亏比,以帮助客户轻松交易,严格执行用户交易思路,避免人性的弱点。

  以上观念有不完善和错误之处待各位及时指正。谢谢!
Logo

开源、云原生的融合云平台

更多推荐