We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode 💱让A股爆单的交易机制,与各国不同的镰刀招数 - 龙白滔/东东枪/北冥乘海生

💱让A股爆单的交易机制,与各国不同的镰刀招数 - 龙白滔/东东枪/北冥乘海生

2024/11/3
logo of podcast 科技修道院

科技修道院

AI Deep Dive AI Insights AI Chapters Transcript
People
龙白滔
Topics
龙白滔: 本期节目主要讨论了A股交易机制与其他国家交易机制的差异,以及中国A股交易系统建设中面临的技术挑战。A股市场由于其独特的交易制度(全国集中交易),导致系统并发量远高于其他国家交易所,给系统建设带来了巨大的技术挑战。在项目初期,团队参考了德交所的C-TRAIN系统,但由于市场规模和交易制度的差异,该方案并不能直接套用。因此,团队重新设计了基于内存的交易系统,这是世界上首个此类系统。在系统建设过程中,团队面临着诸多技术难题,例如如何保证订单处理的严格顺序、如何应对系统故障时的完整性和一致性、如何提升单处理器性能以应对高并发等。通过对系统架构的重构和优化,最终实现了系统性能的大幅提升,满足了A股市场的交易需求。此外,他还解释了美国券商免佣交易的模式,以及中国市场上券商操纵订单成交的可能性。他认为,美国券商的免佣交易模式是通过“卖订单流”来实现的,而这种模式在中国是不成立的,因为中国的交易制度要求所有订单必须集中到全国统一的场所进行交易。最后,他还分析了上交所交易系统崩盘的可能原因,认为与流速权功能和额外增加订单延迟功能的修改有关。 东东枪: 作为A股资深投资者,东东枪从投资者的角度对A股交易机制和市场现状进行了评论,并提出了对交易系统公平性的质疑。他认为,交易系统应该保证公平,但增加交易延迟的措施可能对高频交易和量化交易机构不公平。 北冥乘海生: 北冥乘海生作为主持人,主要负责引导话题,并对嘉宾的观点进行总结和补充。

Deep Dive

Key Insights

为什么A股的交易系统并发量如此恐怖?

A股的交易系统并发量恐怖主要是因为中国的交易制度要求所有订单必须集中到全国统一的场所进行交易,这导致了人为的集中,形成了全国性的单点。相比之下,国外的交易制度允许分散交易,订单自然分层,减少了全国性交易所的流量。

为什么德交所的交易系统不能直接用于A股?

德交所的交易系统是基于文件的上一代系统,设计目标是每秒处理100笔左右的交易,而A股的设计目标是每秒处理1万笔以上的交易,直接提高了两个数量级。因此,基于文件的架构无法满足A股的需求,必须重新设计基于内存的交易系统。

为什么上交所的系统验收由宝钢负责?

上交所的系统验收由宝钢负责是因为宝钢使用OpenVMS操作系统控制炼钢炉,而OpenVMS具有高度的实时性和可靠性,宝钢的技术团队对OpenVMS的操作非常熟悉。因此,上交所选择宝钢作为第三方进行系统验收测试。

为什么美国的券商可以提供免佣交易?

美国的券商可以提供免佣交易是因为他们通过卖订单流的方式盈利。券商将散户的订单卖给专业的交易机构,这些机构通过从散户订单中获利,并将部分利润返还给券商。这种商业模式在美国的交易制度下是允许的,但在中国不成立。

为什么上交所要为订单增加延迟?

上交所为订单增加延迟是为了抑制量化交易尤其是高频交易的技术优势,保护散户的利益。量化交易机构通过程序化交易获得更快的下单速度,形成了对散户的不对称优势,增加延迟是为了减少这种不公平。

为什么A股的交易系统设计目标如此高?

A股的交易系统设计目标高是因为中国是全球最大的散户市场,散户数量多且交易行为高度集中。为了应对这种极端情况,交易所必须设计能够处理每秒上万笔订单的系统,确保在高并发情况下仍能保持交易的公平性和一致性。

为什么上交所的交易系统不能水平扩展?

上交所的交易系统不能水平扩展是因为所有针对同一只股票的订单必须集中到一个处理器上执行,以确保价格优先和时间优先的交易规则。水平扩展会导致多个处理器之间的同步开销巨大,得不偿失,因此只能依赖单个处理器的性能提升。

为什么龙白涛博士认为规则应该动态调整?

龙白涛博士认为规则应该动态调整是因为规则是为目标服务的,当环境和条件发生变化时,规则可能不再适应最初的目标。例如,随着技术手段和市场参与者结构的变化,交易规则也应相应调整,以确保市场的公平性和效率。

为什么中国的散户在股市中亏损较多?

中国的散户在股市中亏损较多主要是因为中国资本市场的制度设计存在缺陷,包括包装伪劣公司上市、大股东套现等问题。散户的亏损并非仅仅因为交易环节,而是整个资本市场价值链中的制度性问题。

为什么龙白涛博士不炒股?

龙白涛博士不炒股是因为他曾在十年前作为普通股民参与股市,结果亏损了一半资金。尽管他参与了上交所交易系统的设计,但他认为自己并不比普通股民更了解市场,因此选择不参与股市投资。

Chapters
龙白滔博士分享了他参与构建上交所核心交易系统的经历,以及中国A股交易机制与国际市场差异带来的技术挑战。他解释了为什么德交所的系统方案无法直接应用于中国市场,并详细阐述了中国市场交易量巨大的原因。
  • 龙白滔博士是前上交所核心交易系统的架构师
  • A股交易系统并发量巨大,远超其他国际市场
  • 中国A股交易制度与国际市场存在差异,导致系统设计面临巨大挑战
  • 德交所系统方案不适用于中国市场

Shownotes Transcript

欢迎来到科技修道院今天请到了龙百涛博士也是我清华的师兄他有一个特殊的身份是上交所现在的核心交易系统的架构师而龙百涛博士

龙博的还有很多有趣的经历你看今天是穿着运动服跑长跑来到我们这个没有跑长跑这个我只是比较习惯性的穿的比较少但是也日常的长跑但是今天没有长跑对

请他来肯定我们要聊聊跟股市跟交易系统背后的技术相关的话题是的正好今天股市的资深我资深受害者了资深韭菜东东腔老师和龙博你们可以当面 PK 一下我不算资深但是我是从最近这三四年开始买一些股票但是我是不太上心的那种就是瞎买瞎卖导致必然是赔了钱套在了里边是吧但是我也算

这个交易系统的使用者我顶多是这么个身份而且还是一个不太不算一资深用户因为有好多功能我都用不上因为并不是那些有很多资深股民专业的股票投资者完全算不上但是也很有兴趣听听龙博士给我们介绍介绍

龙博士可以先介绍一下您的很多的身份和在做的很多有趣的事情对我确实身份比较的复杂对比较多样化我从清华博士毕业以后呢其实第一份工作在一家外资咨询公司这家外资咨询公司呢这个跟我们今天相关的最大的点呢就是它实际上是帮助当时世界上 70%以上的交易所

做了交易系统包括后来的维护比如说我们知道的纳斯达克 纽交所 伦敦交易所当然好的那些大的交易所现在合并了什么泛欧交易所什么的然后其实都是那家咨询公司做的那家咨询公司叫艾森泽就以前的安达信咨询我去了那个公司以后大概

半年以后就直接去了上交所那个项目当时艾森泽正在帮助上交所做他的新一代的交易系统我在那个项目上面挺有趣的因为我虽然是清华计算机博士毕业但我是博士毕业的时候实际上我已经连续两年的时间不编程序了因为当时我本是管理工作了

没有我当时是本身是计划博士毕业直接去美国读 NBA 的就彻底的离开技术这条线所以当时就不想做技术当时就不想做技术而且当年我在我博士毕业之前我其实是基本上拿到了美国名校的 NBA 的 offer 的当时我只是没有拿到最好的那所学校沃顿的然后但是我当时我第一次申请 02 年的时候申请的时候是拿到沃顿的 waiting list 的

你们可能知道 Waiting Lease 的这个概念就是名校的 offer 然后当时我觉得我离世界排名第一的商学院已经一步之遥了我应该再努力啊然后呢所以呢实际上我就根本就没有打算博士毕业以后从事技术的工作所以呢我才去的咨询公司嘛对不对但是没有想到还是逃不开去了咨询公司半年以后我就被派到了上交所的项目上面

实际上我是被骗过去的因为我进咨询就是为了不做技术理解吧但是这大公司也骗人呢然后呢结果呢那个项目呢半年以后呢就被派到项目上面当时那个项目是很神秘的因为它是个 high profile 的项目外面的人都不知道在里面发生什么进去以后才知道原来就是编程序啊就是做一个大型系统我在里面说实话我纠结了纠结了一个月

编还是不编真的因为你想想我过去发生了这么多事情对不对我已经下了那么大的决心希望离开这个行业就不编程序不做技术对不对结果呢又到这里来了后来呢经过了一个月的斗争和思考以后那决定要编

因为毕竟他就是一个做系统实施的项目来都来了来都来了而且这是工作你不编刑对不对然后就拿了一本私语言程序设计不是现学不是叫重新 pick up

