sinotao1
2013-08-22 09:31

嗯,即时互动性强的主题,总能从Banq这听到新鲜即时的资讯,不错。

banq
2013-08-25 09:24

2013-08-20 14:46 "@xianghx

"的内容

他们的好像是生成订单,和处理订单是分开的 ...

订单生成和订单执行两个过程是分开的,倒是符合我前面谈到的用户意图的接受与执行分开的方式。

用户每发出一笔买入指令意图,实际生成一个订单,而订单执行是指将更新应用状态,比如购物订单的执行将是减少库存,这个商品库存减少了,被订购了,如同转账中,将100元从A转到B,那么首先检查A是否有100元余额,如果有,扣除这100元准备用于转账,这相当于订单执行,如果订单最终未执行,还需要归还这100元为正常余额。

更新应用系统状态是系统最容易出错的地方,因为这里存在并发写的可能,无论是采取内存锁或数据库锁,都可能引发堵塞,导致同一笔交易反复执行从而产生虚假交易。

采取Disruptor的LMAX架构也是一种证券金融高频交易系统,使买卖双方撮合,其基本也分为订单生成和订单执行,不过其在订单执行时采取了两个Disruptor+一个中央逻辑处理器,这个中央逻辑处理器类似Actor模型,不受外界干扰,能独立完成逻辑计算,不会象光大事件中那样在订单执行环节出错,导致大量虚假订单执行。

[该贴被banq于2013-08-25 09:25修改过]

[该贴被banq于2013-08-25 09:27修改过]

banq
2013-08-31 12:03

调查真相出来了:

证监会调查乌龙指事件解密:光大前后四次篡改程序

事实上,光大证券策略投资部在外购软件后,自己又开发了订单生成系统。这个系统包括订单生成系统和订单执行系统两部分,均存在严重的程序设计错误。

其中,订单生成系统中ETF套利模块的“重下”功能(用于未成交股票的重新申报),设计时错误地将“买入个股函数”写成“买入ETF一篮子股票函数”。

“重下功能”用于未成交股票的重新申报,这个功能从未实盘启用,严重的程序错误未被发现。

而8月16日上午,光大证券交易员进行了三组180ETF申赎套利,前两组顺利完成。11时02分,交易员发起第三组交易。

11时05分08秒,交易员想尝试使用“重下”功能对第三组交易涉及的171只权重股票买入订单中未能成交的24只股票进行自动补单,便向程序员请教,程序员在交易员的电脑上演示并按下“重下”按钮,存在严重错误的程序被启动,补单买入24只股票被执行为“买入24组ETF一篮子股票”,并报送至订单执行系统。

2Go 上一页 1 2