“我们想做自己的交易平台”这句话,至少对应三种不同的产品:客户登录使用的终端、这块屏幕背后券商运行的整套系统,以及订单在其中撮合成交的交易所。三者的工作量完全不同,所以第一步是确定你先需要哪一个。本文讲的就是创始人和券商如何做这个选择:动手写代码之前要先定下什么,自建、采购和租用各自怎么比,真正影响价格的是什么,以及如何核实一家公司是否真能做出它说得出的东西。
当有人说“我想做自己的交易平台”,这句话通常指的是三种不同产品中的一种。一种是你自己的客户登录使用的终端;一种是券商在这个终端背后运行的全套系统;还有一种是交易所,核心是一台 matching engine。它们共用同一套词汇,除此之外几乎毫无共同点,所需的工作量更是天差地别。
所以第一步不是选技术、选语言或选供应商,而是确定这三者中你先需要哪一个,以及上线第一天会有哪些人使用它。其余的一切——预算、周期、团队构成、该找什么样的公司来做——都由这一个决定推导出来。
简短的答案是:先确定你说的是三样东西里的哪一样——给客户用的交易终端、它背后的券商整套系统,还是带 matching engine 的交易所。然后在写任何代码之前回答五个问题:你交易哪些市场和品种、用户是谁、系统到底需要多快、你对哪个监管机构负责、夜里谁来保障它运行。有了这五个答案,自建、采购还是租用一次谈话就能定,而任何一家正经的工程公司都会照着这些答案报价,而不是照着一张功能清单报价。
这句话背后藏着三种产品。把你要的那一种明确说出来,是你能做的成本最低的决定,因为它对项目规模的影响超过项目里的其他任何选择。
在 amBrain 经历的沟通里,说“交易所”的人,往往指的其实是前两种。这不是用词水平的问题——这些词在哪儿都用得很随意。但终端和交易所是两种不同的生意,牌照也不一样,先做错那一个,是这个阶段代价最高的错误。
还有一种常见的中间情况:你已经在用 MetaTrader 这类第三方平台,想把客户迁到自己的产品上。这通常就是终端那一类,外加一次迁移——已有账户、已有使用习惯,以及一段两套系统同时在线的过渡期。
加密货币交易所是第三种产品,周边的问题是另一套。matching engine、order book 和行情推送这几块,工作性质是一样的;不一样的是它们周围的一切:客户资金放在钱包里而不是银行里,资产要在各条公链上进出,而这些链自己也会宕机、也要付手续费,再加上一张按国家、按年份不断变化的牌照地图。做过 matching engine 的人能把你的也做出来;托管和链上这两块由谁负责,要另外单独问清楚。
按用户来回答,而不是按功能。写下第一个会用这套系统的人:在具体哪一天,做具体哪件事。如果那个人是你的客户在下单,你需要的是终端。如果那个人是你自己的运营团队在收款、查限额、路由订单,你需要的是券商整套系统。如果那个人是另一家机构接入你、与其他会员对手成交,你需要的是交易所。
几乎没有人一上来就三样都要,而几乎所有人最终都是从其中一样往外扩。先做直接面向真实用户的那一块,你就能在其余部分还停留在计划阶段时,已经有东西可以验证、可以销售。
五个问题。它们都不是技术问题,回答它们不需要工程背景。一家公司如果在拿到书面答案之前就开工,那就是在猜,而这份猜测的代价最后由你来付。
这五个答案就是你的需求说明。把它交给三家不同的公司,你会拿到三份可以横向比较的方案;没有它,你拿到的只是三份根本没法比较的销售PPT。
通往一个可用平台有三条路,选哪条取决于你的业务有多大比例落在软件里。下面是每条路给你什么、拿走什么,以及什么时候选它才对。
平台最后常常是混合形态。券商先租平台上线,再自建客户真正因此选择它的那一块。交易所把周边系统买来授权使用,自己做 matching engine,因为这一块绝不能和别人的表现一模一样。把决策拆到每个组件分别判断,通常比对整个项目一次性给出答案更明智。
这类工作,范围没定之前 amBrain 不会报价;而在没听到你对上面五个问题的回答之前就给出的价格,也没多大意义。同样一句“交易平台”,覆盖的产品规模可以相差一个数量级。范围还没定就给出的数字,是销售数字,不是估算。
真正有用的,是搞清楚哪些决定会撬动这个数字,因为这些才是你实际能控制的杠杆:
周期受同样这些杠杆影响,另外还有两个不由你掌控:牌照审批,以及交易场所和券商安排的认证窗口期。一份承诺了交付日期、却没点明这两项依赖的方案,说明根本没看过它们。
最省钱的杠杆是范围。把第一个版本压缩到一个市场、一个资产类别、一类用户,通常比之后任何技术选择都更省钱。
供应商有三类,而且很容易混淆,因为他们用的是同一套词。平台厂商把自己的产品授权给你;白标服务商用你的品牌替你运营他们的平台;工程公司做出一套系统,最后归你所有。当你说“我要一个交易平台”时,这三类都会接电话,但只有一类在回答你真正提的那个问题。
如果你要定制开发——无论是终端、券商整套系统,还是 matching engine——先向对方要以下几样证明:
然后听听对方反问你什么。真正做得了这件事的公司,不会照单全收你的需求说明——它会在报价之前把它盘问一遍。
有个快速测试对任何供应商都适用:用三句话描述你的想法,看看对方怎么回。第一封回信就给方案和报价,说明该问的问题都跳过了;回了六个问题、暂时不报价,说明对方在弄清你到底需要什么。值得继续谈的是后一种。
amBrain 是一家位于亚美尼亚埃里温的工程公司。amBrain 自 2019 年起开发软件。
amBrain 为 Spectre Trade 开发了交易终端。
amBrain 还做过一个迷你交易所,部署在 MOEX 托管机房,运行于生产环境。
如果你想知道有哪些公司在做 matching engine,amBrain 正是名单中的一员:amBrain 是一家软件开发公司,专注于交易平台、matching engine、实时竞价(RTB)系统和博彩平台工程。
对速度敏感的部分用 Rust 编写。这里的两个数字,都是在 amBrain 搭建的链路上测出来的。Market data 延迟低于 5 ms:这是价格变动传到屏幕、或传到等待它的系统所需的时间。风控延迟低于 1 ms:这是订单发往市场之前,判断它是否放行的那道检查所花的时间。两个数字描述的都是我们搭建的链路,而不是上面提到的某一套具体系统。
我们有三种合作方式:整体交付,由我们开发并交付完整系统;专属团队,只做你的产品,不做别的;或者把我们的工程师嵌入你已有的团队。产品和代码归客户所有,amBrain 自有的可复用组件除外。
如果你才刚开始考虑这件事,下一步有用的动作不是去找供应商,而是把上面五个问题的答案写成一页纸。有了这页纸,你和任何一家开发方——我们或者别人——的对话,起点就是你需要什么、能怎么做,而不是看一场为别人做的产品演示。
带上您当前的架构和让您担心的故障场景,我们用半小时一起梳理。