Software engineers blamed for credit crisis
Wednesday, May 21, 2008
As a former software engineer (the real kind, not the "Microsoft Certified" variety that I understand has denigrated that title in recent years) I couldn't resist writing the headline you see above.
It came after reading this story in the Financial Times about a coding error at Moody's that resulted in incorrectly rating CPDOs (not to be confused with C3POs):Moody’s awarded incorrect triple-A ratings to billions of dollars worth of a type of complex debt product due to a bug in its computer models, a Financial Times investigation has discovered.
They should have done more thorough code reviews - latent defects are much more costly than most deadline-obsessed managers realize. I should know - I had a few doozies in my day (yes, both latent defects AND deadline-obsessed managers).
Internal Moody’s documents seen by the FT show that some senior staff within the credit agency knew early in 2007 that products rated the previous year had received top-notch triple A ratings and that, after a computer coding error was corrected, their ratings should have been up to four notches lower.
News of the coding error comes as ratings agencies are under pressure from regulators and governments, who see failings in the rating of complex structured debt as an integral part of the financial crisis. While coding errors do occur there is no record of one being so significant.
In the case of Moody's, however, the managers may have been obsessed with more than just deadlines.
12 comments:
Surely you'd check your code by asking it to rate old debt where you already know what the answer should be from the ratings done in the past? This story implies remarkable incompetence.
No incompetence here. It is deception by design. The only incompetence is with those who believed it and put their money on the line. Ultimately, everyone is responsible for managing their own.
They got the answer they wanted and moved on.
Put these two together... as a software developer (not engineer - never used that moniker) and as someone who's worked in the financial world with ties to it still, I have been asked by all of my broker friends (those with econ degrees) which programming language they should learn because there's a huge demand in the industry for coding economists. They're telling me that starting salaries are around $500K - I don't know whether or not that's true, but they all seemed pretty motivated to learn how to code. Of course my advice was, and I still is that, you people focus on your numbers, and I'll focus on mine - meaning - you do what you actually know how to do and let a coder, who's doing what he knows how to do, fill your demand for... code.
Perhaps there's a connection there from some ill-experienced coder / economist....
This is clearly a management problem, and at a high level. Their main business is issuing ratings based on analysis. Failing to ensure that someone with domain knowledge, to whom the inconsistencies would have been blindingly obvious, did a plausibility check on the results coming out of IT is a cardinal failure. The entire management team at the intersection of IT Projects and Ratings Analysis should be mercylessly fired.
I agree WalkerJ. It is a management issue. Even if there was a "bug" that was subsequently discovered, did it not occur to anybody to rerun the code over the CDO's or whatever, that were previously processed by the by then known buggy code ? Or was there no production control and no-one knew when the buggy code was introduced ? If so, just another management issue.
Oh, please. First it's a rogue trader then it's crappy code. It's never the fault of the money handlers in charge.
Via the Implode-O-Meter, the details of the coding error were covered on a Yahoo! Finance message board:
Regarding the details of the software "glitch" which triggered the raft of bogus ratings at Moody's, I'm afraid it's really all very technical, but one of the wags on the Yahoo! Finance message boards put it nicely in terms of more-easily-understandable pseudocode, thusly:
Code:
If bond_issue = "paying customer", then bond_rating = "AAA"
Sarbanes-Oxley was supposed to prevent these errors. Amazing! A law turned out not to have magic powers.
You can never replace experienced judgment with a computer program.
It wasn't a "software bug" it was a management decision to make the numbers happen.
if greaterfools != 0 then goto HomePricesWillNeverGoDown;
Post a Comment