Coding Flaws Caused Moody's Debt Rating Errors
An anonymous reader writes "The Financial Times has the story that billions in incorrect AAA ratings given out by Moody's were the result of a coding error in its computer models. '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.'"
Cue the onslaught of economists and generally math-illiterate people saying that computer models just can't be trusted. They can, ya morons, just not when they're implemented by penny-a-day visual basic dolts.
Exactly because they need a reason why they rated securities backed by sub-prime negative amortizing loans at AAA. This in turn caused serious miscalculations of risk which led partially to the current economic downturn we are now facing.
The other part was that companies were all too willing to offer these risky products and buyers were all too willing to lie on their loan applications to get approved for them.
This is another example of how good news in the economic field can easily go unchecked because it is beneficial for everyone involved (in the short term) for the world to believe them.
My favorite, and perhaps the most drastic, example is how the US government grossly misrepresents employment stats, the consumer price index, and the GDP. This creates another bubble; not for the New Economy or for the housing market, but for the US as a nation. As long as people keep believing in the "world's strongest economy", investments pay off much as they do in a pyramid scheme - but the point where they won't becomes ever more dangerous the longer the scheme holds.
I for one prefer investments in Europe if only for the seemingly more reliable numbers they have there. Investing in the US is a way too dangerous gamble right now.
blow your mind already
Total B.S. The ratings were wrong because various companies needed these AAA rating to stay in business. (And if you need a AAA rating to stay in business, you don't deserve a AAA rating.)
..isn't a bug, it's a feature. Of fraudlent behaviour from management.
How about that, a coding error that makes lots of money. These are so rare so I think we can say this was a simple mistake.
The corrupt bastards are going to "shoot the programmer" on this one?
I want a federal investigation.
Suuuuure... a coding bug is to blame! Nevermind that the agencies selling this financial toxic waste *paid* Moody's, S&P and others to provide good ratings. Software bug or no, there is fraud all around within the US economy--and no one was complaining as long as people at the top were raking in billions of dollars in profits.
This entry at Calculated Risk openly wonders if Moody's jiggered its model expressly so that it would line up with whatever the Standard&Poors ratings were.
Personally, I'm concerned this revelation will result in a concerted effort to blame the whole mess on a computer error, rather than the profoundly bad judgment exhibited by fund managers and investment banks. Expect some hapless programmer to be located and pilloried.
Schwab
Editor, A1-AAA AmeriCaptions
The competent have nothing to fear from formal verification and anyone who is not capable of doing such verification should not be writing software anyway.
This is Slashdot, where everyone just blames management. Because you know, there are no incompetent programmers in existence.
If the errors are as large as it seems they were, wouldn't one or more human analysts notice? When your software says "Buy SCO" you should know that something is wrong.
... and this bug.. is it not time we started acting like engineers and started building software in a way where we can show it is correct. Well enjoy paying $200k per copy of MS Office, personally I'll take some bugs instead. As an industry, we really need to start growing up and using the tools the mathematicians have provided us, just as other engineers do in other disciplines, to show our programs actually work as advertised. Last I checked mathematicians can't even say if my program will finish running much less if it will work as advertised.They're depending on us believing their media stories to escape responsibility; anyone who thinks about this situation would quickly realize that for a company full of financial analysts to not realize that an error of this magnitude was happening - well, it beggars the imagination.
What almost certainly happened is that they played the same game that so many other financial institutions did during the real estate bubble. But when the bills came due, they chose to deny responsibility and pass the blame on to someone else. The real crime here is that they'll be allowed to get away with this...
And I am not referring to Briggs & Stratton either.
Them boys at moodys need to open a farm, they sure got a lot of fertilizer on hand!
coding error..hehehehehehe...I think this story comes from the Jon Lovitz school of excuses...."ya...that's the ticket! It was a coding error!" uh huh
I don't think their story is going to fly with investors and lawyers around the world who are the proud recipients of all the creative "write downs" and other sorts of negative profits this year from all those wall street loons trying to push worthless junk paper on each other and actually *believing* their own fantasies that they can just keep coming up with different names for IOUs and keep reselling them back and forth to each other. You can't printing press your way to wealth creation, whether what you are printing up is called "money" or a "collaterlized debt obligation" or whatever other fancy crap term they think up. Not for very long anyway.
software engineering has a lot in common with circuit design and should borrow and modify principles and concepts from hardware side in terms of expressing their programming and math in a format akin to electricity flowing through a circuit
Ironically the hardware side has been going in the opposite direction. How many transistors in a modern dual-core processor do you think were actually put there by hand with manual checking of voltage/resistance/heat/etc? Somebody writes up some code essentially and a program creates millions of gates to do what the algorithm dictates.
The problem with this visual rendering of software you suggest is that any non-trivial program is going to turn into a monstrosity of flow charts that would probably require tens of thousands of pages to print on paper. A single line of code could potentially be a few different boxes in a language like C.
The reason software engineering isn't like civil engineering is that while a bridge has maybe a few tens of thousands of parts, a computer program has the equivalent of hundreds of millions of parts (if you were to express the software as the equivalent machine). The best you can do is at least develop libraries that can have some level of specifications and testing around them so that you minimize the amount of code that is unique to a particular application. Software is just a different kettle of fish...
You can already buy systems like this. You can buy systems that absolutely have to work all the time, no downtime, no crashes, etc. However, there are some major stipulations:
1) It isn't cheap. There is going to me some major engineering to design it, and it will require some major redundancy in hardware to protect against faults. As such, you are going to pay a lot for it.
2) It isn't fast. No you can't have it today, you can't have it this month, you can't have it this year even. The development and testing will take a long time. This can't be rushed, it simply takes lots of time and lots of testing to make sure there are no faults.
3) You can't add features to it. Once the system is in place, it can run only what it was designed for. You can't go and install new software or anything. If you want any changes made, those will have to go through a full set of testing. No unverified code can be running.
4) It must be accessed only in approved ways. You can't just hook it up to the Internet and go wild, input will need to be properly regulated to make sure it doesn't cause an unforeseen problem.
5) You can't mess with it. Your people will not be screwing around trying things with it. It'll be maintained under a support contract only by certified personnel.
If that's not ok with you, well then some bugs are something you have to accept. This idea that programmers should be able to easily engineer perfect, bug free software quickly and cheaply is just amazingly ignorant. Especially when people come up with false analogies "Oh well people would sue if cars were made as badly as computers!" No, you'd get arrested (or killed) if you tried to use a car like people use computers. If people treated cars like computers they'd expect to be able to run in to a wall at 80 miles an hour and suffer no injuries to themselves or the car.
Cars work well if an ONLY if they are operated properly (and even then not always). You have to do things like obey proper driving regulations, maintain the engine, and so on. If you don't, well shit is going to go wrong, maybe catastrophically wrong. Yet people do just that with their computers all the time. They install random shit, never perform any maintenance, and expect that the computer will magically protect them from all problems.
Confusing summary aside, this is the biggest load of crap I've read in a long time. The financial world made a really bad guess on just how much "money" was really in the US economy and now they are paying for it. They can't actually be held accountable because then people might catch a glimpse of the fact that the financial wizards who run our lives are really full of shit. So instead of taking responsibility for their mistakes they are blaming it on a computer bug. How effin convienent for them.
"Hey everybody, we aren't fucking idiots. You see, it was the computer! I just told you what it told me on my screen. Hold on... my third trophy wife is on the phone... she's telling me that her and the Lamborghini are stuck in traffic somewhere between my multi-multi million dollar home and the club house where I spend multiple tens of thousands of dollars a year. I'll get back to you right after I blow a few more rails of coke!"
How the hell did these people get to be in charge of society?
Except that all lenders are required to provide a Truth in Lending statement, and comply with it. If they misled the borrower, then they have broken the law; there's no two ways about it.
Tubal-Cain smokes the white owl.
This entire story is bullocks, and your analysis is accurate. We aren't talking about a trivial error here. The models were spitting out obviously false results, and Moody's (and everyone else) gladly accepted those bad results. For at least 3+ years now, several analysts have pointed out ratings were too high and that they didn't pass the "smell test". If Moody's is not responsible for their models, then why shouldn't I write some half-assed model of my own, demonstrate to lenders how in the short term it will make them money, and then when I get caught, just point out that I never claimed my models were accurate.
Actually, that's not a bad idea.
To put it in a language slashdotters will understand.
1. Invent model.
2. Lie about model's accuracy.
3. (Sell model)???
4. Profit.
Yeah, ask anyone who has to suffer through programming in LabVIEW (which uses the circuit paradigm). LabVIEW makes a particular kind of data-flow driven programming very, very easy to write, and any other kind of program mind-bendingly hard.
Debugging a LabVIEW program of moderate complexity is horrible.
I'm not sure you've got the right end of the stick, here. "formal verification" doesn't mean "code review by some officially-sanctioned third party". It means "verification using formal methods".
:)
As such, the only cost is time. People already volunteer their time to work on open source projects; there's no particular reason [other than mind-numbing tedium] why they wouldn't volunteer time for this too.
Well the mind-numbing tedium for one thing.
But the real issue isn't lack of volunteers, its that volunteers are just as likely to turn in bad proofs as they are to turn in bad code.
If you wanted to build a bridge and some volunteer on the internet submitted a design, along with some structural analysis by other volunteers from the internet declaring that it was a sound design, would you just accept it and build the bridge? Or would you want some "officially sanctioned engineers" to review it first?
The issue with requiring that code be provably correct is the same; the proofs have to be done by people that are demonstrably competent at formal methods, and the proofs themselves must be reviewed by people who are demonstrably competent at formal methods. So even if the internet volunteers perform verification using formal methods -- no one will have any confidence that it was done right.
And of course, the number of volunteers capable of proving code (who understand the mathematics and what not behind the methods) and who interested in doing so is VASTLY outstripped by the number of volunteers capable and interested in writing code.
So even if the volunteers COULD satisfy the formal verification requirement -- OSS would be utterly hamstrung due to the back log getting new code volunteer verified.
I hate me-too posts, but I'm going to cast my vote in agreement that the explanation is too simple. This stinks of scapegoating.
'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
All of you guys that are now boasting here that you actually knew what was going wrong, but not one of you decided to open your mouth before it became a major disaster. Apparently the fact that the world economy has gone to shit over this means nothing to you, or the fact that thousands upon thousands are now homeless.
What I read here are admissions of guilt: you knew of a very serious crime with very serious consequences (and helped commit those crimes sa well) and chose to remain silent. It is both stupid (to admit to it now) and pathetic.
I have only one thing to say to you and your wife. I hope you do go to jail. I know technically you did nothing wrong, but you failed to blow the whistle on illegal practices which have helped to propel the world into financial chaos.
People losing their homes is as much on your heads as if your wife HAD forged those applications.
You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
Meh, that's typical of every specialized industry I know of. Law, medicine, computing, engineering, you name it. They all develop a specialized lingo that identifies the players from the outsiders. Pretty standard human behaviour, really... kinda reminds me of the old days of the guild.