Click here to Skip to main content
Click here to Skip to main content

AIshares

, 18 Sep 2013
Rate this:
Please Sign up or sign in to vote.
AIshares - an artificial intelligence trading shares and sharing trades

Please note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Overview

AIshares - an artificial intelligence trading shares and sharing trades. 

Platform

Primarily: Tablet, cross-platform 

Category

Finance 

Introduction 

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.  

Background 

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.

Development Approach 

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.    

History

  • Aug 27. Minor tweaks. 
  • Aug 1. Initial article.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Martin Wojtczyk
Software Developer (Senior) Startup
United States United States
Technology Enthusiast, Coder, Roboticist, Scientist, Entrepreneur
 
2012-present: Founder at Startup
2010-2012: Research Associate, Technische Universität München
2005-2012: Researcher at Bayer HealthCare, Berkeley, CA, USA
2004-2010: PhD in Computer Science from Technische Universität München
1998-2004: German Diplom in Computer Science from Technische Universität München
1999-2002: Co-Founder of net-develop
Follow on   Twitter   Google+

Comments and Discussions

 
GeneralHow's app development going? Will you be submitting on time? PinstaffKevin Priddle22-Oct-13 10:53 
GeneralIntresting Idea PinmemberNerudo Mregi18-Sep-13 0:19 
GeneralRe: Intresting Idea PinprofessionalMartin Wojtczyk18-Sep-13 11:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web01 | 2.8.140814.1 | Last Updated 18 Sep 2013
Article Copyright 2013 by Martin Wojtczyk
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid