Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

SEC Proposes Wall Street Transparency Via Python

Soulskill posted more than 4 years ago | from the instead-of-eating-its-own-tail dept.

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.

Sorry! There are no comments related to the filter you selected.

Good idea. (5, Funny)

T-Bucket (823202) | more than 4 years ago | (#31903340)

I think a lot of those wall-street types would suddenly admit to everything they've done wrong if you confront them with a big enough Python...

Re:Good idea. (0)

fm6 (162816) | more than 4 years ago | (#31903664)

Unfortunately, no. Few of them watch TV.

Re:Good idea. (1, Funny)

modmans2ndcoming (929661) | more than 4 years ago | (#31903734)

Actually... I was thinking no... but only because they are all sexual deviants and have seen those kinds of Pythons in their Orgy Clubs.

Re:Good idea. (1, Insightful)

Cryacin (657549) | more than 4 years ago | (#31903786)

Yes, and computer programs are infallible, especially when you have honest types such as wall street bankers who would never game a system to their advantage. (ducks)

Re:Good idea. (5, Interesting)

MrNaz (730548) | more than 4 years ago | (#31904112)

You say that jokingly, however, your point is rather poignant. If Wall Street types were presented with a way to transmit their methods and assumptions in a non-human readable way like a programming language, it becomes less transparent, not more. Sure investors can say "if a, b and c, then something happens in this black box and outputs x, y and z". They have no idea how their assumptions lead to the given result.

My view is that there just is no substitute for a system of social morality like those in eastern cultures of old. Modern society has the attitude that "if it's not illegal, do it". Unfortunately, the law will never be able to codify in black letters the rich spectrum of behavioral regulations imposed by morality, developed over thousands of years of human behavior. Thus, individuals conforming only to the law and ignoring ethics and morals will inevitably breach their moral duty, and the damage they do is limited only by their "creativity" in using the law and the social power they weild due to their position, wealth or influence.

In short, we need to disabuse ourselves of this trend to consider ethics and morals some hokey, freedom-fettering construct that has become obsolete. It is very much necessary, and Wall Street is a great place to look if you want an example of why.

Re:Good idea. (1)

Nidi62 (1525137) | more than 4 years ago | (#31904188)

Colt makes one that shoots .44 Magnum bullets. Think that would be big enough?

Ugh! (3, Insightful)

oldhack (1037484) | more than 4 years ago | (#31903350)

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.

Re:Ugh! (0)

Anonymous Coward | more than 4 years ago | (#31903926)

At least you can run a program. You can't run legalese.

Re:Ugh! (2)

maxume (22995) | more than 4 years ago | (#31904124)

Actually, if you don't feel you understand these products, you can simply not purchase them.

There are plenty of simpler financial products out there.

Re:Ugh! (3, Interesting)

MrNaz (730548) | more than 4 years ago | (#31904276)

The average consumer cannot understand cell phone contracts, gym membership contracts, car lease contracts, bank account terms and conditions and a whole bag of other things. So you're saying they should abstain? Hell, I cant get a parking voucher from an underground car park these days without the back of it being covered in fine print you'd need a scanning electron microscope to read.

No sir, the answer isn't to "vote with your dollar". It's to acknowledge that the entire social system is broken and massively favors big money interests that are in a position to use the legal system to their own ends.

The fix is not some new piece of regulation you can come up with. You'll never be able to legislate around a population's total lack of ethics.

Not without precedent (2, Interesting)

Hooya (518216) | more than 4 years ago | (#31904258)

Well, this is not entirely without precedent. Even the field of Physics employes this method of specifying things that are complex enough that warrant a "model" which is highly dependent on what the model chose to include or exclude. For example, in tracking satellites, you would think that you should be able to use Physics and the myriad of formulas alone to come up with the position of satellites. But because real world physics (think drag, friction, N-body G forces etc) is too hard to figure out and are often hand-waved away (thus the model), NASA had to devise a set of algorithms to communicate a way to track satellites. They then publish the telemetry at regular intervals which are then run through those algorithms to find out where any of the satellites are at any given time. Last I worked on it, I was looking at Fortran programs which was used as the spec for the algorithm. Now, think about it, how better to describe an algorithm than an actual working program?

see: SGP4 [wikipedia.org] and this [celestrak.com] in particular.

Re:Ugh! (0)

Anonymous Coward | more than 4 years ago | (#31904430)

I think the guys at the SEC are getting tired of businesses trying to hide rule breaking in legalese. Python is way more readable than that. Besides, any public company is going to have its own IT crew already.

Re:Ugh! (2, Informative)

Gorobei (127755) | more than 4 years ago | (#31904908)

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 :)

Fantastic! (4, Interesting)

nhaines (622289) | more than 4 years ago | (#31903354)

This would be a fantastic idea. Not only would the rules be transparent and non-ambiguous, but the potential for experimentation and self-analysis would be incredible. Python is definitely one of the better languages to use for this, as it tends to be very readable and self-explanatory as far as programming languages go.

Re:Fantastic! (1)

King InuYasha (1159129) | more than 4 years ago | (#31903476)

Then there's ENGLISH

Re:Fantastic! (2, Insightful)

Sponge Bath (413667) | more than 4 years ago | (#31903550)

Laws, EULAs, financial statements, personal ads... all very effectively written in English to deceive.

Re:Fantastic! (2, Funny)

abigor (540274) | more than 4 years ago | (#31903558)

Hmm, personal ads written in Python...now there's an idea.

Re:Fantastic! (4, Funny)

Areyoukiddingme (1289470) | more than 4 years ago | (#31903638)

Pass your object to her method and see if it executes...?

No OOP (4, Funny)

Cryacin (657549) | more than 4 years ago | (#31903802)

Just remember that one instance of the class of person may never touch another instance of the class of person's privates. You need to use protected for that.

Re:No OOP (3, Funny)

spazdor (902907) | more than 4 years ago | (#31904500)

Well, depending on the language, sometimes you can shortcut access to the other person's privates using 'friend' functions.

Re:No OOP (1)

Cryacin (657549) | more than 4 years ago | (#31904780)

But oh how many geeks have failed to access inner private functions by using the 'friend' functions.

Re:No OOP (1)

xTantrum (919048) | more than 4 years ago | (#31904648)

Actually I don't think Python has protected and private for its class. Its a free for all.

Re:No OOP (1)

ianare (1132971) | more than 4 years ago | (#31904852)

All class properties are public in Python. It's a Roman Emperor's dating service.

Re:Fantastic! (3, Informative)

DeadDecoy (877617) | more than 4 years ago | (#31903490)

By that same measure, it's not impossible to obfuscate [p-nand-q.com] python. If there's enough money involved, you can bet an innocuous hack will be coded in there somewhere.

Re:Fantastic! (0)

Anonymous Coward | more than 4 years ago | (#31904692)

Hey, I have an even better idea: lets make sure the rules are encoded using Python 2.X, order some quality drinks and watch the ensuing chaos after a few Guido moments have passed while enjoying our precious single malts.

(no disrespect, just acknowledgement of the nature of the language)

Re:Fantastic! (1)

scamper_22 (1073470) | more than 4 years ago | (#31904772)

Ultimately, all laws and regulations could be setup to be a computer program.
What is a programming language, but a way to exactly specify algorithms and data structures? In this case, we only need the algorithm part.

Now, you'll never be able to get rid of human judgment. All the input parameters will be up in the air. But what does get you to do is focus on the assumptions you make on the numbers you put in.
The best example I can think of now is filing my taxes. I use a computer program and all my energy is focused on inputting the data. Wouldn't it be great if banks/employers/brokers.... could talk to the tax program... then my inputting is done for me and I could just focus on which years I want to claim things. how to split things up.

Heck, I think all legal documents should be written in a programming language. English and other languages are not precise enough.

So you would have this as part of your program:

var cost = 0;
if( supplier.job == completed ) then cost += $50000.
if(supplier.job.lateby 10 days ) then cost -= $40000 ...

Now of course you have to work out the meaning of 'completed'. You will have to be subjective there... or maybe you can write a full specification detailing all the requirements of what it means for a job to be complete... yet... dealing with technical requirements as a programmer... I know that's a much harder task... and always ends up being subjective.

But again... the legal framework as a program means the contract is set and you battle on what counts... the input variables and everyone has equal access to it. Even someone who cannot fully understand boolean logic can 'play' with the contract and the input paramters to see what happens if things change...

But good luck with my fantasy. Lawyers depend on legaleez and preventing the ordinary person access to the law as their job protection.

Computational Bureaucracy??? (4, Funny)

flajann (658201) | more than 4 years ago | (#31903368)

I love Python and I would hate to see it abused this way.

hmm (3, Interesting)

bigattichouse (527527) | more than 4 years ago | (#31903392)

Maybe if the languages accepted are functional, and therefore logically provable without side-effects.

Re:hmm (0)

Anonymous Coward | more than 4 years ago | (#31903592)

Exactly. Using Python (or any other non-functional language) is no better than English.

Re:hmm (1)

solweil (1168955) | more than 4 years ago | (#31903632)

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.

Re:hmm (2, Informative)

modmans2ndcoming (929661) | more than 4 years ago | (#31903756)

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:hmm (1)

maxume (22995) | more than 4 years ago | (#31904164)

You should probably qualify that with some hand waving about having enough resources.

Good Idea (3, Insightful)

BabyDuckHat (1503839) | more than 4 years ago | (#31903428)

If you want to confront the devil, a programming language is a good place to do it, since it's all about the details.

Re:Good Idea (3, Funny)

matrim99 (123693) | more than 4 years ago | (#31904002)

In this case, one could say "The devil is in the indentation."

its a step in the right direction (2, Interesting)

NynexNinja (379583) | more than 4 years ago | (#31903430)

Any legal framework, if it does include a specific language, should be based on what the common languages that are currently used, i.e. they should have company XYZ submit that they are using language "ABC" and here is the source code. The problem with mandating a particular language(s) is that these are subject to change with time. A legal framework should stand the test of time, and thus not include requirements for "Python". Python might not exist in five years, or may become obsolete in five years.

Re:its a step in the right direction (3, Funny)

Monkeedude1212 (1560403) | more than 4 years ago | (#31903466)

Well, Yeah, but to make a dollar, the code is just

Print "$1.00"

Re:its a step in the right direction (1)

DarkKnightRadick (268025) | more than 4 years ago | (#31903658)

Same with Perl.

Re:its a step in the right direction (1)

modmans2ndcoming (929661) | more than 4 years ago | (#31903778)

no... perl is:

print "$1.00";

watch the capital letters and semi-colons... and remember... white space is meaningless.

Re:its a step in the right direction (1)

DarkKnightRadick (268025) | more than 4 years ago | (#31903984)

I stand corrected, thank you. (:

Re:its a step in the right direction (2, Insightful)

TubeSteak (669689) | more than 4 years ago | (#31903988)

Well, Yeah, but to make a dollar, the code is just

Print "$1.00"

If you're a bank, the next step is:
Lend "$12.00 @ 5%"

If you're on Wal Street, the next step is:
Buy "10 shares"

Gotta love fractional reserve finance.

Re:its a step in the right direction (1)

gd2shoe (747932) | more than 4 years ago | (#31904008)

No, it was. With Python 3, it's now: print("$1.00")

Granted, various versions of Python 2 are still very much alive and kicking. As time progresses, Python 3 gradually will take over. (The only thing that could avoid this would be a code fork, and I see no sign of that.)

Re:its a step in the right direction (1)

gd2shoe (747932) | more than 4 years ago | (#31904100)

Addendum:

I realize their desire for better consistency in the language. Still, parenthesis give specificity at the cost of readability and writing speed. I think there ought to be fewer parenthesis required in programming, not more. (And no calls for Perl, please. Other parts of the language drive me nuts.)

Re:its a step in the right direction (1)

moreati (119629) | more than 4 years ago | (#31904298)

IPython is an interactive interpreter that will allow you to skip the brackets in many cases, but you'll still need them in an script. Certain editors and IDEs have a mode that auto-complete/inserts the brackets.

The benefit of having print as a function, is that one can override it:

old_print = print

def print(*args, **kwargs):
        # Do something custom, maybe filtering, time stamping
        old_print(*args, **kwargs)

Using the logging module is normally a better approach than print though...

Re:its a step in the right direction (0)

Anonymous Coward | more than 4 years ago | (#31903472)

I can't see legalese framed in an obsolete or deprecated language being any worse than modern legalese. Maybe that's just me though.

Re:its a step in the right direction (2, Insightful)

Anonymous Coward | more than 4 years ago | (#31903492)

So write it in 8086 assembler then.

Or, you know, try something new and see if the risks are manageable.

Re:its a step in the right direction (2, Insightful)

dkleinsc (563838) | more than 4 years ago | (#31903552)

Python might not exist in five years, or may become obsolete in five years.

Since the code is freely available, Python will continue to exist one way or the other. That's one of the upsides of open source. Also, Python is closer to bleeding edge than obsolete right now.

The reason I think they specify a language is that otherwise you'll see code switched to whitespace [dur.ac.uk] or brainfuck [sange.fi] before being submitted to ensure maximum confusion. Remember than most organizations who are required to disclose something do so with the intent of obfuscating that legally required information as much as humanly possible.

Re:its a step in the right direction (2, Funny)

fm6 (162816) | more than 4 years ago | (#31903948)

Whitespace and brainfuck are too damn elegant.Give me a properly obfuscated language like Intercal.

http://www.ofb.net/~jlm/intercal.html [ofb.net]

Re:its a step in the right direction (1)

spazdor (902907) | more than 4 years ago | (#31904524)

I say Lisp. It's timelessly irrelevant.

Re:its a step in the right direction (4, Insightful)

ianare (1132971) | more than 4 years ago | (#31904926)

That's a good point to make, though I think your estimate of 5 years does little justice to Python. Regardless, the problem with NOT specifying a language is that it means I can make my own proprietary language and release that source code (and not the compiler, say).

Also, Python is open source through and through : community developed, open specs, several open source implementations. This means that even if one day 25 years from now Python is a dead language as far as practical usage goes, it will be no harder to understand and execute as it is today.

This proves that... (3, Interesting)

cosm (1072588) | more than 4 years ago | (#31903452)

even in legal/financial-speak summaries...

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.'

...it is forbidden to have a straightforward sentence with less than two conjunctions.

Re:This proves that... (0)

Anonymous Coward | more than 4 years ago | (#31904806)

I'm having trouble understanding what it's trying to say. Can someone write it in Python for me?

Investors are already making their own assumptions (0)

Anonymous Coward | more than 4 years ago | (#31903474)

In commercial real estate, investors use their own spreadsheets or Argus to make their own assumptions. The same holds true for investors investing in stocks, bonds, derivatives, etc. Investing is a bet and sometimes assumptions turn out to be wrong. The government doesn't need to hold the investors' hands when it comes to investing money.

Re:Investors are already making their own assumpti (1)

copponex (13876) | more than 4 years ago | (#31903666)

You're missing the point. The point is to make sure that the companies taking money are providing transparency to their investment strategy, not only to the investors but to the credit rating agencies as well. The firms in question purposefully obscured CDOs and other exotic financial instruments so they could play hot potato with the emperor's clothes and cash in on the commissions.

Re:Investors are already making their own assumpti (4, Insightful)

modmans2ndcoming (929661) | more than 4 years ago | (#31903806)

actually... they were selling a car with no brakes... claiming it is safe, then taking out a life insurance policy on the sucker they sold it to.

Re:Investors are already making their own assumpti (1)

fbartho (840012) | more than 4 years ago | (#31904262)

Then they use a quarter of the money from the secret life insurance policy to defend themselves in court, and then finally lose the court case and pay out another quarter of the money, then they walk away with half of the money and make the next model of the car, and caste a wider net, aiming it a kids, because due to their age, they can get a higher payout on the insurance policy.

Re:Investors are already making their own assumpti (0)

Anonymous Coward | more than 4 years ago | (#31904664)

Good job regurgitaing the populist line. In fact, the rules of disclosure are pretty legit. If they sell you a car, they have to tell you what are all the pieces you're getting. If there's no brakes, they can't claim there are brakes. But it's your job as a buyer to check there are brakes. (This is for institutional/qualified investors... for retail the rules are more protective)

There's not much for "consumer protection" in finance (it's generally caveat emptor, and for good reasons, but that's beside the point), but lying/fraud is illegal.

Filing Agents (3, Interesting)

geekmansworld (950281) | more than 4 years ago | (#31903488)

Something that needs to be considered is the existence of so called "Filing Agents". I work for such a business.

Right now, the SEC requires companies to file documents in a specific subset of HTML, as well as (in some cases) XBRL, which is an XML-based reporting language. In some rare cases, documents are another type of XML, or even specially formatted ASCII documents (ugh).

Securities lawyers and company administrators don't want to understand the highly technical processes involved, so they outsource their technical reporting requirements to filing agents. We take care of all the nitpicky details that they don't want to consider. Looks like we'll have to learn Python as well. We've been meaning to graduate from Perl anyway, so no big deal. :-)

Rule 1291.3120-b-Clause 32 Section 1.1 (3, Funny)

cosm (1072588) | more than 4 years ago | (#31903512)

Occam's Razer does not apply to matters of finance. Ever.

Re:Rule 1291.3120-b-Clause 32 Section 1.1 (0)

Anonymous Coward | more than 4 years ago | (#31903570)

Occam's Razer

As does spelling not applying on Slashdot.

Re:Rule 1291.3120-b-Clause 32 Section 1.1 (1)

gd2shoe (747932) | more than 4 years ago | (#31904416)

Occam's Razor applied to finance: Somebody is taking advantage of somebody else for profit.

It is thus inevitable that someone will create a condition which can be best capitalized on by someone else by playing along. It is equally likely that somebody else will think that they can best capitalize on a situation by playing along, and will become a patsy. (Extrapolate this, and you have a speculation bubble.) Like plays in a chess game, those who understand what's really going on and can predict X steps ahead will put themselves in corresponding favorable positions.

I think Occam's Razor is an invaluable tool in understanding finance. I would hate to try to figure it out otherwise.

(And if you bring up obscure specifics, have the decency to provide links. It's one think when a 5 second google provides an explanation, it's something else when that fails and 5 minutes arguing with sec.gov provides nothing.)

Use JavaScript not Python. (2, Interesting)

Anonymous Coward | more than 4 years ago | (#31903528)

ECMAScript or JavaScript would be a much better language to make this requirement for. Python would be a mistake. JavaScript is a much more limited language in terms of dialect and concepts and is much more neutral than Python is; yet JavaScript can express nearly any level of complexity. It is also readable by majority of the programming world. It is also an excellent data transport language. Python is not readable by the majority of the programming world. It is also terrible as data transport language.

JavaScript is about as neutral a language as you'd be able to find. Plus it is ubiquitous and public financial calculations and records could readily be used in straight HTML/JavaScript webpages - no plugins or server code necessary.

Re:Use JavaScript not Python. (1)

Bruce Perens (3872) | more than 4 years ago | (#31904714)

ECMAScript or JavaScript would be a much better language

That would be a first! Imagine, JavaScript being better than something!

If you want a constrained language, try Lua. But you'd probably have to add a math package or two.

Great idea. (0)

Anonymous Coward | more than 4 years ago | (#31903538)

Specially after the final revision, when our serfs vote to change it to Visual Basic.

Then we get to change the meaning of the keywords in the next release...

Mwahahahahahahaha...cough.. cough...

-- Your medicine, Mr. B.

-- Thanks, S.

(*) B== Burns ; S==Smithers.

Not any other name, like, say, for instance, Bill or Steve or whatever...

All trademarks are not mine, but their legal owners'.

Trade Secrets (2, Funny)

CoffeeDog (1774202) | more than 4 years ago | (#31903654)

I can see it already, the financial institutions will all cry "but these magical formulas are what makes us money and if we make them available our competitors will be able to use them too"! And of course they would also scramble to hire some of the winners of the Underhanded C Contest: http://underhanded.xcott.com/ [xcott.com]

Good for all legal requirements (2, Insightful)

Nethemas the Great (909900) | more than 4 years ago | (#31903678)

Frankly using a mathematically provable means of describing all manner of (if not all) legal requirements would be an excellent idea. The notion of gray-areas wherein judge and jury have traditionally run wild would be non-existent. One could apply legal requirements to any case with absolute confidence of the outcome regardless of venue. Court proceedings would consist of nothing but what they were intended to consist of, the determination of givens.

Re:Good for all legal requirements (0)

Anonymous Coward | more than 4 years ago | (#31903814)

Frankly using a mathematically provable means of describing all manner of (if not all) legal requirements would be an excellent idea. The notion of gray-areas wherein judge and jury have traditionally run wild would be non-existent. One could apply legal requirements to any case with absolute confidence of the outcome regardless of venue.

Define "pornography"

Re:Good for all legal requirements (0)

Anonymous Coward | more than 4 years ago | (#31903968)

The existence of legal grey areas is because the amount of information it would take to resolve a matter to everyone's satisfaction exceeds what they are able to put down on paper. Attempting to resolve everything into black and white without having a massively complicated program is just going to result in people being dissatisfied with judgments in borderline cases. You can't just expect everyone to shrug their shoulders when the machine you've built doesn't account for a particular nuance.

That said, I wholeheartedly endorse the notion of algorithmic compliance in concrete matters that don't involve the delicate value judgments that people have trouble expressing properly in law or in a program.

Re:Good for all legal requirements (1)

gd2shoe (747932) | more than 4 years ago | (#31904502)

Three terms for you: loophole, backdoor, and garbage-in/garbage-out.

Judges running wild is one thing. On the other hand, jury nullification is an important safety valve that we cannot afford to eliminate. It is marginalized, misunderstood, underused, and abused, but we'd be ultimately worse off without it.

Python's readability makes it a good choice (1)

TwineLogic (1679802) | more than 4 years ago | (#31903714)

I assume that the future will hold an increasing amount of law (or what amounts to law) encoded as software. Given that will be the case, I am very happy to hear of legislation which will propose Python as a lingua franca of law. Python is inherently easy to read. Mandatory formatting at first seems a weakness but ultimately creates a standardized "look" for Python source code. This allows the experienced eye to trace Python code with less change of misunderstanding the intent of the code.

I support strongly the introduction of Python as the lingua franca for encoding law into computation models.

That written, I am not convinced that the use of a computational model as part of the representation of an investment would have fore-stalled the current U.S. debacle. Recent news regarding corrupt moves by investment companies would indicate that the U.S. housing credit instrument collapse was in fact inadvertently orchestrated by certain companies creating mortgage instruments which "looked good on paper" but which the investment company believed would fail. For example, the investment company might have looked into additional information on the mortgage holders, determined those mortgage holders who did not get a raise last year, and lumped those mortgages into a 10,000-mortgage bond which was then "insured" with a Credit Default Swap. The information about paycheck could come from examining direct deposit receipts. The relevance of a person not getting a raise is that the person is more likely to be fired within a year.

In light of the type of corruption which led to the credit problem in the U.S., it seems that regulations requiring financial instruments be specified in such-and-such amount of detail don't seem like a remedy. If the investment bank is privy to additional information than specified by the model, it doesn't matter whether the model is expressed as a Python program or a diagram -- the information which is left out of the representation can still be used by the corrupt investment bank, to "structure" the investments to perform other than as predicted.

Some derivative instruments, such as Credit Default Swaps (CDS), gain value only if the instrument they derive from fails. A CDS for a mortgage pays the holder only if the mortgage enters default. In a way, this can be thought of as "insurance" on the original instrument. For simplified example, the holder of a mortgage note (the bank), might buy a CDS for that mortgage, to cover the loss in the event of default. The CDS must be paid for, so a cost is incurred in the event that no default transpires on the original instrument. The "insurance" that AIG was selling, which the U.S. Fed had to pay off on behalf off, were in the form of CDS-like instruments. AIG had sold many-fold more CDS than there were actual mortgages in default -- because 'savvy' investors who had no interest in the actual original instruments, who stood to lose nothing in the event of defaults, purchased CDS on mortgages as an "investment gamble" that certain packages would pay off.

In the recently revealed collusion by an investment bank in the United States, it has been claimed that a prominent bank colluded with a prominent hedge fund manager to created CDS-related instruments (CDOs), which were promoted to succeed, but the investment bank held additional information indicating would fail.

If the same scenario of corrupt investment company and corrupt hedge fund manager recurred under the proposed, Python-specifying, legislation, then the corrupt players would pay someone to write that Python. The Python would make a certain "representation of fact" about the security being sold. That representation would only be as factual as the real players let on to the programmer writing the statement.

In other words, while the choice of Python is excellent, and the attempt to over-specify and codify honest and disclosure is excellent, even Python does not give us the power to force market players to disclose information relevant to the transaction. Even if the player has a good-faith or legally-required duty to disclose information, there are still instances of people who present compliance and are secretly corrupt.

In the case of the credit market, the solution is to require that any person who holds a derivative which is based on the failure of another security, must hold the actual security being "insured." In this model, even those who would be indirectly damaged by a default (e.g., the commercial tenant), cannot legally buy "insurance" on any market. This would have a slight negative effect on capital growth in some cases, but a very good effect on risk and over-leveraging in almost all cases.

My 2c.

Re:Python's readability makes it a good choice (1)

LifesABeach (234436) | more than 4 years ago | (#31904022)

If a "Derivative" is to be used as Insurance on an Investment, then to not own the Investment is Gambling. What is the difference in Gambling and Investing? I know a grinning show off could pop off something goofy. But how would the Supreme Court see it? Because you know, it's going to go to this level.

Re:Python's readability makes it a good choice (2, Insightful)

rmcd (53236) | more than 4 years ago | (#31904400)

This would not have prevented the current financial crisis and it will not prevent the next. It's a small step in the right direction, however. The SEC has been one of the most incompetent agencies for some time and I think they're trying to turn themselves around. In this case the SEC is simply acting like a grown up overseeing a bunch of kids. You want to offer a complicated financial instrument to the public, you document it precisely. There's value in this: For example, you couldn't possibly have a third party clear and settle a financial instrument without some ability to do a valuation. A minimum requirement would for that be code describing the instrument's payoffs. This is just one small step towards a world of greater transparency and financial interoperability.

Re:Python's readability makes it a good choice (0)

Anonymous Coward | more than 4 years ago | (#31904914)

Your post is much more insightful than most, but I think you still have a slightly oversimplified view of some points.

In the case of the credit market, the solution is to require that any person who holds a derivative which is based on the failure of another security, must hold the actual security being "insured." In this model, even those who would be indirectly damaged by a default (e.g., the commercial tenant), cannot legally buy "insurance" on any market. This would have a slight negative effect on capital growth in some cases, but a very good effect on risk and over-leveraging in almost all cases.

It's not that simple. It's never clear what is "failure". Are high oil prices a failure? For an airline, yes; for Exxon, no. Is a company default a failure? For someone holding bonds, yes; for a competitor, no. Depending on the type of insurance contract, a policyholder death could be a gain or a loss for the insurance company. If you have a fixed-rate mortgage, you'd cheer for high interest rates (as you've locked in a lower rate), and if you have a adjustable-rate mortgage, you want low interest rates.

I think what you're trying to get at is that we should avoid setting up situaitons where someone can own a risk, influence the outcome, and would be incentivized to a value-destroying behavior. That's all good. But what really is value destruction is not so obvious: a bankruptcy, for example, can mean increasing efficiency by eliminating inefficient companies (case in point, GM).

Is nobody else flashing back (5, Interesting)

troff (529250) | more than 4 years ago | (#31903850)

... to Charles Stross's flash-forward from "Accelerando"?

"My name is Alan Glashwiecz, of Smoot, Sedgwick Associates. Am I correct in thinking that you are the Manfred Macx who is a director of a company called, uh, agalmic dot holdings dot root dot one-eight-four dot ninety-seven dot A-for-able dot B-for-baker dot five, incorporated?"

"Uh." Manfred blinks and rubs his eyes. "Hold on a moment." When the retinal patterns fade, he pulls on his glasses and powers them up. "Just a second now." Browsers and menus ricochet through his sleep-laden eyes. "Can you repeat the company name?"

"Sure." Glashwiecz repeats himself patiently. He sounds as tired as Manfred feels.

"Um." Manfred finds it, floating three tiers down an elaborate object hierarchy. It's flashing for attention. There's a priority interrupt, an incoming lawsuit that hasn't propagated up the inheritance tree yet. He prods at the object with a property browser. "I'm afraid I'm not a director of that company, Mr. Glashwiecz. I appear to be retained by it as a technical contractor with non-executive power, reporting to the president, but frankly, this is the first time I've ever heard of the company. However, I can tell you who's in charge if you want."

"Yes?" The attorney sounds almost interested. Manfred figures it out; the guy's in New Jersey, it must be about three in the morning over there.

Malice – revenge for waking him up – sharpens Manfred's voice. "The president of agalmic.holdings.root.184.97.AB5 is agalmic.holdings.root.184.97.201. The secretary is agalmic.holdings.root.184.D5, and the chair is agalmic.holdings.root.184.E8.FF. All the shares are owned by those companies in equal measure, and I can tell you that their regulations are written in Python. Have a nice day, now!" He thumps the bedside phone control and sits up, yawning, then pushes the do-not-disturb button before it can interrupt again. After a moment he stands up and stretches, then heads to the bathroom to brush his teeth, comb his hair, and figure out where the lawsuit originated and how a human being managed to get far enough through his web of robot companies to bug him.

Re:Is nobody else flashing back (1)

Sparagmei (877929) | more than 4 years ago | (#31904320)

Completely! One of my favorite books. I think Stross mentions in the afterword that he borrowed the robot-company chain idea from someone, but I doubt it was originally conceived of in Python. Of course, if someone did this, it'd be immediately tagged as violating the IP of a flash trading bot company...

bad idea (2, Funny)

fred911 (83970) | more than 4 years ago | (#31903864)

The Street has always been full of sharks, now you want to allow snakes?

Cool a new job for me (2, Funny)

nedlohs (1335013) | more than 4 years ago | (#31903868)

def getPerformance(self, assumptions):
        """Return performance estimates.

        Arguments:
                assumptions: dict, for keys see spec #54
        Returns:
                How much money you will make
        """
        # BUG 91423: was sometimes giving poor results
        # workaround fix is to ignore assumptions.
        return "Millions and millions"

Re:Cool a new job for me (1)

kpainter (901021) | more than 4 years ago | (#31904042)

return "Millions and millions"

Shouldn't that really be:

return ("Millions", "millions")

much more pythonic that way

Huh- why? (3, Interesting)

nuggz (69912) | more than 4 years ago | (#31903952)

So rather than actually explain what the item is, they'll just build a model of what it is, and let you put in your own assumptions.

So we'll create a bunch of programming overhead, and end up with huge improvements.
Namely that iInstead of descriptions nobody reads or understands, we'll have programs nobody runs or understands.

I've got an idea, I know it might sound crazy but here it goes.
If you see someone selling a great deal, but you don't quite get what they're selling, how it works, or even why it's such a great deal, DON'T BUY IT.

We could even impose this on industry, maybe make it a legal/ethical requirement that people moving around large sums of money act with due diligence or something.

If people actually stuck to this, and only bought things that they understood and made sense to them, the companies making these confusing products that nobody understands would have to make simpler more straightforward products.

These guys need to step back, and make products that THEY understand. If the designer of the product can't figure it out, it's too confusing. If none of the potential customers can understand it, it's too confusing.

Really if they currently can't implement the description, how does documenting it in python make it any better?

Re:Huh- why? (1)

Xuranova (160813) | more than 4 years ago | (#31904010)

Most people probably can't explain the "WHY" of a stocks movement from day to day. Are you expecting people to not buy stocks? If everyone was on the same page about financial products, we'd be pretty close to 'perfect markets' and no one would make much money. It's because so few have any idea why something is worth what it is in a market that people bother to get in to it: to make money off someone else's misunderstandings.

Re:Huh- why? (1)

khallow (566160) | more than 4 years ago | (#31904140)

I've got an idea, I know it might sound crazy but here it goes. If you see someone selling a great deal, but you don't quite get what they're selling, how it works, or even why it's such a great deal, DON'T BUY IT.

It's a great idea. But the problem with it is that even if you know this stuff, it can still be a big mess because of the risks you assume. If I borrow huge sums of money to make my bets, then even a little bad luck can be disastrous. But I might not care, because it's not my money at stake. Second, most of this money is probably OPM (Other Peoples' Money). That means it's very likely that a bunch of people who don't have a clue have delegated through one means or another, their investing authority to someone else who might know what they're doing, but who doesn't have so much incentive in making sure that the investment is as good as if they were investing their own money.

Re:Huh- why? (3, Insightful)

ZachPruckowski (918562) | more than 4 years ago | (#31904414)

The problem this solves is a financial company's tendency to say "the model predicts this complex asset has a value of $Money" without explaining the model and its assumptions. Forcing them to show you the model lets you decide how much you think the asset is worth, and how full of crap the bank is. I'm sure if you asked in 2009, many banks had the modeled value of sub-prime mortgage derivatives at like 50 cents on the dollar or something, because they built their models to show a value that wouldn't make them bankrupt, instead of a more realistic value like 10 cents/dollar. This regulation would make it easier to call them on that stuff.

Re:Huh- why? (1)

Bryan3000000 (1356999) | more than 4 years ago | (#31904708)

Nope, you have to take it further. If the designer of the product can't figure it out, it's not too confusing - it's intentionally misleading. But frankly, the designer should know that it's obfuscation. Except he's probably taking orders from above that say "give me x", where x will be put together with a bunch of other stuff to produce another product or even just a situation that is intentionally misleading. The key is that the parts are incomprehensible (meaning generally that there is complexity which is unjustifiable outside of a larger plan [generally a plan to deceive]), and the parts do not _explicitly_ violate the letter of the law (so they are potentially defensible). That's the way our financial system and our corporate system operate with regard to the law, and that's the reason our laws have to be "patched" from time to time. Lobbying efforts mean that new loopholes and bugs are intentionally written into any patch.

I say all of this as someone with an ivy league law degree who used to practice law. I turned down opportunities early on to enter that ecosystem, because I saw exactly what was happening. Whenever I questioned the situation, people got very defensive and sometimes angry, but their defenses were very telling. They as much as admitted it would blow up, but essentially said you have to keep ahead of the herd to "succeed". The strategy of the successful in this country is to walk on the backs of others, with spiked heels if necessary. I saw a lot of people, including many attorneys, work (mentally) very hard to ignore this reality and convince themselves that this is not the case, and that if they just do their jobs right, it will all work out.

Oooh great, let's use an academic programming.... (1)

terraformer (617565) | more than 4 years ago | (#31903978)

Oooh great, let's use an academic programming language for a desktop application intended to provide clarity to financial transactions.

A typical user's experience...

cd c:\Documents\ and\ Settings\AJ34320\Desktop\ Mess\Desktop\Old\ Desktop\Fucking\ SEC\
"not a directory or invalid folder"

c:
cd \Documents\ and\ Settings\AJ34320\Desktop\ Mess\Desktop\Old\ Desktop\Fucking\ SEC\
C:\Programs Files\Python\bin\python.exe c:\Documents\ and\ Settings\AJ34320\Desktop\ Mess\Desktop\Old\ Desktop\Fucking\ SEC\bonehead.py

Usage: bonehead.py [options] argument1 argument2

Options:
-h, --help show this help message and exit
-v, --verbose Set mode to verbose.

Re:Oooh great, let's use an academic programming.. (1, Informative)

Anonymous Coward | more than 4 years ago | (#31904570)

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?

Wouldn't you want Haskell? (1)

tjstork (137384) | more than 4 years ago | (#31904128)

Or some other other functional language like that? Usually when you are trying to formulate loads of rules, it would seem that brevity and exactness of results trumps the implementation detail of performance.

More appropraite Legalese (4, Funny)

thoughtspace (1444717) | more than 4 years ago | (#31904184)

> cat test.legalese

The said variable 'i' hereafter referred to as "i" shall be a variable and not of unvarying or constant except for the purposes of using the said variable within a clausal computation and shall be initially equated to 1 (one) neither less nor more and "i" shall be displayed to a third party within visual distance from the visual display device but not beyond unless further provision is granted and provided by the creator of the said work. These courses of action shall be repeated for 10 (ten) times neither more nor less withstanding any systemic error which may cause the premature termination of the said operations and includes the increment of "i" by 1 (one) in a positive monotonic uniform manner performed prior to each display to the visual display device. Upon termination of the aforementioned operational sequence the operations shall cease until recommenced upon instruction of the operator.

> glegalese test.legalese
> a.out
1
2
3
4
5
6
7
8
9
10
>

Yet another solution in search for a problem (1)

alexmin (938677) | more than 4 years ago | (#31904236)

Hey, let's forget about unfunded goverment mandates, senators busy playing blame games, clueless SEC employees, greedy intermediaries, lopsided compensation practices, and market participants that do not understand instruments that they are trading.

What we really miss is python interface to EDGAR. Some guy say so, it must be true.

COBOL (2, Insightful)

smoothnorman (1670542) | more than 4 years ago | (#31904274)

COBOL was supposed to be about making everything clear and obvious in a business environment. But given the current business world it's time to give obfuscated-perl, brainfuck ( http://en.wikipedia.org/wiki/Brainfuck [wikipedia.org] ), or whitespace ( http://en.wikipedia.org/wiki/Whitespace_(programming_language) [wikipedia.org] ) a fair chance.

Sounds silly to me (3, Insightful)

cdrguru (88047) | more than 4 years ago | (#31904294)

OK, how about if instead of providing mileage ratings that car advertisements simply had a URL to a Python program that if you entered information about your driving habits that it would come out with an MPG value for a specific car. Obviously, there would be a completely separate Python program for every single car.

Of course, 99% of the weighting would be handled by the questions "Do you drive with a lead foot?" and "Are jackrabbit starts your normal mode?" But the other 34 questions would be there as specified by the government regulation governing the production of these Python applications.

Having a model and the user gets to make up the assumptions, you are getting a traditional garbage-in, garbage-out algorithym. Any model can conform to any belief system given the "proper" inputs. Isn't this half of what the climate arguments are about? Not the code, but the assumptions being pushed into the model?

I can't imagine that this would provide the average Joe Sixpack any useful information. I would say this isn't "transparent" in any way - unless the inputs to the model were published and required to be adhered to. This would make legally binding assumptions like in 2050 there will be fewer literate people than in 2000. I'd like to see the government come up with a plan for that.

Or worse, if a fundamental assumption of the model is rising interest rates and every investor makes 100% return in five years, great. Does the ability to push out a program that says if you enter the five year interest rates as steadily rising then justify advertising that every investor will make 100% of their money?

This also reeks of the idea that if you can't read a programming language you are a second-class citizen. Richard Stallman would be proud.

Re:Sounds silly to me (5, Insightful)

jmcvetta (153563) | more than 4 years ago | (#31904598)

I can't imagine that this would provide the average Joe Sixpack any useful information.

Joe Sixpack doesn't typically buy collateralized debt obligations. In fact, if he bought a tranche of a CDO, I think that would immediately disqualify him from his everyman status. The main customers for these sometimes obscenely complex instruments are investment firms.

Problem is, the legalese is so dense, even professional investment analysts have a hard time understanding the payout scheme. If I understand the proposal correctly, the Python code will itself authoritatively define the flow of funds from the investment vehicle. It won't simply be a model that makes predictions based on initial assumptions -- it will also "allow the use of the proposed asset-level data file that will be filed at the time of the offering and on a periodic basis thereafter". Thus given specific data about the performance of underlying assets up to any given point, the code will spit out an authoritative answer of "who gets paid what (if anything)".

Since a structured investment vehicle is essentially an algorithm wrapped in a contract, it makes sense to use a programming language to specify that algorithm. I personally like Python; but I agree with other posters who have said the regulation should ensure that other languages can be added over time.

At least until (0)

Anonymous Coward | more than 4 years ago | (#31904352)

At least until someone updates the gcc to recognize that you're building patch, to put in the patch that pays that changes the diff that you submit to the python base that changes the interpretation to put .001 from every transaction into your bank account.

I would have been spilling the beans if it hadn't been recognized since the 70s.

fa1lzors (-1, Redundant)

Anonymous Coward | more than 4 years ago | (#31904376)

megs of ram runs Assholes, 4s they writing is on the

recursive (1)

blair1q (305137) | more than 4 years ago | (#31904444)

This is not the solution. Not even close.

Companies are protected from all sorts of investor inanity by the vagueness of the public's view into their business models.

Asking a company to produce a model is asking the company to allow investors to claim that any action outside the model constitutes a violation of the promises made in the prospectus that is the model.

Adding a hold-harmless clause stating that the model is innately inaccurate is the same thing as just not producing the automated model at all.

Corporate finance reporting can't talk about the future because it doesn't know the future. It knows the past, give or take an error bar, and, provided a slight lag, it knows the present. It knows the current state of plans, and the statistics of the company's past experience in executing to plans. It knows the competitive landscape, but only as well as anyone outside knows its own insides.

In the end, the best you can do is to produce a program that allows the investor to choose what elements of the business model to include in a model, and so on, all the way down. Then any errors are the investor's own.

Regulators don't know Comp. Languages (2, Funny)

failedlogic (627314) | more than 4 years ago | (#31904564)

Keep in mind people don't like computers, programs, math or finance. You have to consider that. So I've gone on Wikipedia and did a search on a computer language that produces *minimal* code.

I briefly glanced only at the first sentence from the following page (http://en.wikipedia.org/wiki/Brainfuck) and trimmed the first sentence for length: "The brainfuck programming language is ... noted for its extreme minimalism.". See, this is what people want, it keeps things simple.

All Laws Should Compile (1)

Doc Ruby (173196) | more than 4 years ago | (#31904632)

Laws should work like computer programs, calling the "operating system" of the Constitution and acting on the "devices" of the real world under legal jurisdiction.

The problem is that bugs will cost lives and livelihoods. And the code review will be based on the comments, which will still be written by lawyers.

Who cares about python? Seriously! (0)

Anonymous Coward | more than 4 years ago | (#31904650)

That aside, the most reasonable thing to do is to submit price evolution process as stochastic diff eq, which is coded into some Monte Carlo framework that is agreed upon, and the regulators plug in assumptions about liquidity, interest rates and have an easy way of changing various sensitivities and correlations.

How do you codify the sham that was derivatives? (1)

ralphdaugherty (225648) | more than 4 years ago | (#31904674)

There's lots I don't understand about this. This seems to me to be only valid for long term funds invested in bonds and Treasuries or something.

      Isn't what these people do is change their decision making constantly with shifting criteria? 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?

      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. 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, they counted on a sham ratings scam to say that they were of such and such value by paid off people up and down the chain of deceit.

      How do you codify a sham such as ratings backed sliced and diced subprime mortgages? No one could know how bad it was, they could only guess, and make sure the hot potatoes got tossed before the music stopped.

  rd

12 months later... (1)

smash (1351) | more than 4 years ago | (#31904738)

...the inaugural obfuscated python programming contest...

XBRL good; forecasting models filed with SEC bad (1)

Steve Hamlin (29353) | more than 4 years ago | (#31904740)

XBRL [wikipedia.org] is a good idea - a global, industry standard extensible XML schema for financial information presentation, including financial statements (income statement and balance sheet).

However, this proposal is encoding a scenario-based financial forecasting model developed by management and making a private entity (meaning not a governmental body, although perhaps a public company) publish that model. That's a bit too detailed, insidery and strategy-exposing for me, and I'm all about good transparency and governance.

This is asking public-company management to publish, on an near-realtime basis, it's business plan, current strategy, operational moves, future M&A activity, etc. Revealing the secret plans, as it were. A well-regulated free market, being necessary to the security of a free state, the right of the people to keep private certain financial information, shall not be infringed.

Will these be held to the same standards as current financial statement SEC filings (10K)? What if the scenarios, input variables, and model frameworks don't encompass all possible situations? What is an acceptable range of economic prevision? Can inaccuracy be the basis for shareholder or securities fraud lawsuits?

What the proposal covers is what financial analysts and corporate finance personnel do inside the company, and equity analysts do outside the company. You get (good) management's general operating philosophy and grand plans in the shareholder letter and the MD&A section of the annual report [pubcowhitepapers.com] . Theoretically, at least, this is what the Board of Directors should assess as the shareholders' representatives (I'll save my comments about THAT for later), and with liquid markets you can vote with your feet, er, money.

I could see a new legal requirement to require the company to publish a standardized, general, 3-5 year strategic plan as part of the annual shareholder meeting proxy materials - maybe even allow the shareholders to vote on it (advisory or controlling vote). But we sort of have that now with the MD&A section.

Financial models are useful, and more public information about public companies is good, but I can see problems with something like this proposal. Smart blog discussions needed.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?