FinanceAI is an open source project that aims to provide advanced Artificial Intelligence, Statistical and Mathematical tools for amateur and sophisticated investors.
The first application that we are working on is called Predictor. Predictor is a tool that uses financial statements, income statements, balance sheets and cashflow statements and creates powerful pattern classifiers based on that data. Then it uses the classifiers to predict financial performance.
The first version uses quarterly or yearly financial statements of big cap companies to predict the performance of its stock, one quarter or one year ahead. And in order to do that it uses a two layer perceptron.
A porfolio composed only of the three stocks identified as Overweight by Predictor in March, 31st would have a performance considerably better than the SP500. The following chart shows the relative gains. Predictor beats the SP500 by more than 5 points.
Installation
In order to run Predictor follow this steps:
You can also download the source code here. The list or releases can be found in the Codeplex page. In case the installer finds any error make sure that you have installed the .NET Framework 3.5 and SQL 2005 Express Edition
Architecture
FinanceAI is structured in two layers. On the first layer we have a set of libraries for Artificial Intelligence, Statistics and Mathematics. These libraries are created in a generic way so that they can be used by an array of applications.
On the second layer we have tools for multiple financial purposes. In particular Predictor uses the AI library to perform Pattern Classification, taking as input income, cash flow and balance sheets of publicly traded companies to predict stock price movements. It is possible to substitute the Neural Net currently used for any other classifier, like a Support Vector Machine, a Nave Bayes Classifier or a Decision Tree.
Work in Progress
Right now the focus is in the initial applications and the AI techniques used by them. However we plan to expand this in the future by growing both in the number of applications and the methods to implement them.
Here are some tools that we plan to develop:
And some of the methods that we are working on: