Thursday, May 13, 2010

Apache Libcloud v0.3.1 released

The Apache Software Foundation and the Apache Libcloud project have announced the release of version 0.3.1 of Apache Libcloud. Apache Libcloud is a pure Python client library for interacting with many of the popular cloud server providers.

Apache Libcloud v0.3.1 is available for download from the project download page as well as PyPi.

I've been playing around with Libcloud to experiment and deploy SCA apps running on the Tuscany native (aka Tuscany-cpp) and Tuscany Java runtimes to EC2, and it's been working pretty well for me. The Libcloud API is very simple and makes it really easy to write Python scripts that automate the deployment, start, stop etc of compute nodes running SCA apps.

If I find some free time this weekend, I'll try to clean up a bit the Libcloud-based deployment scripts I've been playing with, and add them to the Tuscany native sample apps.

Also, I think it should be relatively easy to hook similar scripts with the Tuscany SCA domain manager Web app, which currently only supports local nodes but could be extended to deploy SCA components to remote nodes in the cloud.

Tuesday, May 4, 2010

The Security Exchange Commission, Python, Excel and Functional Programming

What does the SEC have to to do with Python, Excel and Functional Programming? Well, the title of this blog is Random Thoughts, so here are a few random thoughts.

Two weeks ago the US SEC Security and Exchange Commission proposed significant revisions to the rules governing the offering process, disclosure and reporting for ABS (Asset Backed Securities).

One of the proposals is to require ABS issuers to file Python computer programs describing the flow of funds (called waterfall) in ABS transactions. I think that's pretty cool!

That's cool for investors

Waterfall provisions in modern securitizations and CDOs (Collateralized Debt Obligations) are complicated. They're described in 'prospectus' documents written in plain english. That's verbose, error prone, and makes it difficult for investors to create credit and cash flow models and conduct their own evaluations of ABS. The last financial crisis revealed that many investors relied on ratings provided by third party credit rating agencies instead of doing their own evaluation homework, and were not fully aware of the risk in the underlying mortgages within the pools of securitized assets.

Providing a Python program modeling the waterfall for each ABS would help investors conduct their own evaluations and make more informed investment decisions. The Python program source code would be filed on EDGAR (Electronic Data-Gathering, Analysis, and Retrieval). Investors could just download the program for an ABS, input their data assumptions and model the waterfall right away.

That's cool for Python and programming

I've dissected a few ABS prospectus documents and I'm starting to think that these Python programs could look just like Excel spreadsheets (which most investors are familiar with), with user defined formulas written as Python functions, in a functional programming style.

The postings on this site are my own and don’t necessarily represent positions, strategies or opinions of my employer IBM.