因为我大一的时候清华没学我在大一的时候思议员程序设计就是 95 分就是分很高的然后但是呢就是说我不说了吗毕业的时候已经有两年不编程序了所以我的手很深的我再给个举个例子你就明白我博士论文毕业的时候我里面写的仿真程序我都是请我在 IBM 研究院师兄编的程序

我当时已经懒到那个程度了算学术污点不算学术污点真的算学术污点我把需求告诉他他给我编好然后我拿回来运行拿了些数据对吧所以呢所以呢我花了一个月的时间去 pick upC 的能力但是你要知道我们是清华计算机系毕业的呀我们之前的其实工程能力是有很强大的基础的算法工程底子好就底子在那个地方所以呢一个月呢就是说去 pick up

三个月之内我就成为那个项目的首席工程师了就三个月当然这里面其实跟我的基本能力有关系它其实跟我的工作态度也有关系什么意思这个一点其实我想告诉大家什么意思就是说那个项目是很大型的项目 100 多人但是就是说绝大部分工程师你只要在技术行业你就知道绝大部分工程师的一些毛病是什么

我没有问题是你的问题对吧我一说你就明白了就是说我很清晰的给你画了边界我们的行业也这样然后呢所以这是人性但是在计算机工程师的这个领域工程师领域其实是很明显的就绝大部分人呢就守着自己那一块不愿意就是说

越过这边界更不用说愿意去承担责任这种事情呢其实在大型的项目里面其实是很有害的尤其是大家又都是高手嘛没有没有爱森泽的大部分都不是高手这个我同意龙博说的确实有很多人谈不上什么高手这样啊你可能说是微软我说的爱森泽对爱森泽因为他本身是个咨询公司对就是说他不是一个工程建长的公司明白所以呢

所以这也是我的一个优势像我这样的我的计算机工程能力在清华计算尤其是清华计算机不算顶级但是我肯定是比较好的那一批但是我觉得不算顶级因为我们那里奥赛金牌一堆一堆的我们在他们面前都是渣你知道吗你像我们那些师弟看到我后来写的一些东西就回忆上交所那些东西人家说都什么玩意啊

你明白吗就是一副很不屑的样子你明白吗就是很有名的一个师弟就那个还挺有名的叫什么那一招挺胖胖的你应该知道那个那就不太有名我突然一下老的短的想不起名字他又是他安全圈也有点名气后来那个做游戏的公司也挖了他然后百度那个支付那个架构也是他搭的那个叫什么那一招最早是在 Facebook 了

然后我忘记了反正他就很不屑的就在我们的戏群里面就直接说都什么玩意反正就是很不屑对你因为他们都是奥赛金牌出身的在他们眼里我们这些都是编程的渣儿说实话然后拉回来所以我这样的人到了艾森泽以后因为他本身编程的能力就没那么强实话实说所以我到那里其实就变成一个很强的非常强的

但是并不能说这个东西呢是我成功的唯一在这个项目成功的唯一原因其实最重要的是因为刚才我说那个话题就是说我有全局观简单讲我有系统思维我有系统思维因为当时的首席工程师其实上是一个级别比我高的一个德国人级别比我高一个德国人因为我当时刚去爱神泽嘛才工作半年嘛级别不高的其实就是一个顾问顾问的身份然后呢

他是个直级在爱神者的体系里面是个直级然后当时的首席工程师是德国的一个经理他级别比我高一个级别但是为什么我在三个月之内能成为首席工程师就是说首先我在三个月之内我其实就表现出非常强的全局观你比如说我一下就能看到整个项目工程团队大家编程里面共通的错误比如说因为我们的项目是个典型的生意员编程

为什么叫 C 元编程我待会会解释就是说它就是 C 元编程它也没有非常炫酷的 IDE 环境完全就是文本包括命令行的编译链接这些东西开发环境都是命令行的就非常原始的所以这种代码的质量是很差的因为这种代码质量一个是取决于这个群体它本身的工程师的素质就比较差还有一个就是说它这里面有很多犯了很多典型的错误

还有一个呢就是说绝大部分人是没有全局观的对吧我去了以后呢我实际上很快的就发现了整个项目工程在软件工程质量方面的一些共通的一些问题我就提了很多建议你比如说编码规范我们要怎么去去定义编码规范然后呢实际上开始也有但是那些都是都是很标准化的一些东西跟这个项目无关嗯

然后我就把这个项目上非常典型的一些 c 的一些错误总结了出来然后告诉大家应该如何去避免这些东西还有一个做了一些工具做了一些工具帮助大家去避免这些东西自动化这个过程这些工具最后还会自动化的去做代码检查因为你知道其实尤其对于一个 leave 的一个大的 project 它其实里面的编程的错误是非常有模式的

对吧非常有模式的所以其实就是模式识别简单讲其实你就是对原代码进行模式识别典型的错误对吧所以我当时做了很多这样的小工具然后可能现在会有人问这些东西不都是现成的吗我再强调一下我们当时在一个非常原始的 UNIX 平台上面应该是 20 年前对 20 年前接近 20 在一个原始的 UNIX 平台上面做的开发而且它不是我们大家耳识能影响的 UNIX 平台

它的整个的开发的说法就是工具链是非常缺乏的我们只有编译和链接的工具简单讲在这平台上我们只有编译和链接的工具其他什么都没有对吧你不要想任何的代码质量检查的工具我们都是手搓的所以我去到那个项目以后在几个月之内我做了大量的这样的一些事情对吧然后同时我当时也跟这个项目的一些总设计师架构师和总设计师

发生了有很多争论到最后变成辩论就非常激烈因为他们都是德国人因为他们实际上说白了他们在艾森哲里面可能待了十年二十年甚至最长的三四十年的没有那么长艾森哲历史都没那么长但是就是二三十年的这个行业的工作经验比如说当时的项目总架构师就是一个德国的不是一个希腊的一个老头希腊人他做交易所做了几十年

你看我有一个问题就是既然爱森哲这个公司做了那么多交易系统是吧咱抄一个不就完了吗我们当时是抄啊当时我们的原席就是德交所的叫 C-TRAIN 吧现在在网上还有人知道这个事确实呢当时的目的呢是把 C-TRAIN 学过来整个源代码的学过来然后呢实际上我们那个团队也是个国际化的团队不当时说了吗德国人主导的为什么德国人主导

因为他们做了 C-TRAIN 所以把那个团队的就大部分以前的主要的骨干都拉了过来指导中国人做所以当时大家的想法就是做了德交所有德交所成功经验的一群人其实主要是德国人或者欧洲团队爱森泽的欧洲团队来指导中国的工程师来做这件事情当时整个团队 100 多人大概老外超过一半你可以这么理解

其实是非常国际化的一个团队的但是德家所的东西对我们有没有用呢有用但是没有那么有用为什么呢因为中国和国外的交易或者叫交易所的区别从规模上就不太一样简单讲

对吧这个一说你就明白了就是说全球最大的交易系统当时甭管是德交所也好纽交所也好或者纳斯达克也好他们的规模用户规模跟中国比都差一个甚至两个甚至三个数量级这个可以给我们展开讲讲为什么会有这种为什么会有这么大的差别其实它跟交易制度的设计有关系因为在中国

在中国的交易其实是全国集中交易所谓的集中交易就是说中国有很多散户也有很多机构大家都会有自己的订单需要成交但是中国的交易的规则要求所有的订单必须集中到全国一个统一的场所来集中交易

这就导致这就是人为的集中就是人为的集中了一个人为的形成了一个全国性的这么一个读点但是在国外不是这样的就是说尤其是我们以美国为例对不对美国的交易理论上来讲它是可以先分散交易的然后分散交易以后你不能成交的订单再送到另外一个

你的上层去交易所以呢就是说在国外的交易制度的这种安排下面他的订单就自然的分层了就实际上我们两个人类似于私下就可以交换理论上来讲是可以就是说你比如说在国外他在券商这个层面他是可以执行交易的啊

交易完了以后呢就是说如果但是你要知道在券商这个地方它有可能不能完全交易对那不能完全交易然后你还想交易的话你就把你没有完全交易那一部分送到你更上一个层级的一个交易场所去送到省里送到县里比如说送到那个这个全国性的交易所比如说柳交所或者拉斯达克等等去交易对吧所以呢这样自然的全国性的那个交易所它的流量

其实就降低了一个数量级了跟中国来比搭建系统的时候不能改变规则吗我能不能反馈说这个规则不合理我们能不能在搭建系统的同时改变一下规则首先这个东西跟我们搭建系统的人是无关的它本身是一个交易制度的设计是对一个国家的资本市场的建设来讲是非常根本性的制度设计

这个东西你真的要改变那肯定也是证监会至少我认为是证监会这个层面才能够去发起的动议甚至都不是上交所能改上交所都没有权利改这个东西对吧因为你要知道这个事情它也涉及到券商涉及到上交所这些东西就是说我们要知道在中国券商本质上来讲就是个通道

它其实就是收单机构跟国外的钱商不是一回事不一回事就在交易这个层面它不一回事它就是个收单机构当然除了收单之外它可能还提供其他一些服务比如融券服务什么之类的融资融券的服务但是这些东西它跟交易的执行那块都没有关系它跟交易没有直接关系交易执行

从中国的交易制度设计来讲都必须集中到全国的同一个场所而且是一只股票只能在一个全国集中的场所去交易要么是上交所要么是深交所这是法律确定的在美国

或者西方的国家它不是这么设定的理论上来讲一只股票是可以在多个场所进行同时交易的理论上确实是可以的但是在交易这个世界里面就是说绝大部分的交易者他希望能够拿到最好的成交价格就希望在流动性最好的地方去进行交易所以自然的交易的行为就会行

就会集中就会形成自然的这么一种集中的这么一个结果所以我们其实看到在美国绝大部分股票实际上也都是集中交易的但是它那个集中交易更多的是一种市场的自发行为就是说交易者和投资者希望得到最好的成交价格让订单流量自动的汇聚到一个中心的地方

中国呢它是行政的强制要求形成的这么一个结果但美国呢它是一个更市场化的这么一个结果就这样所以我记得观察到这么一个现象有的美国的那个交易软件它是不收佣金的这个是不是跟这个交易制度有关系它从别的地方挣钱对是这样的因为在这一块美国它会比较灵活

就是说实际上呢传统的因为你要收单的话你不收佣金就啥钱都没有了对因为传统的实际上其实过去啊你说的其实是个特例就是说收单交易不收钱它其实是个特例因为在过去过在过去像美国这种散户要交易它成本是挺高的因为它是根据每笔订单来来收费的在中国呢而且呢它的订单我记得啊

它对订单它有些限制吧它对散户的订单的这个规模啊什么之类的都有些限制其实导致呢就是说你散户直接到交易所去下单你不太划算的或者说你根本就没办法直接下单

或者说你下单也非常不划算你的成本非常高就是你以散户的身份直接到美国的全国性的交易所去交易你的成本是比较高的所以一般来讲都会通过券商对吧但是中国实际上你得知道在中国你虽然通过了券商

但实际上就是说还是在交易所交易你还是在交易所交易的就是成交是那边交易的虽然而且我想想交易其实也有手续费的但是那个手续费实际上是谁收的交易所收的

交易所针对你收的针对你的交易收的我的意思是不是说他如果不收手续费是他给你比较不好的价格我要回答你这个问题刚才没回答完确实就是这样如果一个券商然后为一个散户提供服务但是不收手续费你得知道羊毛一定要出在羊身上他总有一个地方要赚到你的钱怎么赚呢怎么赚就是一个非常典型的在美国一个非常典型的生意叫卖订单

卖订单什么意思呢首先我们要理解一个前提在美国它是可以分散交易的刚才我已经说了对不对分散交易也就意味着就是说券商我聚集聚拢了一堆订单以后我可以自己先撮合我也可以转手送到全国性的交易所去嗯

我也可以送给第三方对不对只要有好处就他没有对他硬性的要求没有硬性的要求然后呢我可以送到第三方只要我有好处对不对这就是他的商业模式的这么一个基础那为什么送送给第三方就有好处呢我举个例子你就明白了就是说你想想如果这个第三方是一个非常专业的机构呢

你比如说类似于华尔街的那些高频交易机构就是他们的交易能力是非常强的你想一想你是个散户你在交易市场里面你就是个傻逼然后我是华尔街的机构我在交易里面我就是个极其聪明的人你想一想你是一个极其聪明的交易者你希望你的交易对手方是个傻逼还是个聪明的人你肯定是希望你的交易对手方是个傻逼这样我可以从你身上赚到更多的钱

对不对所以你想想这就是订单卖订单流这个商业模式成立的一个制度的环境了券商收了一堆散户的订单他 by default 认为这是一群傻子的订单对不对然后我把这群傻子的订单卖给了一个非常顶级的交易者就是第三方机构那顶级的交易者他就从这群比较傻逼的订单里面他就能赚到更多的钱对不对他赚到更多钱以后他就返佣

他就反应给这个券商理解了吗在券商他就挣到钱了但是券商他就不用向散户去收其他的服务费了散户还觉得自己占了便宜散户还觉得自己占了便宜其实他拿到一个不好的价格他其实拿到不好价格但是你要知道就是说一个价格好还是不好它是非常难评估的对除非你是说实话你连学者你都不一定能把它算清楚但是你要知道交易机构一定能算清楚

他们是非常专业的因为他们在这方面他很专业他能够计算出来一般情况下面他能在市场上能拿到的最好的价格因为你要知道就是说他面临的市场的环境在美国的市场环境一般来讲他面临的都是一群跟自己

对等的一群机构在大的交易所里边对就是任何一个华尔街的顶级的机构他 by default 他应该面对的是一群跟自己能力差不了太多的另外一群顶级机构说白了大家都是恶狼所以在恶狼群似的环境里面就互相饲养的环境里面就是说恶狼他其实是很清楚他能拿到最佳的价格是什么他能算出来的这肯定能算出来就大致能算出来

所以以这个作为 benchmark 作为基线他当然也很容易算出来我是饿了面对一群绵羊的时候我能拿到多好的价格你阅我意思吧这就是商业模式成立最核心的地方但是这个账他们能算清楚散户算不清楚你即使告诉散户散户就没有任何感觉散户是没有感觉的这个事是规则允许的吗是规则允许的刚才我跟你说了他的规则就是说

可以分散交易可以分散交易可以私下成交可以私下成交所以你看就是说这个东西呢在中国它就不成立所以呢就是说这种行为在中国是绝对不可能发生的

我怎么觉得让我听了有点害怕我们现在这是华尔街一个典型的商业模式就是说券商为散户免费的提供手续费或者是免费提供其他服务大家都觉得自己占了便宜对不对但实际上他的损失是没有拿到最好的价格

然后呢机构呢在每个人身上呢都赚了点钱但是呢你感觉呢都不是大钱对对不对因为它是靠规模取胜的我就说如果中国现在这些交易工具是吧就这些客户端吧哎

APP 等等之类的如果他想做类似的事这个是规则允许的吗比如说我承诺给你一个低的交易的费率是吧佣金我给你少收但是实际上我在给你下单的时候是吧我成交的时候其实我都

不按照你比如说我就延迟你的成交是吧或者说我以对我平台最有利的规则来返回你的这个成交结果这个在中国是有可能出现的吗是这样的首先交易是集中成交的所以在券商这个层面

他实际上无法判断什么是最佳的成交结果他完全无法判断没有撮合能力他没有撮合能力而且他拥有的订单流量是整个市场非常小的一部分

所以呢他不可能对这个市场上形成的最优的订单的价格他有概念他能判断但是他确实能够给你施加一些东西比如说增加你的延迟这是可以的因为他收单嘛他只要是收单他就是说他把你给他把你放到他往交易所的对联里面往后放对对对他不就实现这功能了吗他确实但是他完全没有这么做的必要嗯

就理论上他是没有必要这么做的他确实有可能说他可能有几个席位因为一个券商他可能有几个席位他可以说这个席位他可以快一点这个席位慢一点比如说他有某几个席位是针对几个大户的机构的这是完全有可能的因为每个席位他对应了另外一个概念叫留宿权

对吧留宿权留宿权留宿权可以留下来住的权利可以住那儿流动的速率流动的速率的权利它其实简单讲就流量包就流量包对吧就因为流量包就是说定位以一个席位在单位时间之内能够向交易所提交多少订单

明白它其实就类似于手机里面的流量包我也可以花钱充你可以花钱充所以它叫流速权对然后每个席位

的基本的权利是有一个留宿权是免费的然后呢你这个席位如果希望有更多的留宿权然后你就花钱买这个钱是支付给交易所的就是我能同时下更多的单了这样你就能同时下更多的单你能下更多的单从宏观上来讲你不就延迟就更小了吗对不对因为其实就是吞吐量跟那个延迟它其实是有关系的嘛是这个意思吧所以呢

刘苏泉其实跟这一次上交所崩盘也有关系的至少根据我的技术分析上交所这次崩盘在很大的概率是他在应该是 2020 年还是哪年来着反正前几年

引入流速权这个功能的时候可能引入了一些小的 bug 这是刚上线没几年这功能这个功能没几年对这个功能没几年具体年我忘记了我另外一个我上交所崩盘的就是 9 月 30 号那天我做了几个短视频其中一个呢很长非常技术化大概十几分钟就是非常细致的帮你去分析从技术层面分析上交所这次的

当机如果真的是当机的话最有可能出在出现故障出现在哪里留宿权是其中一个还有另外一个是另外一个是什么来着对另外一个就是大概 20 年的时候

为这个订单引入的额外引入的延迟它其实是主要是为了抑制量化交易尤其是高频交易它的一些下单速度的一些优势商交所呢就是额外的手工的额外的用程序为那个回去的订单增加了延迟然后呢增加延迟的功能跟留守权的功能在交易系统里面它在一个地方实现的所以呢我最后分析的结果呢就是说这一次这一次当机呢

就是那个功能模块但是那个地方呢最近几年两个改动主要改动一个流速权一个是那个额外的增加定量延迟所以呢我的判断呢就是上交所在增加或者修改这两个功能的时候为这个模块引入了一些小的错误

这种小的错误大概率基本上是因为测试不充分导致的所以我们看就是说它为什么是小错误它其实第二天就好了它很快就修复了它一定是个小错误它不是一个原则性的这种根本性的设计的缺陷对 龙博士我插一句你可以介绍一下你的自媒体账号大家去关注一下我想了解这个

你讲的这个技术细节的朋友对对对我的自媒体账号呢几个平台都有吧那个我的主要的阵地现在主要是这个腾讯的视频号还有小红书这是我的小红书你这风格可以不不我待会解释小红书我待会解释小红书大家说我的全名就可以了就龙白涛龙白涛然后号名呢其实都叫龙白涛博士龙白涛博士但是你说龙白涛应该应该

白是白色的白对吧对涛是罪恶滔天的涛因为很多人会把涛写错他写成那个剥涛的涛我这个涛是罪恶滔天的涛涛涛江水不好吗非得罪恶滔天因为这个别人容易记住你说涛涛江水其实很多人仍然会想到剥涛的涛但是我要说罪恶滔天的涛这没人写错对基本上就不会有人写错这是我

我快 50 岁了就是说别人记忆我的名字我总结出来的最佳实践我就这么介绍然后别人就不会写错了明白了然后所以我的名字确实也挺好因为全中国就我一个人叫这个名字

对不对对对对这个不像我这名字师弟这个名字那几句好百度百科上的那个叫刘鹏的名人就已经快三位数了所以你在中国的互联网上或者全世界互联网上看到龙白涛这肯定就是我一个人对吧我躲都躲不掉对啊然后呢当然我也很感谢我我老爸给我这个名字回到讲我的自媒体的那个什么所以呢然后其他地方还有 B 站

还有抖音都叫这个名字然后呢为什么在小红书我其实现在在小红书呢流量是最大的最受欢迎的因为我现在的主要的身份是独立经济学家我其实是是这个我那个我我过去七年都一直在全职的研究中国的政治经济宏观全职的

没有任何收入然后也不在任何机构里面没有任何人支持我的情况下面研究这个东西然后我最近两年写了本书叫中国经济何以光明这本书年底的时候就今年年内就马上要上市了等出了可以咱们再聊一回所以为什么在小红书很受欢迎

因为小红书的人群是非常聚焦于中国的高端人群的或者精英人群的是因为这个原因就是说如果我们把中国的人群划成五等份这是典型的中国国家统计局按照收入划分中国居民这个等级的这个标准就五等份我们来算的话小红书在头五分位就头 20%它是非常集中的

坏了那我还配不上他你肯定配得上我快谢了吧我配不上投 20%呢投 20%的人呢这两年我跟大家讲是极其关心宏观问题的因为这两年因为中国整体的这个

世界的大的环境和中国大的环境其实让大家是被迫的很多人真的是被迫的就是说过去都不太关心宏观经济的现在特别关心这个东西包括同搜啊买房啊地方债务啊对吧所以呢那我在小红书虽然我现在就两周时间但是我的流量上涨是非常快的

这是我自媒体大家可以去关注一下我也得关注关注然后呢其实呢我最早的几个短视频呢实际上是上交所的当机的技术分析所以这特别有趣对不对我本身是个独立经济学家但是我在短视频出道如果讲有出道一说的话我其实是讲我 20 年前做的上交所的系统出道的对吧

好了接着我们的话题刚才讲我刚才听您说说因为要限制那些量化交易高频的交易系统就会给他加一点延迟进去可是这不是很不公平吗因为你看我自己觉得在跟您聊之前我总觉得一个交易系统它是个平台它最重要的就是公平要让大家你看我们去菜市场都写着叫公平交易

这样不就不公平虽然我知道这样做是开市场最缺乏公平对可是就是这样不就不公平了吗所以我想问的那个咱们把这个问题问大一点对于一个交易系统来说公平重要吗就在您当初大家一起是吧构建这个系统的时候公平是一个重要的维度吗

这个话题我们先往小的讲因为首先我在跟这个事情相关的身份是交易系统的架构师和总设计师它是个技术层面的东西所以我们如何设计从技术层面如何去架构以及实现这个系统完全是根据业务规则来确定的业务规则其实就包含你刚才讲的公平的问题这个事情其实不是我关心的话题也不是我能决定的话题但是我可以评论它

然后具体到交易延迟这件事情增加交易延迟公平不公平公平不公平实际上都是相对的而且是针对你讲的就是说针对哪个人群更加公平或者不公平或者说针对多少人公平还是不公平这几个概念我们其实是要区分清楚的所以当时上交所为什么要为订单增加延迟

当时其实恰恰就是为了解决不公平的问题当时的不公平是什么呢就是说大概 17 年前后就是中国的量化交易尤其是高频交易在舆论层面民间舆论层面受到比较强烈的通缉大家都认为呢就是说量化交易尤其是高频交易使用了

技术手段带来的结果就是让这些专业的量化机构相对于中国的散户们形成了一种不对称的优势

然后这些技术手段带来的优势主要就是交易延迟然后我们不说那些什么模型的分析能力因为那个东西其实都不太可见但是很可见的其实就是交易延迟就是你下单速度的快慢对吧我的手没有办法比上人家那个时间因为一般的人都会认为量化交易他们通过程序化的方式

然后能够更快的去向交易所提交订单或者是从交易所更快的获得响应然后快速的进行决策这个东西在交易这个市场里面因为交易本身就是一个跟时间赛跑的这么一个活动所以延迟其实就是很敏感的如果你有技术手段能够获得在延迟方面能够获得优势

那他们就认为是不公平的所以从这个角度来讲可以这么说呢用程序化交易的方式确实是可以获得一些下单的延迟并且呢就是说这个确实机构呢因为他用程序化的方式去下单的话他确实可以做一些特殊的一些行为比如说非常典型的一种叫所谓的 spoofing 然后中文叫谎骗什么意思呢就是说高频交易机构

他可以先下一个订单这个订单的价格非常的优厚但是它的作用呢是诱导大家诱导大家跟随我的价格去下单跟随我的价格但是呢他下了这个订单以后他迅速的把这个订单撤回就是你们一跟上来了我就撤了对然后呢所以呢所以呢你看他这种行为呢他其实就对这个下单的速度和处理反馈的速度要求挺高的对吧尤其是

尤其是在交易行业还有一个叫所谓的托管的概念就是说你把你的交易服务器放到离交易所更近的地方你的延迟就更短了这个听说过这些都是典型的就是说交易领域就获得竞争优势的手段我还听说美国有的交易机构为了在大西洋两岸的延迟尽量短还在大西洋上买了一个小岛加微波中继

获得好秒级的这点优势就是说实际上中国的交易的竞争还没有到像美国那样就是说需要用微波架设来获得好秒级优势的这种程度

其实还没到我们讲如果讲军备竞赛的话为什么呢因为在这个领域其实还比较粗糙因为中国的交易延迟相比较美国现在交易延迟其实还是要大一些但是如果你把比较对象变成机构和散户的比较这个就

这个就很大了对这就非常严压就是有点压性的我大概懂一些了但是如果只是机构和机构之间互撕的话其实中国的交易延迟其实是比较粗糙的说白了就是比较大的其实这里的交易的不对称的优势主要是机构和散户之间对我现在感觉就好像我们这散户参加游泳比赛旁边有人开着一船来的

是吧所以现在其实这个增加延迟就是在这船上给他装上个几百吨货是吧你别跑那么快这可能也是管理理念的区别我觉得有点类比于那个美国人不进枪咱这进枪是不是有点相似的地方有点相似所以他从这个角度来讲首先你要知道增加延迟其实是从规则层面他不改规规则的情况下面他其实是为了保护散户

为了更好的保护散户所以从这个角度来讲散户一定会觉得自己受到了更多的保护但是从机构层面他确实可以说你这不公平为什么呢因为你之前并没有说我不能拥有这种优势对吧因为我是在你的规则允许范围之内然后去获得的这种优势用技术手段获得这种优势那从这个角度来讲你就应该让我用

但是这个问题它其实就是个哲学层面的问题了因为就是说规则从来都不是静态的其实是个动态的规则的设定它其实都是说最开始的时候都是为了说为了保护某一群人的利益或者是为了保护某一种行为对不对为了保护某一种行为或者保护某一种某一个群体的利益但是我们要知道就是说行为本身是可以

发生变化的而且人群的结构也可能发生变化所以从这个角度来讲你本身规则制定的大的背景它其实就是在变化的但是你的所以就是说如果随着你的行为的变化或者说人群的这种构成的变化你的规则如果还保持不变的话那其实就是恪着求见所以就是说所谓的规则实际上就是说

我们当时设定规则的时候一定是当时有一个目标然后为了达成那个目标在当时的条件和环境下面设定的那个规则比如说当时的目标可能就是说我为了更好的保护散户或者说为了保护更多数人市场参与者的利益而不是说要让这个市场形成极度的垄断对吧如果这是你的目标的话那么好了到现在

目标没有发生变化但是到现在你的环境发生了变化技术手段发生了变化技术手段发生了变化然后市场参与者的构成也发生了变化对不对所以这个时候你就会发现现在的规则跟你当初的目标的设定它就不匹配了所以我们应该是是目标导向还是规则导向很简单肯定是目标导向规则导向

