# Prof. Jayanth R. Varma’s Financial Markets Blog

A blog on financial markets and their regulation

## When is an algorithm not an algorithm?

June 1, 2011

Posted by on An algorithmic description becomes a mere description and not an algorithm when you ask the US SEC and CFTC to interpret the term. Section 719(b) of the Dodd-Frank Act mandated a study on algorithmic description of derivative contracts in the following terms:

The Securities and Exchange Commission and the Commodity Futures Trading Commission shall conduct a joint study of the feasibility of requiring the derivatives industry to adopt standardized computer-readable algorithmic descriptions which may be used to describe complex and standardized financial derivatives.

The algorithmic descriptions defined in the study shall be designed to facilitate computerized analysis of individual derivative contracts and to calculate net exposures to complex derivatives. The algorithmic descriptions shall be optimized for simultaneous use by— (A) commercial users and traders of derivatives; (B) derivative clearing houses, exchanges and electronic trading platforms; (C) trade repositories and regulator investigations of market activities; and (D) systemic risk regulators.

When the SEC and CFTC published their joint study in April, they redefined the mandate of the study completely as follows:

Section 719(b) of the Dodd-Frank Act requires that the Commissions consider “algorithmic descriptions” of derivatives for the purposes of calculating “net exposures.” An algorithm is a step-by-step procedure for solving a problem, especially by a computer, which frequently involves repetition of an operation. Algorithmic descriptions, therefore, would refer to a computer representation of derivatives contracts that is precise and standardized, allowing for calculations of net exposures. While it is conceivable to represent derivatives as algorithms – by reflecting the steps necessary to calculate net exposures and other analysis as computer code – such an approach would be very difficult given the divergence of assumptions and complex modeling needed to calculate net exposures. Accordingly, the staff have interpreted “algorithmic descriptions” to mean the representation of the material terms of derivatives in a computer language that is capable of being interpreted by a computer program.

This is truly astounding. The Commissions clearly understood that they were flagrantly violating the express provisions of the law. They are brazenly telling the lawmakers that they will do not what the law asks them to do, but what they find it convenient to do. If only the entities that the SEC regulates could do the same thing! Imagine the SEC telling companies that they need shareholder approval for certain matters, and the companies brazenly saying that since calling shareholder meetings is very difficult, we will “interpret” shareholder approval to mean board approval. What the two commissions have done is no less absurd than this.

The Dodd-Frank Act explicitly states “The study shall be limited to … derivative contract descriptions and will not contemplate disclosure of proprietary valuation models.” This is important because for many complex derivatives, there are no good valuation algorithms. Dodd-Frank is not bothered about valuation, it is talking about the payoffs of the derivatives. I do not understand what is so difficult about describing derivative payoffs algorithmically. The Church Turing thesis states (loosely speaking) that everything that is at all computable is computable using a computer algorithm (Turing machine). Since derivative payoffs are clearly computable, algorithmic descriptions are clearly possible.

A year ago, I blogged about an SEC proposal to require algorithmic description for complex asset backed securities:

We are proposing to require that most ABS issuers file a computer program that gives effect to the flow of funds, or “waterfall,” provisions of the transaction. We are proposing that the computer program be filed on EDGAR in the form of downloadable source code in Python. … (page 205)

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 … (page 210)

The waterfall computer program must 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. (page 211)

The joint study does not reference this proposal at all. Nor does it give any clear rationale for dropping the algorithmic requirement. Interestingly, last week, the Economist described a typo in a prospectus that could cost $45 million:

On February 11th Goldman issued four warrants tied to Japan’s Nikkei index which were described in three separate filings amounting to several hundred pages. Buried in the instructions to determine the settlement price was a formula that read “(Closing Level – Strike Level) x Index Currency Amount x Exchange Rate”. It is Goldman’s contention that rather than multiplying the currency amount by the exchange rate, it should have divided by the exchange rate. Oops.

It is exactly to prevent situations like this that algorithmic descriptions are needed. By running a test suite on each such description, errors can be spotted before the documentation is finalized. Clearly, the financial services industry does not like this kind of transparency and the regulators are so completely captured by the industry that they will openly flout the law to protect the regulatees.

Advertisements

Pingback: Help! Computing power or better algorithm required | cartesian product

Pingback: Better algorithm found | cartesian product

Pingback: Derivatives Trading