4 October, 2011, 12:45 PM
Investment Strategy Automation Software Project
For this project my thinking is to:
* Grab data from real-time price feeds that are displayed in a Java applet. In my case it is stock prices provided by ADVFN.com
* Process the price data with various algorithms according to trading strategies to produce buy/sell alerts
Professional investment companies use software to automatically place trades based on programmatical investment strategy. So I am thinking to attempt to create this kind of software for personal use.
The first step is to extract data from a web page that displays the price information. This entails finding the memory locations of where the price data is displayed in the web browser. Then the data is piped to a buffer to capture the prices along with the time of the snapshot.
The next step is to process the data with various algorithms to create the alerts and analysis of what is happening in the markets. These algorithms could be inputed as some kind of scripting language to simplify the rules that are being added.
I don't know if anybody here is interested in getting involved in this kind of project?
Assets that you can bring to the table are:
* You have access to real-time price/data feeds for stock prices, forex etc.
* You can code Java applets (so that you can work out how to probe the data that the price feeds are displaying)
* Programming skills (C#, C++, Java etc.)
I want to code the main GUI App in C# because I want to get proficient in C# programming and this was my idea for a coding project to do for this purpose.
So, does anyone want to join me on this project?
8 October, 2011, 13:07 PM
It seems like this project is quite tricky (it reminds me of Deep Thought on Hitch Hickers Guide To The Galaxy when asked what the actual question was to the answer of 42).
I tried to find where in memory the stock prices were being updated using the Cheat Engine (a software tool used by gamers to adjust parameters such as health in a game), but all I could find was where the heap data was in a Java process. I couldn't find a way to locate the pointer table for the displayed values since there were huge numbers of possibilities.
So the next approach that I am taking is to capture screen shots and do OCR (Optical Character Recognition) on image snapshots to extract the data. The plan is to capure a section of the computer screen as an image at say 10 frames per second and extract the live data via OCR. So it's getting tricky.
Luckily there are some great examples online of how to do some of the steps such as grabbing screen snapshots in code. Here is one: TeboScreen - you can also download the app. (you can grab rubber-band selections of your display screen).
I downloaded the code and ran it in Visual C# 2010 and captured images of WinAmp playing some music where it displays an animated graphic equalizer, plus scrolling text. The captured image when saved to PNG was perfect, so should be easy to perform OCR on.
So my next challenge will be to see if I can capture images of my selected area of the screen at 10 FPS. Yikes, I may have to write some of my own code to do this
I managed to code a screen scraper that OCRs the text.
Last edited by Andy101; 21 October, 2011 at 12:19 PM.
Reason: Added an update not wanting to bump the thread
Tags for this Thread