规则的设定是为目标服务的所以这个时候其实就是改规则对不对所以我觉得我们在理解规则的时候要以这种心态和这种思维模式去理解规则因为我说实话我是很反对说有很多人说规则定了就不要变了

这是不可能的所以我们在理解很多经济行为或者政策行为的时候我们除了要理解规则之外我们其实更重要的是要去理解制定规则背后的指导的原则就是它的目标是什么对不对所以这样才能更好地去理解监管层或者理解国家的管理者他们的一些动作对吧我觉得龙老师说的这是个大问题这甚至不只是在这个问题上

就是规则背后都是目标而脱离开那个目标也谈不到什么公平不公平了对因为那就看如何定义这个公平了对是吧对所以就是说这个这点我觉得我在如果有公开发生机会我还是特别想特别想强调的这是大家思维的定势而且呢也是主流的叙事他们容易去营造的一种话语陷阱嗯

这里的话语陷阱就是规则不能变但是我们要理解是规则是为你的目标服务的所以当环境发生变化的时候环境和条件发生变化的时候导致了现在的规则与我们最初的目标的不匹配的时候这个时候就应该改规则这个规则以及目标我也想明白一件事它可能也取决于这是谁定的

是哪一方更主导这个规则与目标是吧刚才比如说咱们说这个规则是为了保护那些散户的利益

实际上你说该不该保护散户的利益是吧这个都是值得讨论的也许就不该呢也许就有一个观点说不该反倒应该让他们见识到投资的险恶应该让他们赶紧赔了钱赶紧撤出去是吧不要在这儿所以他可能也有道理这个我多说一句就是说首先呢

可能在中国和美国这方面观点的差异会比较大因为你从市场参与者的结构就非常明显就美国的交易所大的交易所的市场参与者几乎都是机构就是说我们基本上看不到散户参与在里面然后但是中国的交易所我们看实际上是散户主导的然后就机构的数量所谓的主导不仅是数量

也包括这个金额甚至包括金额都是这个样子的甚至我可能告诉你一点你可能都会觉得吃惊就是说你比如说每一次市场大的波动特别是牛市就比如说这一次风涨实际上第一波冲进去的资金其实是散户的资金很多人都不太理解这一点

对吧因为你要知道就是说其实第一批充剧的资金主要是散户和私募的资金其实真正的金融机构还是这一波胆大是吧他们胆子正大其实一直是这个样子因为你要理解就是说他散户其实他的风险偏好其实是更强的他为什么风险偏好强一个很重要原因就是因为他们不懂

他们没有真正的风险意识也没有风险的控制的手段人傻钱少胆大对而且呢中国人普遍的赌性比较强这是我们的国民性必须要承认这一点所以呢就是说当有这种利好消息的时候他们动作是最快的但是你要知道机构其实不一样机构既然是机构他们其实就是专业的金融从业者所以他们的金融风险偏好一定是更保守的

他一定是更保守的因为他专业对吧他即使看到新的就是他即使认为这是个流失的机会他认识这个过程的反应的过程也肯定是比散户要慢的但是他有可能就是说他认识到这个过程以后他后面动作会比较大但是前期一定是是这些散户们就冲的是最快的和私募们冲的最快的包括

其实还有一个还有一个原因技术性的原因就是仓位的问题仓位你比如说公募基金啊就是很多专业投资机构啊他们其实仓位其实都是比较满的你可以这么理解会比较高的没钱可投了他其实没有他没有钱可投是的

对他没有钱可投但是散户就不太一样因为过去两年很多散户其实那些钱其实都趴在割肉割出来了对割出来你要么就趴在理财产品上面对要么就是流银行的流动性存款或者国债什么之类的所以你要知道这就其实是另外一个话题就是说散户们要快速的冲进股市他一定要把他们之前放置在其他的地方相对比较安全资产的资金先挪出来

所以他们就会对其他的市场造成冲击你知道吗你比如说对银行理财对国债就会造成冲击所以最近一段时间金融市场的另外一个热点话题就是这个赎回太厉害了你比如说理财市场国债什么之类的所以为了避免这些冲击央行其实就会有很多动作对吧当然这个话题有点远了把它拉回来就是说我其实就是想说最先冲动的是散户而且在中国

散户的数量和资金的规模和交易量都其实比机构要是要大的所以呢就是说刚才刚才想说说这个交易的公平公平的问题对不对所以呢在中国的环境下面如果呢我们我说我们的目标是要保护尽可能多的投资者那他其实就等同于要保护散户嗯

但是有一个我想不明白的一个比较尖锐的话题为什么中国的散户亏这么多呢这个话你说实话就更沉重了刚说人家开着船你在底下游泳这个就更沉重了因为稍微说一点突破管理限制的话就中国的整个资本市场当然不是我说的很多大家都说中国资本市场是一个屠宰场本质上来讲是机构

割散户的肉的土台厂但是这个机构其实并不仅仅是我们可见的在市场上交易那些机构其实更多是后面的整个价值链包括

包括包装伪劣公司上市包装它上市过后标的本身就有问题对这个标的本身就有问题包装它上市的过程包括这个叫保健的这些东西上市材料准备然后呢过会然后到最后呢就是说在上市过程当中机构的预先埋伏对不对然后上市以后大股东套现而且呢

而且机构套现或者大股东套现并且在套现的过程当中设计了很多特别的金融工具比如说融券还有什么反正还有其他一些工具对吧就是说这些一整套的东西其实都是为了割韭菜准备的

他们都是一个制度化的所以你亏并不是亏的交易环境你们先聊着我去销个户对这句话说的非常准就是说他其实亏并不是

亏在交易环节这句话是非常准确的但是大部分人认为就是说我亏在交易环节对吧他具体表现在交易环节但实际上不是靠交易其实上不是对吧所以这是中国资本市场过去几十年的核心问题背后的利益盘根错节你都不知道有多大的力量在背后支撑

然后呢但是呢就是说这两年呢吴清主席上台以后呢宣起的监管风暴呢对这些事情呢对这些乱象呢有了一定程度的清理但是呢我只能说了任重和道远

相比较金融体系其他金融部门的整数比如说对银行体系的整数资本市场的整数还差的挺远的刚才龙博士说很多中美的交易制度的差别那具体您做这个交易系统的时候当年肯定挑战挺多的吧对挑战挺大的其实就是说因为刚才其实我们讲到我们那个系统最初的原型是德交所的 C-TRA 但是你要知道 C-TRA 是上一代的交易系统

上一代的交易系统基本上它都是基于文件的交易系统你是说它那些订单都在文件里不在内存里不在内存里面那它速度是很慢我们是第一代内存交易系统我们是世界上第一代内存交易系统就上交所那个这还真没想到然后因为以前的交易系统它说白了在那个年代你想想 04 年做的往前倒退 20 年因为交易系统一般都是 20 年一代的

所以它其实就是 90 年代做的交易系统你可以这么理解那个时候交易量没那么大那个时候还没有高频交易这些东西对吧而且像西方德交所可能现在也不大吧对德交所现在也不大不不德交所现在它好像跟那几个大的交易所合并了变成什么泛欧交易所其实变得挺大了然后呢

而且刚才也讲了西方的交易制度它本身是可以分散交易的所以它整体的其实交易所的交易量我们讲交易的次数比数其实是很小的可能每秒说个数字就明白了就当时主流交易系统可能每秒可能就十几笔或者几十笔

所以它整个系统的设计目标你说的是单只还是单只股票单只股票它整个设计目标可能就是 100 上下你可以这么理解它是以百为计的就是上一代交易系统所以它基于文件是完全可以做的而且也比较简单因为文件本身它是文件本身就是数据已经永久化了对

已经存盘了嘛理解吧对你到内存以后其实就涉及到数据永久化的问题对吧这是很直接的问题但是呢到商交所的时候呢设计目标就发生了变化设计目标至少就是说你要应对中国这种体量的散户主导的

交易市场而且散户而且是高度投机的散户群体主导的世界第一人口大国的交易市场所以他的设计目标直接就提高了两个数量级什么意思呢就是说针对单只股票他的设计目标就是一万多一万多这相比较德交所其实设计目标我们讲目标层面就直接提高两个数量级所以呢最开始做的时候就知道

基于文件的一个架构是用不上的所以要重新设计当时肯定就是走内存的思路内存架构的思路所以整套的其实就是基于内存交易的这么一个思路这个东西是世界第一个而且基于内存的交易的思路当时艾森哲还专门提了一个专利就是如何来做内存交易然后能够达到最高的性能对吧然后呢

这里其实也要解释一下很多人不太理解的就是说交易系统我们讲交易所交易系统真正的技术瓶颈到底在哪里就性能的瓶颈因为大家可能都已经习惯了互联网公司所谓的水平扩展

对那你比如说这个搜索引擎或者电商系统我在应对高峰的时候我能 provenient 然后一堆新的机器就进行水平扩展就把流量给扩散了对不对但这个事情为什么在这个事情在交易所其实就很难发生因为交易所他处理的是针对单只股票的集中的交易行为这里面有些限制你比如说

