Monday, April 25, 2005

All my time on the tools...none on the actual work.

On the Elite Trader message boards, a guy who posts under the user name of Maestro posted this message:

The only high probability straddle play is the IV play. I normally buy a straddle on the following conditions:

1. Typical historical IV of a security on the day of the report/announcement is >= 60%

2. There are 3 - 5 days before the announcement

3. There are 10 - 30 days to the expiration day

4. Current IV <= 30%

If those parameters are met then buy a straddle and sell it on the day of the announcement as the IV peaks. It typically makes 10 - 15 cents profit after commissions and slippage.

Cheers.

Most of what is posted on Elite Trader is garbage, and only useful as a contrary indicator, but what I like about the boards is that there are a fair amount of professional traders who frequent it, and you often see a few gems of insight. I think Maestro is one of those people. I want to systemize and backtest this trade he talks about in his message...not because I think it's a great system that will make me a lot of money, but mainly because it will be a good exercise to help me learn about volatility trading. The tasks I will need to do to implement this system are as follows:

(1) I will have to write routines to import historical earnings data, which can be obtained from finance.yahoo.com
. This will give me another valuable source of market information to study.

(2) I will have to buy options data, and create a database structure to hold it. Gala suggests that I buy it from Stricknet.com. It like their prices, and I am going to go with them. Unfortunately I will only be able to obtain data back to 2003, but that will be fine to start with. I will have to be careful how I interpret any results I get from analyzing this data because volatility has been steadily declining since 2003...eventually I will need to get some data from periods during which volatility steadily increased. Creating the database structure and tools to import the data will probably be the biggest task, but cnce this is done, the door will be open for me to do most any options study I could think of. This will be a huge step forward in my quantitative toolset.

(3) I will need to write routines for calculating implied volatility, from the options data. This won't be a huge task. This will also be a very nice addition to my quantitiative toolset.

So as you can see, whether backtesting this system gives good results or not, I will have built some very useful tools and knowledge from just testing it out. One of my favorite stock market authors is Victor Niederhoffer who wrote 2 great books Education of a Speculator, and Practical Speculation. One of the important points I've picked up from his blog and his books is to test everything that can be tested, and that is also why I want to take on the task of testing Maestro's system.

I took a little break from my regular work Saturday to start on step (1) from above. I determined that I needed to speed up my database before moving forward. I mentioned previously that my database of stock market information has grown recently, and my structure was no longer able to handle the immense amounts of data. I spent some time learning how to optimize MySQL.

I have a program that is used for managing and viewing the data in my database. The first time I executed it a few weeks ago, after the new data had all been downloaded, it took more than 15 minutes to execute it's first query. I closed the program before it could finish. I spent a few hours learning about database optimization. I added a few indicies and removed most of the inidicies that I had previously added because I discovered they were inefective. The query now takes exactly 1 minute and 33 seconds to run now. That is the power of a relational database system, and I am quite impressed that without changing any code...just optimizing the structure a litte I was able to get such a dramatic increase. (even though I work with relational databases on a regular basis, I was still surprised...) I also now execute this query in a separate thread so that the main program can be used without having to wait for this query to execute.

1 Comments:

At 12:46 PM, Blogger Quant Trader said...

Thanks, I'll check that thread out.

 

Post a Comment

<< Home