6 月 3 日,一大早,美股刚开盘就因为一个软件 Bug 陷入了混乱。
软件 bug 导致美数十股跌停,现已修复
在当地时间上午 9:45 分左右,纽交所突发技术故障,导致大约 40 只股票的交易被紧急暂停。紧接着,在上午 9:50 左右,伯克希尔哈撒韦公司的 A 类股票异常成交了十几笔,这些股票以 185.10 美元的价格成交,该类股周五收于 62.74 万美元,暴跌近 100%。
除伯克希尔之外,涉及巴里克黄金及 Nuscale Power 股票的交易也均被暂停,后两家公司的股价同样出现大幅下跌,其交易价格骤降至原价的约 1%,跌幅高达约 99%。 但随后三支股票全部恢复交易。
2024 年 6 月 3 日,伯克希尔哈撒韦 A 类股受技术问题影响,其价格在纽交所错误下跌近 100%。
据报道,当时由纽约证券交易所子公司运营的合并报价系统(Consolidated Tape Association)正在更新控制证券信息处理器(SIP)上显示开盘价格的软件。CTA 负责管理不同场所之间的交易数据传播,SIP 负责处理和整合数据。
随后,纽交所于美国东部时间上午 11:45 左右表示,技术问题已经解决、交易顺利恢复正常。
CTA 方面则指出,美国东部时间上午 9:30 至 10:27 之间,涨停与跌停价格区间(一种旨在对抗市场波动的机制)出现问题。
CTA 解释称,此问题可能是由软件版本更新所引发的,随后,CTA 通过切换到运行旧版本软件的辅助数据中心解决了该问题。该组织随后在周二的交易时段在其主数据中心内完成了软件程序恢复。
据 CTA 介绍,共有 40 支股票受到此次问题的影响。其他遭到波及的知名股票还包括奇波雷墨西哥烧烤(CMG)和蒙特利尔银行。
纽交所集团股票交易所在收盘之后宣布,将取消包括伯克希尔哈撒韦 A 类股在内的多支证券的错误交易。
在正常情况下,伯克希尔当初发行的 A 类股堪称华尔街价格最高的股票之一。上周,其单股售价甚至比美国房屋的中位数价格还要高出约 45%。3 月 28 日,伯克希尔 A 类股更是创下 63.444 万美元的每股收盘价格新纪录。
截至交易暂停时,伯克希尔 A 类股的当日记录交易量不足 4000 笔。B 类股继续交易,且本周一上午的跌幅不到 1%。这两类股票在当日收盘时均微涨近 1%。
暂停似乎并没有对主要市场平均指数的造成明显影响。
数据系统出了问题并不罕见,该如何应对?
一位美国大型银行的高管向 CNN 透露,纽约证券交易所的母公司洲际交易所 (ICE) 并未发现任何迹象表明此次故障是由网络攻击引起的。
几十年来,随着交易从交易所大厅和交易代理中心转移到线上电子交易系统,由软件和硬件故障、网络攻击等问题引起的交易所中断一直扰乱市场并动摇投资者信心。近期其他类似案例还包括上周芝加哥商品交易所的指数数据馈送被冻结一小时,以及纳斯达克在去年 12 月曾因系统错误导致部分交易被取消。
2023 年 1 月,纽交所也曾出现过某些股票开盘后交易异常的情况。随后纽约证券交易所表示,将向投资者补偿因故障造成的损失,该故障引起了广泛的混乱并导致数千笔交易被取消。
周一的问题再次提醒我们,对于华尔街至关重要的交易所及数据提供商也绝非完美无瑕。那么,导致如此大的数据错乱到底是交易系统的哪个环节出了问题?
对此,某商业银行数据库负责人 Andred Wang 表示,造成这种问题的原因可能是多方面的,最大的应该出在数据库上。通常,软件更新可能会带来以下几种兼容性问题:
数据库或软件新旧版本之间的不兼容:新版本的软件可能对系统资源的使用、数据格式、接口或其他方面有新的要求,如果旧版本的数据库或其他软件不满足这些新要求,就可能导致问题。
配置不匹配:软件更新后,相关的系统配置可能没有正确调整,导致新旧系统组件间不匹配。
此前未预见的软件自身缺陷:新软件可能存在开发时未能发现的缺陷,这些缺陷在实际操作中可能会暴露出来。
依赖性问题:软件更新可能改变了原有的依赖关系,导致依赖该软件的其他系统或组件无法正常工作。
某开源数据库联合创始人 Jason 也表示,可能纽交所 CTA 本身的系统已经比较老旧了,在更新软件 SIP 的时候应该是在数据一致性上面出了问题,尤其是要从 T+2 到 T+1 新旧系统切换的时候,应该没有做新旧软件并行的数据一致性比对,导致软件在抓取数据库中的数据时出了错。
在数据库如那句新旧版本切换的时候,都需要做并行新旧系统数据一致性校对,保障应用软件和数据库的交互方式的数据一致性,这个经常要持续一段时间,再做切换,此次故障回到旧版本的辅助数据中心能够正常运行,说明他们在“先上应用软件再投产上线”这个过程中的数据一致性测试没做好。
Jason 强调,在金融核心系统中,数据的正确性和一致性是最重要的,企业 IT 部分需要一整套完整的新旧系统切换演练和一致性测试流程,这是一个大工程。从纽交所此次事件看出,他们在 CTA 软件上相关的 IT 水平还不及中国的大型金融机构和互联网公司,这种交易价格错误的低级错误在国内已经很久没发生了,最多也就是宕机或终止服务。
那么,企业在数据库或其他软件新旧版本切换时,应该进行哪些措施来尽量避免类似事情发生?对此,Andred Wang 表示,在数据库版本变更之前,最好先完成下列操作:
首先是兼容性测试,在切换之前,应确保新旧版本之间在各种条件下都是兼容的,包括数据格式、接口和性能等;其次是制定好灾难恢复计划,这样才能确保一旦出现故障能够迅速切换到旧版本,或采取其他补救措施;第三是要逐步切换,如果可能,可以先在小范围内测试新版本,再逐步扩大到整个系统。第四是监控和日志记录,在切换过程中,加强系统监控和日志记录,以便出现问题时能够快速定位并解决;最后要把人员培训好,确保相关的 IT 运维人员了解新系统的操作和维护方法。
企业 IT 部门也要对系统进行定期备份、变更管理、自动化测试、故障演练、第三方审计:定期邀请第三方专业机构进行系统审计等工作,这些措施可以最大限度地减少系统故障的风险,确保业务的连续性和稳定性。
参考链接:
评论