2013年8月31日 星期六 晴
三年前,我的实况炒股还和光大证券还合作过,小收了他们一点广告费,要是当年他们觉得这个不错,把我挖过去写他们的程序,搞不好弄出这个乌龙指的人就是我啊,这辈子不知道会不会有阴影,一个笔误弄错了几十亿。因细节而导致失败的有很多,比如航天飞机爆炸,西班牙核潜艇设计超重、设计摩天大楼忘了设计电梯的。
插播一个广告:我写的模拟交易,涉及到钱的部分,写得还是比较谨慎的。如果现在光大证券招人的话,我愿意去的,钱跟我现在差不多就行,只求转行。在上海的证券或者金融公司,如果看到我的这行话的,有招聘需求的话,请联系我,谢谢。
今天看了新闻《证监会调查乌龙指事件解密:肖氏执法试金石 》,我只能说,这只是一家证券公司,不是软件公司,内部风控和软件管理乏力,有这样的后果,完全是咎由自取!
下面列举一下他们的问题: 1.订单生成系统中ETF套利模块的设计由策略投资部交易员提出需求,程序员一人开发和测试。 —— 涉及到真钱交易的程序,他们还真敢这样干啊。
我就不提什么模块设计和评审了,就算是功能简单,我认为也至少需要3-5人review代码,代码的逻辑部分更需要一行行阅读,要做pclint、单元测试、模拟测试等。
测试也要别的人进行测试,白盒和黑盒,至少要一个模拟的交易系统进行连续**天的压力测试吧。
2. 策略交易系统于2013年6月至7月开发完成,7月29日实盘运行,至8月16日发生异常时实际运行不足15个交易日。由于“重下”功能从未实盘启用,严重的程序错误未被发现。 —— 靠,没实盘测试过的功能,就这样裸身上阵了。
3. 订单生成系统中ETF套利模块的“重下”功能(用于未成交股票的重新申报),设计时错误地将“买入个股函数”写成“买入ETF一篮子股票函数”。 —— 这是最致命的部分,如果没写错这个的话,影响不会很大。
这位程序员肯定是拷贝代码拷过来的,能手敲代码就不要拷贝了。当然,包括我在内,我也会经常拷贝代码过来偶尔忘了改的。不过我有个习惯,我会全部搜一下某些功能的函数,这样犯错的概率会比较低。
4. 订单执行系统错误地将市价委托订单的股票买入价格默认为“0”,系统对市价委托订单是否超出账户授信额度不能进行正确校验。 —— 只能说没有考虑到加保护,我写的实况炒股的交易都有加保护的。这是考虑是否周到的缘故,有人写程序虽然写得快,但逻辑思维能力欠缺,考虑不周全。
5. 11时05分08秒,交易员想尝试使用“重下”功能对第三组交易涉及的171只权重股票买入订单中未能成交的24只股票进行自动补单,便向程序员请教,程序员在交易员的电脑上演示并按下“重下”按钮,存在严重错误的程序被启动,补单买入24只股票被执行为“买入24组ETF一篮子股票”,并报送至订单执行系统。 —— 没有测试过的功能,竟然能出现在软件中,还能运行。
...