我们假设交易一只热门股票比如说这个随便说一只股票比如说中国现在哪只股票最热门的我们讲这只股票比如说我们就说中石化因为我不炒股我不知道中石化在不在上面对比如说中石化我们就以中石化为例全国人民今天真正内行都远离这个赌场就是说全国人民今天就跟发疯了似的我们都要买中石化

比如说然后呢这里面有些限制什么意思呢就是说第一个限制呢就是说全国人民股民的订单进入交易所的后台以后他的必须严格遵循价格优先和时间优先的交易规则进行交易

这个非常好理解对不对但是规则其实要求非常的高这是法律规定吗还是说就是全国层面的交易规则的要求这是个最基础的交易规则了我感觉互联网的交易已经做不到这个他做不到这个所以就是说对散户来讲他们很极端的比如说散户很极端比如说我跟刘鹏老师我们现在都在

同一个券商的一个大厅里面交易他占了一个交易的界面我在那个交易界面我们俩并排坐在一块我们俩都在同时的下单买中石化的股票而且我们俩价格都一样但是呢为什么他成交了我们但是我的手速比刘老师快然后我发现我下单的时候我比他快一点点但是呢却发现我下单以后我都没成交刘老师的成交了

我就可以去告券商因为交易所给大家的承诺时间优先价格优先时间优先的交易规则

所以你要知道就有无数双眼睛和无数个后台的系统他都会盯着这个规则是不是真正的一一贯之的被实现了还有日志可以查的所以这个规则是绝对不能被打破的所以所有订单进入交易所后台以后它的严格就序列化了

而且你要知道这个序列化跟你交易所后台发生任何的事故都没有关系你比如说那交易主机突然崩掉了对不对然后崩掉以后因为你要知道很多订单它可能在路上在路上然后它有可能然后在不同的交易呢可能有不同的环节不同的环节其实都有自己的数据的缓冲然后呢如果其中一个环节崩掉或者乱续的话

这数据它可能会涉及到重发重传什么之类的它顺序就乱掉了你理解我意思吗对不对但是你要知道从用户层面他可不管这个东西他只管我只看我跟牛鹏老师价格是一样的我比他先下单那我就必须成交比他先我不管你后台发生什么事情但是你要知道这种要求在店上是从来没有过店上没有这种要求

所以像这些最朴素的要求实际上就导致了交易系统的实现在技术上就有很高的难度好了所以这个要求就导致什么就要求导致就是说所有的进入交易所后台的针对同一个品种的订单必须集中到一个地方集中交易按照时间按照价格优先时间优先的顺序集中交易而且根据我们的直觉还只能在一个处理器上交易

一个处理器如果你要放到两个处理器上交易这就涉及到两个处理器之间的巨大的同步的开销任何做过编程的人都知道就是说你有一个严格有序的队列嗯

然后两个处理器同时去处理那个对列的东西还要保证这个处理的一致性这两个处理器的同步的开销是非常大的嗯 得不偿失可能对吧所以呢 by default 就技术层面 by default 就是说我们已经认为就是说

就是说你能设计的空间很有限就是说你能水平扩展的空间非常有限就是说你更多的是靠一个单处理器的性能的提升来提升你针对单个股票的处理的能力

所以就是这个要求就限制交易所系统的水平扩展性有很多人说你水平扩展 10 个机器不就解决了吗但是你得知道除非你扩大 10 倍的流量是针对不同的品种的但是如果我 10 倍流量都是针对同一只股票你水平扩展是没有任何用处的

因为它最终还是所有的订单都集中到一个交易主机甚至一个处理器上面而且是不是实际的交易行为大家就是往热门股票比较集中是的肯定是这样的交易行为肯定是非常集中的当然我刚才举的例子比较极端就是全市场都去买中石化但是我们可以说全市场 10%的订单去买一只热门股这是完全有可能的所以交易所它任何设计都是为这种非常极端的情况设计的对吧

所以就是说这是一个严格有序的情况下这是个严格有序还有一个就是说严格的任何时候都不出错不出错是什么意思就是说你比如说交易后台发生了当机事故然后你后面的数据必须是完整和一致的

做过数据处理就知道完整和一致是什么概念说白了就是事物的概念这就是 transaction 的概念对吧但是你要知道就是说这个需求迭移到刚才我们讲的严格保持顺序这个情况就有可能就会让系统的设计变得更加复杂因为我举个例子你就明白了一个交易主机突然当掉

然后在当的过程当中它可能有一个交易周期这个交易周期其实已经成交了一堆订单那 by default 我们认为这些交易应该是回滚的那如果你用 Oracle 的数据库传统的事务型数据库这很简单实现

但是我们不用数据库但是我会简单再解释一下就是说为什么我们不用数据库对吧对然后所以你得去把它回滚这是一个第一个需求第二个你要知道当你交易主机当掉以后肯定有其他的环节发现你当掉了他就会把订单重传订单重传以后最后又到了一个重新正常工作的交易主机的地方他就会收到乱续的订单

它就会受到乱续的对不对你如何去保证又如何保证它的一致性理解吧然后我们回到单股刚才讲就是说针对一只股票的所有订单理论上来讲它必须路由到一个服务器甚至是一个处理器去执行所以你这个交易所针对一只热门股票的处理能力取决于一个处理器性能的上限

对吧就取决于一个处理器的上限

所以这个时候就对你的计算机的工程能力就提出了非常变态的要求就非常变态的要求什么意思就是说你的这其实就典型的高性能编程简单讲就是高性能编程你如何编程让能够榨干处理器只要做过高性能系统及编程的很多人就能理解这个话题什么意思就是说当你在处理一个事物的时候在处理一个业务的时候

这个业务它可能会涉及到内存的计算它可能也会涉及到文件的读写它也涉及到网络的发送那我们知道呢就是说内存的读写它都是直通的在处理器这个地方是直通的它不会阻塞处理器的执行对吧但是文件操作和网络操作都是外设操作都是 IO 操作那我们知道 IO 操作它都会阻塞处理器的主进程

对不对那我们的绝大部分工程师其实编程的思维其实都是非常线性就是 street forward 的就是说我做完一步操作比如说我做完一个写文件操作或者发送网络的操作以后

我再进行下一步对不对他这是一个完全同步说白了这是一个同步的系统现在很多人理解这个概念但是 20 年前这些概念很多人理解起来稍微比较麻烦一点就是这是一个同步的系统同步的一个系统它的问题就在于

它有大量的操作会阻塞你的处理器的执行嗯处理器闲着了处理器闲着了啊但是我们刚才讲了因为这些交易规则的限制你必须让所有订单只能路由到一个处理器上面但是呢你在处理过程当中因为编程的问题又会导致大量的呃这个编程的行为导致你你这个主进程被阻塞这不就是个矛盾吗嗯

就是你是个同步系统换句话讲你要充分的榨干一个处理器的性能你必须是一个全异步的系统这里就有一个特别重要概念就是异步的系统那我相信现在很多人其实也理解了这个概念就互联网公司的后台工程师什么之类的系统工程师他们就理解这个概念但是我是说 20 年前然后呢

就是说整个系统它是个一部的系统在一个交易的处理过程当中你比如说你要做交易规则的检查那本质上是大量的内存计算你要做交易撮合那本质上也是买卖对列的互相的匹配它其实也是内存计算然后内存计算完了以后你要保证内存的数据你要被永久的序列化到磁盘上面这样你在当机的时候你才能恢复这些数据

这是一个这不是内存计算这是 IO 计算然后你处理完了以后你还要发网络消息

你要告诉他我处理完了传回去这也是个 IO 的操作他也会阻塞主进程而且呢针对每一个订单每一个单一的订单这些都是标准的一个操作有内存计算磁盘网络那你要知道我们的设计目标大概每秒是一万多个订单那针对这一万个多个订单都要做这些操作如果你是非常简单的编程模式同步的模式你想想

你要把处理器阻塞多少次对不对所以就是说即使我们把交易系统从文件搬到内存以后实际上它整个的架构的设计和技术的实现其实变得更复杂了因为它从传统的同步系统变成了一个全一步的系统因为说白了你这个系统越一步

越易步然后呢你对主进程的主色就处理器的主色会越少但是你要就是说全一步的系统它的架构编程和调试其实都是很复杂的都是很复杂的对吧然后呢这个呢是我当时在上交所的时候做的一个非常重要的工作

我当时对义部的系统是非常熟悉的这个就是说起来有点有趣了为什么呢因为我在清华的时候我的本科的毕业设计和我的硕士的毕业论文做的就是这个东西因为当时我在计算机系我的专业是多媒体

就媒体就是处理视频和音频其实就是现在人工智能的一些东西找些东西模式识别所以我们的实验室我们现在清华的实验室现在叫媒体基层与人机智能交互你可能都知道这个实验室的名字我们以前叫媒体所

然后呢在我们这个年代呢人工智能没那么流行但是我们流行什么流行服务器就流媒体服务器视频服务器对这个东西呢你要知道一涉及到服务器尤其是流媒体这些东西它就涉及到大量的数据的存储读取和网络的发送以及低延迟对吧你看网络视频是不是希望延迟特别低啊然后你作为一个媒体网站你是不是希望你的服务器能够支撑尽可能多的用户来同时播放啊

