Python Could Become the Language of Finance
The SEC is proposing that most Asset Backed Securities include a downloadable “program that gives effect to the flow of funds, or “waterfall,” provisions of the transaction”. Prof. Jayanth R. Varma cites two other passages of interest.
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)
Software developers should take note the term “waterfall” refers to something completely different in the financial sector. Rather it refers to how some bonds are broken into levels, where those who bought into the higher level must be paid off before the lower level sees any money. (For more information see the Marketplace Whiteboard.) The complexity of these calculations and their susceptibility to even minor flaws in either formula or parameters makes having a formally defined program very important.
Currently the SEC is planning on mandating Python as the language for this reporting requirement. Other languages are being considered but Python has some notable advantages. In addition to having an open source, standalone compiler, it is supported on both the Java and .NET platforms. On Windows .NET can then expose Python to any COM-based language while in Linux C based bindings are available.