AIshares - an artificial intelligence trading shares and sharing trades.
Primarily: Tablet, cross-platform
AIshares is an advanced stock portfolio and watchlist management system that is targeted towards small investors. It is meant to be an easy way to keep track of your investment across your desktop computer, tablet, and smartphone. Stock prices from New York, London, Frankfurt, and Paris are tracked by the backend application and stored in a database. Whenever the user accesses their customized portfolio, current prices and a portfolio summary with performance, out-performer, and under-performers is available.
The application is different from other portfolio managers when users opt-in to receive and see investment scenarios. Based on available historical data for listed shares, background processes on the server try to pick promising shares and flag downward turning shares in the user's portfolio. The automatically processed signals can help small investors avoid common mistakes. For easy analysis of the quality of signals the user has the option to create a simulated account, on which automated transactions are performed. The resulting performance may hint on stocks, strategies, and investment opportunities.
Small investors on the stock market make - among others - four very common mistakes: buying stocks too early, when they fall and seem cheap and buying stocks too late, when they seem to raise indefinitely. Respectively selling too early when stocks gain momentum and selling too late, when stocks fall are very common. Therefore the backend application keeps track of historical stock data, analyzes it with a variety of algorithms and creates buy and sell signals for a virtual portfolio which the user can adapt.
A stock tracker backend and experimental analysis algorithms have been implemented, however the user application is still to be done.
The application consists of two main parts: 1. Backend, 2. Frontend
The Backend application consists of a PostgreSQL database which stores historical stock data and the data of user accounts and their portfolios and watch lists. An API layer implemented in PHP accesses the database and returns JSON data to clients. Furthermore background agents implemented in C++ process the acquired stock data with a variety of algorithms and generate buy/sell signals for users who want them.
The Frontend is an HTML5 based application catered to different screen sizes from desktop computers, across tablets, down to smartphones. It will be packaged with PhoneGap for deployment to the different app stores. The Frontend application caches stock and portfolio data from the Backend and updates it, when a connection is available. Notifications are sent for buy/sell signals when users want them.
Points of Interest
Simulations of the implemented experimental investment strategies show, an investment of
$10.000 in May 2010 would result in $19.000 in May 2013. A 90% gain as opposed to 40% gain on Nasdaq and 35% on the Dow Jones Index during the same time frame.
$10.000 in May 2012 would result in $12.700 in May 2013. A 27% gain as opposed to 8% gain on Nasdaq and 11% on the Dow Jones Index during the same time frame.
If users opt-in to see the simulated trading transactions, they can investigate further in stocks of interest. Of course, nobody can predict the future and global crisis. Therefore no guarantee can be granted.
On the technical side, I learned that PostgreSQL > MySQL. PostgreSQL is way more powerful when it comes to SQL syntax support, partial indexes, window functions, and performance in general. Several application parts were shortened dramatically in terms of code lines and runtime after migrating an initial prototype from MySQL to PostgreSQL.
- Aug 27. Minor tweaks.
- Aug 1. Initial article.