它其实都是简单讲你会发现它就是高性能低延迟高并发的需求那本质上来讲其实就是一个全一步系统简单讲所以呢我在 90 年代末 2000 年代初的时候做本科毕社和那个研究生的时候其实

我就做了大量的基于 Windows 平台的这种系统级的编程以及异步系统的架构和编程的研究和工作我对这些工程的实践非常熟悉所以到了上交所以后发现它也是这个东西所以我就听起来就特别得心应手当然还有一点也很重要的就上交所这交易系统使用的操作系统我回到操作系统的话题了它叫 OpenVMS

OpenVMS 是一个经典的 UNIX 操作系统的一个变种它当年运行于小型机上面那个小型机叫 DECαIT 行业老人应该都听说过这个机器

对吧然后呢这个操作系统它实际上是跟 Windows NT 是同一个人设计的哦是吗对就是 Windows NT 的设计师当年在微软哦不不说反了这个设计师当年是在那个 DEC 那个公司确实微软 DEC 解散的时候一波人去微软一波人去 Google

JFD 应该也是 DC 的吧我好像记得我不记得了所以就是说当年那个人在 DC 设计了 OpenVM 这个操作系统然后后来就被微软挖了过去设计了 Windows NT 不是 Windows 当年还是 Windows 95 这些东西 Win31 那些东西都是 NT 是个新内核 Windows NT 是新的内核所以它既然是同一个设计师设计的它肯定两个操作系统的

就核心的理念架构层面其实都是类似的甚至是一样的而我在当年做毕业设计在清华的时候我其实就对 Windows 的内核尤其是 NT 的内核系统级编程我都非常的感兴趣做了大量的研究所以我去了上交所以后然后我就很快的发现我在 OpenVS 上面的系统级编程就得心应手我后来才明白原来这两个系统他妈是一个人设计的

所以这件事对我来讲它真正就是个天时地利人和的事你理解我的意思吗因为你要知道什么叫人和因为中国只有两个交易所大的深交所和上交所这是第一点第二点一个交易所做完了以后基本上是管 20 年的理解吧所以如果你有机会参与这么一个国家级的系统的建设你的行业的地位名声可以延续 20 年

你可以吹一辈子现在快到 20 年了对现在快到 20 年了对不对你可以吹一辈子赶紧再多吹几回对你可以吹一辈子对吧然后呢其实不是有很多人有机会能够接触这样的系统的对然后呢我呢其实是确实有了这么个机会而且呢确实阴差阳错呢我过去的这种技能级我们讲 skill set 就是计算机的架构和 programming level 的 skill set 跟这个项目非常的 match 非常的

而且呢我还有全局观刚才其实没说完的就是我上了项目以后我很有全局观我做了很多全局的事情包括从编码规范代码质量甚至到架构设计上面对回到架构设计了就是我在架构设计上面跟德国人发生了严重的冲突因为德国人他是 C 传的经验嘛刚才我们在讲 C 传嘛

但是 C-TRACK 的经验是基于他们需求比较低他们设计目标就是以百为计的我们现在是以万为计的对不对所以在不同的设计目标下面我就认为他们的架构设计是不行的然后我认为我的行

最早他们占主导地位因为毕竟那个项目最开始是学德国人人家有经验我们肯定中国人在那个项目上开始是肯定是二等公民毫无疑问的所以即使当时我在跟德国团队发生冲突的时候我的中国老板以及我的客户就甲方上交所的人他们很多人他们经过简单的技术的分析和判断认为我是对的

他们当时也不会严格的非常百分之百的支持我那后来我怎么被扶正的呢第一次用户验收设计直接当机了而且当时的压力只上到了 1000 都还没有到万所以呢而且呢所以当时呢就是说所以第一次用户验收设计就彻底失败而且性能都没上到万上到千你整个系统就崩掉了然后那个而且呢你要知道到那个时候我们的甲方已经忍受

德国团队我们的乙方团队的德国团队已经很久了因为德国人你知道很傲慢他们的性格就是这样特别傲慢所以在第一次拉出来 66 之前测试之前甲方其实都是忍气吞声的结果呢第一次测试失败甲方就逮着机会就暴露了就反攻然后就把他就把一些关键人给赶走了然后就把我给伏阵了而我呢就是我

我其实在之前已经升了首席工程师但首席工程师他其实更多是编码规范和代码质量的你对架构决策就没有发言权那件事以后我就变成总架构师和总设计师了我就大多阔幅的开干了就自己干了你知道吗而且你做个大型系统你就知道我做的最多工作实际上就是对整个架构进行重构从软件工程角度来讲叫 refactoring 这个词你肯定知道

就是说资深架构师才会做这个事情一般来说不会做这个事情因为他得力不讨好就是说重构的意思就是说你从业务层面然后从这业务层面对你的功能进行优化抽象那从技术层面你也要去优化和抽象那你的目标一定是结构越来越简单

代码量越来越少对不对所以当时我做了很多这样的工作但是就说有过甲方乙方这种工作经验的人就知道乙方的人其实很少主动做这些事的因为不讨好因为他有额外的很多工作量乙方的项目一般都像那个这个

呼指鹏的那个给你呼上看着项目回事就完了对项目回事所以乙方团队领导人他其实也不愿意对反正你满意就得了你满意就得了就是说因为为什么因为它会涉及到你额外的人力的成本所以当时我做这件事完全就是说白了除以一个工程师就是说计算机的爱好者我对一个系统的极致追求那我认为这些东西应该是清华带给我的

你说白了就是说我们追求工程卓越就这件事情已经跟我的薪水没有关系了丢不起那人主要是对就是说已经是股市里面的了所以呢所以呢就是说整个系统呢其实重构以后呢我大概写了好几万万代嘛

但是你要知道那是重构以后的不重构它其实你可以理解为对应的代码其实要多好几倍的对吧我其实是在很短时间之内写了很多很多代码然后最后的结果就是说我们的测试指标全部大幅超越合同的要求客户高兴坏了

而且呢我们在一些关键指标上因为它的指标里面分级别的我举个例子你就明白了比如说它里面有交易指标或者非交易指标那交易指标呢其实就是业务量最大的所以它对指标要求特别高非交易类型呢因为它的发生率比较小所以它对它对这个指标的要求就低一些比如说交易是一万级非交易可能就是一千级对不对但是到最后我来做的时候呢

我接手之前交易的那套东西和非交易的那套东西你可以理解为从架构层面就是两套东西到我接手以后我一看这玩意从业务层面就可以抽象的技术层面我更可以把它抽象成同一个东西从架构层面就是说重构以后它就是同一个架构完全同一个架构你完全同一个架构就意味着什么就意味着交易能达到的性能非交易也能达到性能所以最后测试非交易也上万客户不就得到几大的红包了吗

你见我意思吗因为客户的合同里面要求非交易这一块你的要求能达到 1000 就可以了就处理的性能结果呢你非交易也最后达到了 1 万那我为什么能实现呢是因为我交易和非交易我把它变成了同一套架构对吧因为我从架构层面我做了这种抽象这种抽象我做了很多非常多除了交易非交易还有交易前交易后什么叫交易前交易后呢就是说

你进入交易所后台以后它一定是分环节处理的这好理解收单肯定是交易所的后台肯定也有一堆收单的功能收了单以后它可能会做一些预处理对吧预处理呢你就开始集中交易那但是集中交易以后呢那这个时候它做的就是纯粹跟交易相关的功能比如说匹配对然后呢撮合

然后发消息回去只发消息回去就是发确认消息就是你电脑我处理了然后但是其实还有很多其他事情什么事情行情理解吧行情就是说成交以后你有具体的信息比如说价格量谁是谁这叫行情这个行情跟刚才我们讲的那个回去的消息是两回事这个东西它就叫交易后处理对不对所以交易后处理你可以理解为它属于交易的下一个环节

然后你可以理解当时我做的时候我的重构相当于我当时一个维度是交易和非交易的重构把它架构合而为一而另外一个合而为一是交易和交易后的架构又合而为一而且交易后又有几个不同的需求完全针对市场参与者的行情

还有一个是针对监管者的行情而针对监管者的信息的推送比如说叫交易监察你去看交易所交易系统里面有一个很重要的功能就叫交易监察交易监察你可以理解本身上来讲他看的都是交易后的数据但是呢行情是给市场参与者普通的人看的监管呢它是另外一套对不对在以前的设计都是不同的系统

然后在我这里我都把它重构成同一个东西了所以就是说有不同维度的重构所以这样导致这个系统就越来越简单代码量越来越少对不对所以你最终可能看到是几万行代码但它实际上对应到正常情况下面可能是 10 万行或者 20 万行

就说这种工作我做大量的而且你要知道在我们那里就是说架构师本身我作为一种架构师我实际上绝大部分核心代码都是我手写的不是说我设了一段架构让别人去写不是这么回事别人为什么不写呢他能力达不到这个要求就这么简单就是还是那句话回到最初的话题艾森泽那个工程师的铺像我们这种人

