Monthly Archives: January 2011

RCOMM 2011 Announced – Call For Papers

The Rapid-I gang just announced a call for papers for RCOMM 2011! This year they’re hosting it this year at the Institute of Technology Blanchardstown (ITB Dublin)!  No doubt Markus Hoffman will be running the show at the ITB and I suspect its going to be a bigger turnout that last year!

I highly suggest attending if you’ve been using Rapidminer to solve your complex problems.  RCOMM is a great way to meet and greet the Rapid-I team, fellow practitioners, and learn about the cutting edge technology that Rapidminer has in store for us.  Last year they unveiled so many new extensions, the most notably one being R, which has said to be a disruptive technology.

Breakout Stock Pattern Recognition

I love trading breakouts and piling into trends.  As such I’ve been spending an awful lot of time trying to understand patterns that the assets make prior to breaking out and forming new trends.

It’s not rocket science, from a chart perspective breakouts happen when an asset hits a resistance line, then breaks through it, and continues higher.  The resistance line is typically a 52 week or all time high, or some other “line” in the asset’s class price action based on some previous event in time.

Breakouts are also a function of news, such as fundamental changes in outlook of a particular asset.  Perhaps Apple came out with a new product like the iPoop and this causes investors, funds, traders, etc to pile into or out of the stock. When they do, they leave clues in the price/volume action on charts.

Devoid of reading the news, the only way we can see changes in trader/investor psychology is through these price and volume clues.  This is why  I’m a big on understand candlesticks.  I like to look at charts and find where there are hammers, spinning tops, engulfing candles, and other “trend changing” formations.

However there is no way that, I as a human, can see subtle changes in price/volume changes in stocks that may be hiding clues in market psychology, but a computer can.  That’s where Rapidminer is helping me decipher these subtle clues and patterns.

Below is a chart of the ETF GWX.  It broke out around September 13th, 2010 and seems to be trending higher.  Ideally, a trend trader would probably get long above the August 6th spinning top and the resistance line around $26.40ish.  Now wouldn’t it have been better to have gotten long sometime around August 24th?

The answer is YES but would a trader do so? NO! You’d be concerned that the price could drop and you’d wait for the bounce to follow through and might even make a small trade to ride it back up to the resistance line.  However, once the resistance breaks, you can bet people will pile in (see the volume action in October).

So I’ve been working on a model to try and identify when a new trend, and a subsquent break of the resistance line, is going to happen.  When will the odds be in my favor? What is the right time to establish a position before the masses do?

Well, it ain’t easy but I think I’m making progress.  Take a look at the Rapidminer chart below:

The red line activity (my break out signal) coincides with the breakout of GWX (blue line)for the Sept 13th period.  So the model is now identifying breakouts, which is progress in my book.  However, the trick is for the model tell me to get long on August 24th, which it doesn’t do right now.

Rapidminer pushes the envelope with Information Extraction

I’ve been waiting for this plugin ever since Felix Jungermann showcased it at RCOMM 2010! It seems all the really cool things were showcased there and I wonder what’s in store for RCOMM 2011, but I digress.

Felix has been busy since then and he’s finally released a compiled .JAR file for his Information Extraction plugin.  This is a quantum leap in text mining, in my opinion, and will be the next big thing.  Now you can parse text data and find associated information with your word tokens.  Wild.

It’s really easy to get started with this.  Just download the .JAR file and save it under the /lib/plugins director in your Rapid-I directory.  Then load up RM and it shows up as a new set of operators.

Have a fun sleepless weekend playing with this.

A Botched “R” plugin installation in Rapidminer – Solution

I decided to install the “R” plugin in Rapidminer recently and seriously botched the process.  I botched it so bad that Rapidminer got stuck in an installation loop that would ask me to “Exit – Restart Rapidminer” continuously.  I couldn’t get Rapidminer to load and I was stuck.  So what’s the course of action if something like this happens to you?

First and foremost, go to the experts.   I went to the Rapid-I forums and searched for “R plugin” and in about 10 seconds I found the answer to what I was looking for. Following Sebastian’s answer to a poster’s similar problem,  I found my extensions.xml file and edited it.  Then I restarted Rapidminer and all was well again the land of data analytics.

So if this happens to you, just search for the extensions.xml file in your \.RapidMiner5\managed\ directory and delete out offending plugin.

Learning Python helps me with Excel

I use Excel extensively at work and I’ve always wished to write intricate macros but never understood the complexities of Visual Basic.  After spending a few weeks learning Python, I’ve managed to build an Excel formula in VB that creates an “IF” statement formula if a hammer candlestick formation has occurred.  I use this as a macro function and apply it automatically to my downloaded data using TraderXl.

The formula is generates a 1 if a hammer has formed or a 0 if not. Assuming you’ve downloaded 153 rows of a stock’s date, open, high, low, close, volume in the A, B, C, D, E and F columns respectively. The output is in column P; you may modify it as you see fit.

Whoop-de-doo, right?

Well here it is:

Range("P1").Select
ActiveCell.FormulaR1C1 = "Hammer Formula"
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND((RC[-13]-RC[-12])>(3*(RC[-14]-RC[-11])),(((RC[-11]-RC[-12])/(0.001+(RC[-13]-RC[-12])))>0.6),(((RC[-14]-RC[-12])/(0.001+(RC[-13]-RC[-12])))>0.6)),1,0)"
Range("P2").Select
Selection.Copy
Range("P3:P154").Select
ActiveSheet.Paste

Secret link to my trading code/strategy.