Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Python Government Programming United States Your Rights Online

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.
This discussion has been archived. No new comments can be posted.

SEC Proposes Wall Street Transparency Via Python

Comments Filter:
  • Ugh! (Score:3, Insightful)

    by oldhack ( 1037484 ) on Monday April 19, 2010 @06:29PM (#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.
  • Good Idea (Score:4, Insightful)

    by BabyDuckHat ( 1503839 ) on Monday April 19, 2010 @06:34PM (#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.
  • by Anonymous Coward on Monday April 19, 2010 @06:38PM (#31903492)

    So write it in 8086 assembler then.

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

  • Re:Fantastic! (Score:3, Insightful)

    by Sponge Bath ( 413667 ) on Monday April 19, 2010 @06:43PM (#31903550)

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

  • by dkleinsc ( 563838 ) on Monday April 19, 2010 @06:44PM (#31903552) Homepage

    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.

  • by Nethemas the Great ( 909900 ) on Monday April 19, 2010 @06:55PM (#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 idea. (Score:2, Insightful)

    by Cryacin ( 657549 ) on Monday April 19, 2010 @07:05PM (#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)
  • by modmans2ndcoming ( 929661 ) on Monday April 19, 2010 @07:07PM (#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.

  • by TubeSteak ( 669689 ) on Monday April 19, 2010 @07:24PM (#31903988) Journal

    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.

  • COBOL (Score:2, Insightful)

    by smoothnorman ( 1670542 ) on Monday April 19, 2010 @07:50PM (#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 (Score:4, Insightful)

    by cdrguru ( 88047 ) on Monday April 19, 2010 @07:51PM (#31904294) Homepage

    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.

  • by rmcd ( 53236 ) * on Monday April 19, 2010 @08:02PM (#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:Huh- why? (Score:4, Insightful)

    by ZachPruckowski ( 918562 ) <zachary.pruckowski@gmail.com> on Monday April 19, 2010 @08:02PM (#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.
  • by jmcvetta ( 153563 ) on Monday April 19, 2010 @08:24PM (#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.

  • by ianare ( 1132971 ) on Monday April 19, 2010 @09:05PM (#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.

  • by poopdeville ( 841677 ) on Monday April 19, 2010 @09:05PM (#31904934)

    What is the difference in Gambling and Investing?

    Whether the odds are with you or against you.

  • by russotto ( 537200 ) on Monday April 19, 2010 @09:08PM (#31904950) Journal

    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.

    Chess is a game where there are only two players, there is no element of chance, and both players have all available information about game state at any given time. Which makes it laughably simple compared to finance.

    The whole credit default swap thing IMO looks most like an n-player iterated prisoners dilemma, except that the (n-dimensional) payoff matrix itself varied as the game played on, and no one player knew all that much of it.

  • by rodneybb ( 1793428 ) on Monday April 19, 2010 @09:20PM (#31905064)
    Awesome! I'm so glad somebody recognized this from "Accelerando" by Charles Stross. I think I've read that book 3 times by now and it always makes me smile. It actually gave me a little chill when I read the title of this story. Amazing that Stross wrote about this years ago. I wonder if the idea has been floating around longer than I thought.
  • by timeOday ( 582209 ) on Monday April 19, 2010 @10:36PM (#31905684)

    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.

    You could say the same for English, since it changes constantly. Then again, English never had well-defined syntax or semantics in the first place...

    One reference language is a far better choice than a whole slew of them. To much unnecessary flexibility just adds complexity. Even if mainstream Python went in a different direction, the legally mandated dialect would survive for that purpose.

  • Re:Good idea. (Score:4, Insightful)

    by Eivind ( 15695 ) <eivindorama@gmail.com> on Tuesday April 20, 2010 @12:57AM (#31906540) Homepage

    Better yet: If you do not understand an investment, don't buy it.

    Really. There's no shortage of investments that are *easy* to understand, and the lack of free lunches means that investments you -don't- understand, tend to come with drawbacks that are invisible to you, because you don't understand them.

    What's wrong with: "Buy 100 shares of a company with a total of 1M shares, if the company pays a dividend, you get 100/1M of it, if the company goes broke, your investment is lost. There's a $5 fee for the purchase, but other than that no fees or associated costs whatsoever"

    Too simple ?

  • Re:Fantastic! (Score:3, Insightful)

    by cduffy ( 652 ) <charles+slashdot@dyfis.net> on Tuesday April 20, 2010 @01:09AM (#31906612)

    Sure, but it's better to have that hack disclosed in such a way that machine analysis can find it than disclosed in such a way that it only becomes evident after a corporate lawyer brings up an obscure precedent to a judge.

  • Re:Good idea. (Score:3, Insightful)

    by Hurricane78 ( 562437 ) <deleted @ s l a s h dot.org> on Tuesday April 20, 2010 @02:35AM (#31907038)

    Wanna know who wins the game of natural selection?
    The one ignoring your rules of ethics.
    Plain and simple.

  • Re:Good idea. (Score:1, Insightful)

    by Anonymous Coward on Tuesday April 20, 2010 @03:50AM (#31907288)

    But those assumptions could be backed out through simulation. Runs 10^8 scenarios through the model, calculate the expected return for the bankers and you know their assumptions.

  • Re:Good idea. (Score:1, Insightful)

    by Anonymous Coward on Tuesday April 20, 2010 @05:47AM (#31907762)

    The added complexity is a necessary evil to express things in an UNAMBIGUOUS way, expressing things unambiguously is something managers marketing lawyers and other econotypes fail at every time. Go distribute some text written in econolawyerjargon and see if 100% of all the econodudes you give it to there understand exactly the same thing. You'll always end up with x number of people interpreting it as A and y number interpreting it as B andsoforth, programming languages eliminate this completely, they'll always produce the same result, regardless of machine (or operating system in the case of python). It's black and white and there's no room for grey by design.

  • Re:Good idea. (Score:3, Insightful)

    by TheCarp ( 96830 ) <sjc@NospAM.carpanet.net> on Tuesday April 20, 2010 @09:50AM (#31909274) Homepage

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

    "The very emphasis of the commandment: Thou shalt not kill, makes it certain that we are descended from an endlessly long chain of generations of murderers, whose love of murder was in their blood as it is perhaps also in ours. " -- Sigmund Freud

    He may not have gotten a lot of things right, but, I think he hit the nail on the head there. If such a time of morality existed, then we would never know about it. There is no need to tell people not to kill each other if nobody is doing it. No need to write down a code of morality, unless you believe that the people around you sorely need one. (or to bring it back to home, you don't find passive agressive notes offering to hold classes on how to use the dishwasher next to sinks in shared living spaces where everyone cleans up after themselves)

    On the whole, I agree. Frankly, I think there is something to the old Erisian maxim "Imposition of Order = Escalation of Chaos". Order seems great but, people like to play games, we are good at games. You can't start giving me a bunch of rules without me instinctively starting to look for how your new game works, and how to play it well.

    Rules can't bring about morality, if anything, they can only work to subvert it. Its only when you strip away the rules of the game and look at the other players that morality comes into play. There is no morality involved when a poker player soft calls into a check raise with the nuts, no more than when a monopoly player builds hotels, or a magic player hits you with 30 point drain life on the second turn... consistently. Should we expect wall street players to really act differently? When everything is abstract numbers and rules, its all just kind of a game.

    -Steve

  • Re:Good idea. (Score:1, Insightful)

    by Anonymous Coward on Tuesday April 20, 2010 @10:06AM (#31909534)

    Yeah, those dirty "Wall Street Types".

    How many programmers were arrested in the Madoff scandal?

  • Re:Good idea. (Score:3, Insightful)

    by tehcyder ( 746570 ) on Tuesday April 20, 2010 @10:14AM (#31909656) Journal

    Wanna know who wins the game of natural selection?

    The one ignoring your rules of ethics.

    Plain and simple.

    You, sir, are the very quintessence of arse.

  • by jc42 ( 318812 ) on Tuesday April 20, 2010 @10:40AM (#31910040) Homepage Journal

    2) Badly written laws can just as easily be written in Python as they can be in some human language. Judges etc are normally far more familiar with the official language of the courts.

    Yes, but there's a very practical difference here. It's all too common for lawyers to respond to questions about a new law's actual meaning with "We don't know yet; we'll have to ask the court system". This can be and is done; it's not unusual for new laws to trigger a number of court tests to determine the actual legal meaning of the law.

    The problem is that this can be expensive, in both time and money. Court tests can take years and millions of dollars.

    If the "spec" for a law were coded in Python (or some other language with a public spec and implementation), tests of such laws could be conducted in minutes, with negligible cost. Of course, this would require paying expert programmers who are familiar with the language. But a few hours of such a programmer's time would be orders of magnitude cheaper than months or years of legal costs.

    This is really the same argument as the reason that most business computing is now done by computers. Yes, all the calculations could be done by hand, by human accountants using pencil and paper. But this would mean paying large teams of professional accountants for months of work to do what a computer can do in a few seconds for a few dollars (when amortized over the computer's lifetime ;-).

    There are, of course, a lot of practical problems with software "solutions" to legal problems. We're all familiar with the difficulty of writing bug-free software. But again, this is not materially different from the difficulties in writing bug-free legislation. The difference is mostly that the software form could be testable in seconds rather than years, for a few dollars rather than millions of dollars.

    And, of course, the opportunity for bribery and fraud in the software testing is nonzero. This is similar to the possibility of bribery and fraud in the legal system. It's just faster and cheaper.

    A major difference is that a software process is (in principle) totally documentable. This isn't true of the legal system, most of which is hidden from public view and unknowable to those not directly involved. Software tests can easily be recorded and published.

     

  • Re:Good idea. (Score:1, Insightful)

    by Anonymous Coward on Tuesday April 20, 2010 @04:17PM (#31914984)

    In the short term.

Without life, Biology itself would be impossible.

Working...