SEC Proposes Wall Street Transparency Via Python 278
An anonymous reader writes "A US federal agency is considering the use of computing languages to specify legal requirements. 'We are proposing that the computer program be filed on EDGAR in the form of downloadable source code in Python. ... Under the proposed requirement, the filed source code, when downloaded and run by an investor, must provide the user with the ability to programmatically input the user's own assumptions regarding the future performance and cash flows from the pool assets, including but not limited to assumptions about future interest rates, default rates, prepayment speeds, loss-given-default rates, and any other necessary assumptions.' Does this move make sense? If the proposed rule is enacted, it certainly will bring attention to Python or other permitted languages. Will that be a good thing?"
The above quotes were pulled from pages 205 and 210 of the dense, 667-page proposal document (PDF). Market expert and professor of finance Jayanth R. Varma says it's a good idea.
Re:Fantastic! (Score:3, Informative)
Re:hmm (Score:3, Informative)
Is a functional programming language any more inherently reliable since you are trusting the compiler anyways? Does it effectively matter if the code can be "provably without side-effects" if you are trusting the implementation via a black box on a different level? Honest question from a noob.
Python is FOSS so there is no black box.
Re:Oooh great, let's use an academic programming.. (Score:1, Informative)
A good portion of Google's code is written in that "academic" programming language. So is the Washington Post's website. And a good sized chunk of Gnome. Mercurial, probably the second most popular dvcs (after git) is written mostly 500 lines of Python. Civilization IV and Battlefield 2 both use Python for their scripting.
What makes Python an academic language and C# an applications language? Is it the pretty IDE Microsoft makes for it?
Re:Ugh! (Score:3, Informative)
Now, in addition to lawyers and accountants, you need computer programmers to invest. This smells like a racket. On the other hand, it can't get any worse than the legalese, and maybe that is the point.
When banks sell a product, structure, portfolio, etc, to each other, they are already converting the legalese into code or at least data for pre-existing code: it's the only way you can come up with an estimate of the value of the asset in question.
The python idea is great. Of course, I'm saying that because I've already got a python representation of hundreds of financial contracts :)
Re:Good idea. (Score:1, Informative)
That would be an Anaconda. Colt Pythons are chambered for .357 magnum.
python? (Score:1, Informative)
Financial Contracts EDSL (Score:1, Informative)
See here [microsoft.com] for a domain specific language for financial contracts embedded in Haskell. A DSL is certainly the way to go over a "black box" or arbitrary Python code.
Re:How do you codify the sham that was derivatives (Score:2, Informative)
This seems to me to be only valid for long term funds invested in bonds and Treasuries or something.
It applies to CDOs, and perhaps to the broader class of structured investment vehicles. Nothing an individual investor is likely to meet face-to-face. (But your mutual fund manager most likely is wrangling with these beasts...)
Isn't the bulk of what brought the house of cards down either unknowable, in denial, or covered over with Enron type mark to market delusions?
Yes. But denial and deception are made much easier when no one really understands the investments they are making.
I understand the theoretical aspect of codifying some set parameters around an investment fund under which returns could be computed on a range of conditions, and that it couldn't be an attempt to capture business method criteria used in trading.
The purpose here is not just to publish a predictive model. Rather, it's to publish an algorithm that can over time be populated with the actual data on the return of underlying assets (e.g. mortgages), and based on that data give a definitive answer as to which tranche of the investment will receive what payments. The point seems to be twofold: (1) There is presumably less opportunity for litigation when the formula for payout on the investment is precisely specified in code; and (2) By providing an algorithm that exactly describes the investment, it is at least in theory possible for potential investors to understand what they are buying.
I just don't see how the mortgage backed funds such as derivatives fo example could be codified since these people didn't know and quite frankly didn't care what was in them,
Someone (e.g. Paulson & Co) knew and cared what was in those derivatives. Problem is, not everyone had the same level of knowledge. Transparency helps any market.
they counted on a sham ratings scam to say that they were of such and such value
The ratings agencies were often tasked with writing models to describe the investments they were rating. These models were proprietary information, available to investors at the rating firm's discretion, if at all. At least here, the models will be out in the bright light of day, for anyone who wants to examine and try to understand.
Re:No OOP (Score:3, Informative)
In python, anyone can touch everything, even places you didn't know you had...like the garbage collector.
Union activists are going to be very displeased with all the imports necessary for even simple laws, however.
Re:Use JavaScript not Python. (Score:1, Informative)
I program in both Python and JavaScript. Python is already in widespread use within the financial sector, while I've yet to see the same with JavaScript except as a little bit of front-end dressing on a financial website.
JavaScript has some great aspects to it, but it has an awful lot of problems and it's very easy to write very buggy and cryptic code. Python is much more readable to both programmers and even non-programmers. I can show non-technical clients some Python code and they can usually make some sense of what it's doing - I'd have to think very hard about showing the same thing in JavaScript.
Re:Fantastic! (Score:2, Informative)
, but it's better to have that hack disclosed in such a way that machine analysis can find it
I smell a halting problem here ...
Don't overestimate the force of machine analysis. It works poorly for Turing-complete languages. (There's a reason the semantic web uses heavily restricted languages like description logic.)
Re:Good idea. (Score:3, Informative)
So your claim is that dishonest people have more children than honest people? Because that's what it means to "win the game of natural selection." Can you back up your claim with any evidence?