Front Page Stuff

Institutional quantitative equity managers can share techniques and code for base functions. This saves time and expense by allowing idea sharing for generalized methods without giving away exact implementation of alpha generation (i.e. the secret sauce).

If you are not of the technical bent and find much of the content too quantitative, there are plenty of high quality web sites with great charts and information. Just check out BigCharts, SmartMoney or YahooFinance. This is in no particular order as there are too many out there to review.

For the serious (very serious) portfolio manager who must go beyond the off the shelf solutions, these are some of the resources. All development environments and projects worthy of exploration will be included. The emphasis is on Institutional Asset Management with a focus on large equity portfolios with risk controls.

Links and Resources

I first refer you to what I think is one of the best sites for the hearty do-it-yourself'er on financial applications. Look at Software for Economists which is a manageable list of links. For software and data you can start at RFE but data is large and dynamic part of the internet equation.

Math Programming

For data analysis and research, there are numerous environments including many high quality open source projects based on large commercial languages.

The two best offerings are:

  • Octave is an Open Source version of Matlab. Matlab is perhaps the most widely used math programming environment with the greatest support and documentation. If you surf over to Matlab, be sure to check out their fuzzy logic extensions!
  • R project is an Open Source version of S/S-Plus. Originally a Bell Labs product, it is perhaps the best environment for generalized statistical investigation.

You can find a thorough analysis of number crunching programs with their performance and capabilities at ScientificWeb. There is current info there but not much on the open-source offerings.

Of interest to a smaller but highly technical group is SWARM. SWARM is an agent based modeling system which can be used for sophisticated financial modeling but requires significant programming expertise.

Also of some note in this category is NumPy. Python is not a math programming language, but Python is a strong scripting language and the rocket scientists over the Lawrence Livermore Labs created these extensions to Python -- including LAPACK. This is great if you want a powerful controller/scripting language with great bindings and extensions.

Optimization

Math programming software does not scale well into more complicated or large scale financial applications. Optimization software and links more relevant to equity generalized (non COTS) optimization environments and solvers are:

  • GAMS is language and modeling environment used for generalized optimization. This is a commercial application with many commercial state of the art solvers. For those wanting to learn, you can get a product download limited by the number of variables. The crippled download is not suitable for large scale optimization but is more capable than the pathetic solvers and add-ons that you can get for spreadsheets and such. Another site to check out it GamsWorld where they have translators to convert gams to ampl or mps files. This helps with access to free optimizations on NEOS (see item below).
  • AMPL is another language created specifically for optimization. You can also download a functioning version of this (windoz only) for trial. This is a spin-off from a Bell Labs product. Site offers two ways to access NEOS solvers (see below)
  • The Optimization Technology Center (OTC) is a great resource and a link to NEOS where you can not only learn and experiment but actually use government computing resources to solve problems structured in either AMPL or GAMS. Use the demos above to learn GAMS, and then<b> use government computer resources to run large scale optimizations!!</b> You can experiment with different solvers to find which provides the best solutions to your problem. Global solvers are now available!
  • e-Optimization is a good source with help for beginners and power for advanced users. It also has good links to other resources for software and research.
  • From within a general purpose language like python you can interact with optimizers. See the optimization recipies of SciPy or the release of CVXOPT

Equity Risk Models

Generalized optimization can be used for a lot of things in finance, but in large equity portfolio, they are used to manage risk using an equity risk model. Risk controls were once relegated to a few "Quant" shops. Much more will be added on the use of these models and some of the pluses and minuses of them. Here is a listing of the current best of breed (if there are omissions let me know!)

  • Barra is the dominant provider of equity risk models offering fundamental risk models, and a host of software including optimizers. They are now part of MSCI/Barra
  • APT offers a host of equity risk models which are PCA based. They also offer software and optimizers.
  • Northfield has an optimizer which employs the re-sampling techniques first outlined in "Efficient Asset Management" by Richard Michaud. This is an excellent reference for the practitioner who uses optimizers.
  • ITG is an optimizer produced by the excellent research group at ITG and is the only off the shelf optimizer to use mixed integer programming. It can use different vendors' risk models. APT and Barra above have optimizers tied to their risk models.

Messaging Standards

  • FIX is the protocol used by brokers and institutions to send trades, indications and executions among trading systems. This will merge with the ISO 15022 XML effort.

If you are interest in FIX be sure to check out QuickFIX: an open source implimentation of FIX. It is available at Source Forge. They also have an XML of the specs available for download! C, Java, Python and Ruby API's come with it.(activly used standard)

  • SDMX is a format sponsored by the World Bank, BIS and the UN to exchange data. The Fed is experementing with it as well.
  • MDDL is the XML incarnation for the Market Data Definition Language. In some ways this is the worst of XML as XML is very verbose for simple things like daily or intraday prices for equities. It does, however provide for corporate actions and other data items that makes it a good source for taxonomy building
  • XBRL is the XML incarnation of corporate financial statements. It is being widely accepted and supported. It's practical usage will develop slowly as this is a very complicated standard with a large ontology theat is expanding. Includes international reporting.
  • RIFX is new Research Information exchange format being developed for the dissemination of research. They are equity focused for now, but they are flexible enough to deliver anything from text notes to streaming video. This is interesting if buy-side users can make use of the filtering capabilities. (developing standard)
  • ISITC (and SWIFT) is the messaging format used for back-office and settlement. It is quite possibly the oldest and most stable of the messaging formats. It is particularly important for international settlements. This will merge with FIX under the ISO 15022 XML effort and already has SWIFTml in development. (swift and isitc are activly used and swiftml is early a development standard)
  • OFX is the protocol used among more retail systems like quicken and on-line brokerage systems.(Used in may software packages)<br/>For open source parsing of OFX check out LibOFX
  • IFX developed much like OFX but is geared towards comercial banking.
  • FpML is a markup language for the financial services industry. It looks strongest in derivatives, but not sure how it will work with other (especially FIX) protocols.

The above specs cover tens of thousands of tag types. That should be enough to keep anyone busy. If you want more, be sure to check out the paper at the link above.

General Programming and Internet Utilities

In addition to the page software running this sitem here a a few more relevent sites of important software.

  • Xemacs and GnuEmacs are text editors and so much more. They have a big learning curve. They also have big benefits since they have modes and extensions that work specifically with GAMS, Octave, R (all referenced above) as well as numerous general languages and environments (Perl, Python, C/C++, Java etc.)
  • LaTeX is a superior markup language for producing technical research and results. They are open-source and readily available. They are unbeatable for research writeup. Check-out the use of Latex Equations on this site (and for any trac site).
  • Mutt is my favorite Mail Client. If you haven't heard of it--Don't use it. The url has most of the why I'm the best software for (fill in the blank) stuff. Be warned: It's text based and not for the faint of heart, but if you get a LOT of email, it's worth the effort.
  • Procmail is a mail handling and screening agent.
  • GIMP is a graphics and image program for production of web images.
  • MathMl is a markup language to allow math and equations to be put on the web. The goal is OK, but for the foreseeable future browsers don't do a good or consistent display job. For now, LaTeX2HTML seems the better way to go.
  • LaTeX2HTML can be used to produce typeset quality content with equations and graphs and still be able to put up web content without just throwing around pdf versions of everything. LaTeX also translates easily into pdf under linux. Under windows it can be done with MikTex.

New Stuff to Add

There is a page for Quant Finance Jobs

Black Sholes in different languages.