是属于比较罕见是极其罕见的对是极其罕见的他们正常的工程师的水平我跟你讲就是普通的软件学院培训出来那种水平我们讲普通软件学院而不是中国人他就敢接商教所的活他就敢接这就属于集体各参与方都很草率你们还敢炒我特别喜欢用个比喻为什么团伙犯罪容易造恶性事故

团伙犯罪胆大呀互相壮胆对互相壮胆啊对为什么要 teamwork 嘛为什么要 teamwork 就这作用啊对要 teamwork 就是胆大不敢做的事还敢做了嘛你懂我意思吗但是我其实只要做过大型的工程系统计算机工程系统的人都知道大型系统其实往往都是少数人供应对啊 LinuxLinux 包括 Gmail 其实都是一个人一两个人搞成的人都不管用这东西人都不管用其实上海教育交易系统其实也是一样的

虽然我们的团队一百多人但最核心的其实就我一个人写的说实话我把架构设计成这个样子别人编程序他也实现不了他想都不会想到那个层次但是我不能说就是说清华是不是随便哪一个人他能做到这个层次我不认为是这样子

我真的不认为是这个样子对吧但是呢我也不说我在清华的工程能力里面是顶级的肯定不是但是呢我在清华计算机器的编程和工程能力里面肯定是优秀的肯定是优秀的而且是远远的 above average 这一点我是绝对确认的因为你要知道就是说社会上很多会会神话奥赛集训队

奥赛的话它其实它不是工程能力它不是工程能力对它是小聪明算法解题能力它是解题能力它是解题能力它是算法就是说当然了就是说很多算法强的人他工程能力其实也不会弱但是呢我们不要去等同算法能力和工程能力对对对这完全是两回事我具体跟你讲我手写我都写不了快排一说你就明白了明白我都写不了快排

但是我把整个系统重构以后我把这个整个以前整个架构里面大量用快排的全部替换掉了没有用快排的了就用了特别的哈希算法对吧我的哈希算法也特别简单从理念上也很简单但是从工程实面非常的优雅就一说大家都明白但是不说你一辈子都想不到到中国到目前为止也就是我实现的数据结构算法

就导致上交所最后的性能提升很多很多倍其实就是我一个简单的哈希算法最后我的哈希算法就完全把之前的快牌全给替换掉了所以你像这种小聪明奥赛金牌来看太小儿科了对不对但是不代表他能做这样的工程系统

这完全是两回事就是说很多人就是说对计算机其实没那么熟悉的人他其实很往往会容易去误混淆这两者的边界而且呢

奥赛出身的人他也喜欢去模糊这样的边界对实际上不是这样的真的实际上不是这样的对吧这我也是希望有一个公开的机会能够去澄清这些东西对这个有时间还可以多给大家讲一下对这就是说算法的小聪明跟一个架构的设计

其实是两种能力两种能力架构的设计架构的设计能力很多时候是这种业务的理解抽象抽象能力就有点像很有名的软件工程里面叫分析模式设计模式为什么人家说分析模式设计模式里面其实跟你的计算机能力是没有关系的它其实是跟一个人的抽象能力有关系所以人家分析模式设计模式的作者就说的很明确就说这个事情做的好的

最后不见得是学计算机的人你说的太对了比如说王坚老师对啊王坚老师是心理系的他完全就是一个学文科的人他有可能是一个学文科的人他不是学计算机的人但是他的设计和分析他做的特别的好他本质上是一种就是说架构能力实际上更多的是一种抽象能力

全局和抽象能力而不是算法层面的小聪明这个东西呢我觉得清华计算机器的人都很少有人把这个事说清楚他们也不愿意把这个事说清楚我认为因为真正我在我认知的范围之内清华计算机器出身的人做过这么大型的国家级系统的一只手都没有说实话我可以非常自豪的是没有的所以呢你的奥赛集训队金牌 so what 这就在我看来 so what 的

就真的就是小聪明但是在我们那个地方他的文化就是这个样子真的是这样子就是你来一个工程师我像我上次创业的时候做量化我招的小孩很多都是这种类型的一上来就是说随便来一个人就算法考试就拿这种 outside 的那种那种当然他那种人肯定还是很有用的他是有用要是带那些人的话那代码你不用你自己写是吧他确实有用但是呢他不是全部他真的不是全部不同的能力

我还听说一个小的这个事就是说这个伤口所系统是宝刚帮着验收的是吧对对对这个听起来很雷为什么呢为什么是宝刚是帮助做验收测试我们叫 UAT 测试为什么呢又涉及到那个操作系统了操作系统就是为什么要用 OpenVMSOpenVMS 它是一个 UNIX 的变种它有一些非常强的特性就是说它的稳定性超强

它的实时性超强集群能力超强这几个其实你可以理由从某个角度来讲都是可靠性的体现就是说可能说的比较抽象我举个例子就明白了就是说如果我要管理一个计算机集群然后所以呢这个计算机集群的这种实时的大家的这种通讯的这种同步和一致性的这种需求是很强烈的你比如说你当机了我得立刻知道

对不对然后这样我才起反应然后我能做出正确的反应 Open Web 的操作系统它可以非常可靠的做到什么就是说一个集群管理的时候它还可以最快的速度让其他所有人都知道这是它可以非常明确的给你预期它的实时性非常好就是说集群管理的实行非常好但是其他的系统比如说你拿 Linux 或者其他的系统来管理或者 Windows 来管理它可能你这个机器当机了以后其他人也会知道但是它会有一个很大的延迟

这种延迟可能是一个量级的它是一个量级的概念对吧一般的人可能没有这个需求但交易所肯定有这个需求因为它本身是一个实时系统对我们回过头讲交易系统它是一个叫 mission critical business system

叫任务关键业务系统就任务关键这个词其实是不能随便用的但是呢现在大家都随便用你比如说电商的系统这叫 missing critical 那扯淡那完全不是 missing critical 对不对它不是的就是说你的实时性和一致性的要求跟这个都有很大的差异所以你看交易系统它对那个实时性的要求是非常高的

这个就跟宝钢发生关系了宝钢是干嘛的就炼钢的炼钢炉它的控制火候的时间是非常敏感的时间控制的不好一锅的钢水就废掉了对他们来讲就是上百万的成本所以一定要用一个好的系统去控制炼钢炉他们用什么系统他们就用 OpenVMS 理解了吗因为 OpenVMS 有这样的非常高度的实时性和可靠性

就在管理系统的时候所以呢它被传统的用到了炼钢的这个生产环境里面所以呢这就是很有趣的一个事情就是说宝钢自己的这种技术团队它既然用 OpenVS 它肯定基于 OpenVS 的操作演练很熟悉嘛

所以上交所的这个系统找不到别人最后测试的验说就让他们来测试验说因为我们当然可以做测试但是我们是自己给自己测的没有用嘛不行对上交所他一定要找个第三方嘛对不对熟的第三方那全中国就他们最合适了对不对就是这样来的所以这些事情其实背后都有他很深刻的

技术的原因很深刻的技术原因今天龙博士跟我们聊了很多在这个股票交易背后的有趣的制度还有些特别好玩的技术问题也让我们知道了一个

令人震惊的事实就是股票系统的制造者原来是不炒股的所以我们这个节目的 slogan 叫真爱生命走进科学也劝大家真爱生命远离股市渗入股市咱不能说远离渗入股市好嘞好嘞好嘞这主要就是说给我听的这个其实我稍微补充一句啊

首先就是说我不炒股是因为我也曾经被斩到脚踝过在十年前被自己做的系统而且你要知道十年前的时候那时候其实我已经完成交易系统了对不对当时我作为一个股民你以为你最了解没有没有我不认为我了解对不对我只是说我作为一个普通的参与者然后当时我进去我是斩到脚踝我出来的就是损失了一半就直接出来了

然后但是我认为就是说交易所股票交易其实或者叫资本市场投资对中国的老百姓来讲还是一个非常重要的事情尤其是中国现在发展到这个阶段以后重要的消费平台不是消费平台是你的资产的增长的这么一个平台就是说中国其实已经到了一个阶段说白了就是要让更多的人持有资产

并且能够让资产增值的这么一个新的发展的历史阶段对不对而且呢中国也在讲要讲金融强国那金融强国其实最重要的就是要把中国的资本市场更好地建立起来对不对所以呢从这个角度来讲呢我倒不劝阻大家不进入股市实际上呢我认为呢还是应该要参与的而且呢大家一定要充分地享受国家给的红利

就是现阶段的红利这是一点这我不是鼓励大家炒股我只是说历史趋势发展的阶段很多时候大家知道你赚的钱是历史大事的钱

就国家给的机会的钱这是第一点第二点就是说中国投资者应该打开眼光除了国内的投资其实更多的机会或者说越来越多的机会其实在国外就中国的投资其实要走出去这里我再多说一句我其实下面主要的工作其实就是做中国的对外投资

对外投资而且就是说我的我一个很重要的目标就是带领中国的投资者到全球南方国家进行高质量的这么一种投资建设我已经做了很多这样的准备工作当然以后可以在自媒体里面跟大家多交流这方面的话题好太好了听龙博士的新书年底出版的时候欢迎再来到这跟我们一块好好聊一聊感谢关注科技修道院再见