## Wed, 01 Jun 2011

# When is an algorithm not an algorithm?

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.

Posted at 21:31 on Wed, 01 Jun 2011 5 comments permanent link

**Comments...**

**Aniruddha Mukherjee wrote on Mon, 06 Jun 2011 18:05 **

Re: When is an algorithm not an algorithm?

my question:(i)if trading algos were to be revealed for evaluation to regulatory bodies, wouldnt that hurt "proprietary algos"? I mean then there would not be anything left for niche strategies. This is would open up up another open source debate, would it not?

**Prof. Jayanth R. Varma wrote on Tue, 07 Jun 2011 10:57****Re: Re: When is an algorithm not an algorithm?**

Dodd-Frank is not talking about disclosing trading algorithms or valuation algorithms. It is only about the algorithm defining the payoff. For example, if you have an Asian option, then you would file a computer code that would compute the relevant (arithmetic or geometric) average of past (daily or weekly or monthly) prices.

**Sandeep wrote on Tue, 07 Jun 2011 13:03 **

Re: When is an algorithm not an algorithm?

This comment actually relates to your original post "The SEC and Python".

Python is suitable because it is a functional programming language (albeit not completely) and therefore "easier" to mathematically validate. The effects of imperative languages such as C#/Java are difficult to validate using mathematical techniques.

A "purer" functional programming language such as Haskell/Lisp/Scala might be more useful (and compilers/interpreters) for these are free/open-source.

**Shankar Venkataraman wrote on Wed, 08 Jun 2011 01:26 **

Re: When is an algorithm not an algorithm?

“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!”

Dr. Varma,

The entities regulated by the SEC indeed do the same thing, arguably with some subtlety. Consider three examples. When the SEC mandated segment disclosures, there was considerable hand-wringing about how proprietary information would become public etc. Nonetheless, most companies provide more detailed segment information nowadays in compliance with the provisions of SFAS 131. Some companies, though, brazenly violate both the letter and the spirit of the law by claiming that they have exactly one segment thus frustrating the intention of the law makers. I can understand if a company with less than $100 million in revenues pulls a stunt like that, but companies like Google claim they have exactly one segment – which, of course, is laughable. Basically, they appear to be telling the SEC – “we think your rule is stupid – we are not going to comply. Do what you will.” Companies like Amazon, Ebay etc. are a little more transparent – they claim to have exactly two segments – domestic and international (last time I checked).

Another instance is the bitterly fought debate on expensing stock-based compensation. Having lost the fight, some companies now do what the law mandates, but add on a voluntary disclosure disavowing this mandatory disclosure and claiming that the inputs leading to the expensed amounts are unreliable – again, apparently telling investors – “here’s a stupid rule – we are doing what the SEC / FASB wants us to do, but you’d be crazy to trust these numbers.”

Finally, the recent debates about fair values and banks where the industry forced the FASB to back off also goes to show that the entities regulated by the SEC are perfectly willing and able to challenge (and mock) the rules when the rules no longer suit them.

I have absolutely no quarrel with your argument about regulatory capture and in this instance, you have pointed out something important that most of the media in the U.S. has seemingly overlooked, but I did want to point out that the entities regulated by the SEC do the same routinely. Let me also add that there is no shortage of dim-witted legislation that might, at times, warrant such a response – I am not sure this is one such case, though. To me, this seems more like a sensitivity disclosure that simply allows informed investors to verify some numbers and come to their own conclusions – but apparently that is asking for too much.

**Prof. Jayanth R. Varma wrote on Wed, 08 Jun 2011 10:33****Re: Re: When is an algorithm not an algorithm?**

I agree with most of what you say.