看大家爆料捅篓子不亦乐乎,俺也来补个课。
俺仔细地想了想,作为一个程序猿,俺捅出来最大的漏子无非就是月结帐关不上或者年结帐关不上之类的。这个和我所知道的一个印度程序猿跟一个犹太程序猿捅出来的漏子相比,实在太不给力了
在讲这个漏子以前需要补充一些背景。话说在俺们湾区有这么一家数量基金管理公司,公司的创始人是quant这行当里面的老行尊。在主流金融学者研究stochastic volatility和factor model之前,他老人家就和几个学生一起把这些运用在模型里开公司赚钱了。
几十年下来赚了个盘满钵满,到了快退休的年龄,把自己创立的两家公司一家卖给了华尔街大行,一家卖给了法国大公司,拿了钱去开了个藏传喇嘛庙,闲云野鹤去也。
本来这样是完美的结局,但是老法师在庙里六根不净,通过徒子徒孙继续遥控已经是法国公司的事务,这就让法国管理层很不爽,但又没有办法 ---- 那公司里法国人掌握的只有区区几条枪。
某日,老法师的曾徒孙 ---- 一个印度小年轻程序猿 ---- 修改了模型程序,加进了把持交易模型的老法师徒弟 ---- 公司的research director对模型的最新修改。
印度程序猿把模型的风险因子参数点错了两位小数点,差了100倍。
从director到QA,没人发现,就这么进了交易系统
几个月里基金一直在赔钱,也没人注意 ---- 2009年初哪个基金不赔钱?到了六月份,一个犹太程序猿在做系统维护的时候发现了这个问题,立刻报告了老法师的director徒弟,徒弟又报告了老法师。
老法师和徒弟合计了一下,这个篓子够大,好在我们几个月都没有发现基金投资人更不会发现,悄悄把虫子补了大概就混过去了。
然后又犯了第二个混,没有立刻补这个漏洞,而是决定在模型下一版本11月份更新时一起补这个漏洞。
到了10月份,犹太程序猿发现那个漏洞还没有补,猜出来老法师想蒙混过关。这次他报告了法国总经理。
法国人正愁没有弹药打击老法师,这下来了劲,报告了SEC,再发信给所有基金投资人披露事件。
于是有史以来第一次,SEC因为coding error起诉一家数量基金公司,我程序猿牛大了。
当然指控你编错了程序是站不住脚的,数量基金的投资人都是成熟投资人,理应知道模型风险和编程风险是投资风险的一部分。SEC指控的是信息披露:从6月份发现问题到10月份披露问题之间,基金公司已经知道模型风险因子被错误地缩小了100倍,却仍然在SEC披露材料和对客户的推介销售材料中使用了原先的风险因子,显然违反了fiduciary duty
大批律师,审计师,第三方程序猿进驻公司,对比错误的模型和正确的模型,试图查明到底造成多少损失。
经过两年,公司和SEC和解,赔偿客户损失217粒米,支付民事罚款25粒米。老法师证券市场终生禁入,徒弟research director因为和SEC合作,提供指控老法师的证据,免于起诉,只是从公司扫地出门。
客户大规模撤资,2010年撤资290亿,2011年撤资50亿,2012年撤资30亿;以老法师名字为招牌的基金彻底倒了招牌,必须重新改名。
公司管理的基金规模从570亿下降到200亿,留下的只有法国总公司的自有资金。
裁员上百,人头滚滚。
法国总经理被召回法国赋闲。犹太程序猿业内永远找不到工作。
犹太程序猿和法国总经理因为向SEC吹哨子,分享242粒米和解金额10%的吹哨者奖金,即两千四百二十万
现在倒带:
如果你是印度程序猿,你会怎么做?
如果你是犹太程序猿,你会怎么做?
如果你是research director,你会怎么做?
如果你是法国总经理,你会怎么做?