Tuesday, 29 January 2013

Open Source Financial Trading Software

Some time in early 2012 an open source project Lodestone Foundation was backed by Deutsche Bank. In September, 2012 FT let it know to ones who missed the news earlier.

The initiative is quite interesting and it split finance professionals in two camps - ones who believe that this is the way to go and their counterparts who think it would never happen.

I've looked for any existing and more or less active projects in this space. This is what I found out so far:

1. OpenGamma (Java, R, .Net and REST APIs, Tools for MS Excel)


The OpenGamma Platform provides both buy-side and sell-side firms a rich set of features, including trade data management, live risk alerts, and sophisticated, dynamic Excel integration.


2. QuantLib (C++)


QuantLib project is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life. 

Possibly this is the most popular project at the moment, there are signs that it's quietly used by many quant developers in their day-to-day work.


3. Open Heartbeat (probably C/C++)


Open Heartbeat is a lightweight data distribution system designed primarily for collecting and distributing rapidly changing price quotes for stocks, securities or other distributable data sets.

The core component is a reusable library which manages all communication, synchronization  caching etc., which can be linked into applications that create or, more commonly, consume data.

Primarily aimed at the financial sector, as a way to distribute rapidly changing stock quotes etc., this system can be used for any application that needs to distribute volatile data sets reliably and efficiently.

This suite includes a sample feed handler for Yahoo financial data. Use of the data provided by this service is subject to the terms and conditions of the Yahoo real time stock quote service.

The library offers very efficient operation (~10,000 updates per second), redundant paths and automatic error recovery and reporting.

4. Eclipse Trader (Java)


EclipseTrader is an  Eclipse Rich Client Platform (RCP) application focused on the building of an online stock trading system, featuring shares pricing watch, intraday and history charts with technical analysis indicators, level II/market depth view, news watching, and integrated trading. 

The standard Eclipse RCP plug-ins architecture allows third-party vendors to extend the functionality of the program to include custom indicators, views or access to subscription-based data feeds and order entry.


5. QuickFX/J (Java)


The Financial Information eXchange (FIX) protocol is a messaging standard developed specifically for the real-time electronic exchange of securities transactions. FIX is a public-domain specification owned and maintained by FIX Protocol, Ltd (FPL).

QuickFIX/J is a fully featured messaging engine for the FIX protocol. It is a 100% Java open source implementation of the popular C++ QuickFIX engine.


6. Premium Markets (Java)


Premium Markets is an automated financial technical analysis system. 
It implements a graphical environment for monitoring financial technical analysis major indicators and for portfolio management.

In its advanced packaging (not provided under open-source license) it also includes :

  • Screening of financial web sites to pickup the best market shares, 
  • Forecast of share prices trend changes on the basis of financial technical analysis, (with a rate of around 70% of forecasts being successful observed while back testing over DJI, FTSE, DAX and SBF), 
  • Back testing and Email sending on buy and sell alerts triggered while scanning markets and user defined portfolios.


7. ojAlgo (Java)


ojAlgo is Open Source Java code that has to do with mathematics, linear algebra and optimization  Its feature set make it particularly suitable for use within the financial domain.

8. EWaveTrade (C++, MFC, Visual C++ Compiler)


EWaveTrade is a tool to aid in the process of analyzing market price data using the Elliot Wave Theory, particularly applying the concepts and principles developed by Glenn Neely. The book "Mastering Elliott Wave" by Glen Neely is recommended for both potential developers and users of this software.

9. QChartist (Qt, Basic)


QChartist is a free charting software designed to do technical analysis from any data. The program is written in Basic language.

10. jFin (Java)


Pure Java lib that provides:
  • Date adjustment
  • Schedule generation
  • Day count fraction calculation

11. ActiveQuant (Java, ActiveMQ, HSQL)


ActiveQuant is an entire framework to backtest and run automated trading systems. This project is an open source project, but is not a free software, it is provided free of charge to academics and hobbyists.

12. Akutan (Java)


Akutan is an open source finance project working in the asset allocation, portfolio analysis arena of financial informatics. For the most part it stays away from instrument valuation and market models given that there are several other projects dedicated to that space, e.g. quantlib.

13. Net Positions


Net Positions allows to receive current and historical data about net positions(*) and opened on the futures market (info is taken from 'Commitments of Traders' weekly report). 

(*) net position is the difference between total open long and open shot positions.


14. Credit Analytics


CreditAnalytics is a full-featured financial fixed income credit analytics, trading, and risk library, developed with a special focus towards the needs of the credit products community. In particular, CreditAnalytics provides analytics to value liquid products (CDS, CDX, CDO, and bonds of all types and variants) and standard index/custom products (single credit forwards and options, and portfolio credit forwards, options, tranches, and other structures).


15. FpML



FpML® (Financial products Markup Language) is the open source XML standard for electronic dealing and processing of OTC derivatives. It establishes the industry protocol for sharing information on, and dealing in, financial derivatives and structured products.

The standard is developed under the auspices of ISDA, using the ISDA derivatives documentation as the basis. As a true open standard, the standards work is available to all at no cost and open to contribution from all. There is no membership requirement.

The standard evolution and development is overseen and managed by the FpML Standards committee, following W3C rules of operations guidelines.


16. Kooderive


The objective of this project is to create a library of code for pricing financial derivatives products using CUDA to achieve GPU programming.

No comments:

Post a Comment

Online Encyclopedia of Statistical Science (Free)

Please, click on the chart below to go to the source: