Friday, September 22, 2006

Quote of the Week - Kaizen

"The most important choice you make is what you choose to make important" -- Michael Neill
I had coffee with a friend today that brought up an interesting topic. He said, instead of thinking about all the things you like to do or would like to do and persuing them. Step back a moment and think about all the things you do not like to do...and stop doing them. A lot to chew on for yours truly.

First off, because it is very hard for me to think about what I don't like to do. Perhaps because I've spent so much time and effort in determining what I like to do? Or maybe I don't like to admit there are things I don't like to do?

Reminds me of Kaizen. Eliminating activities that add cost and do not add value in an effort to continuously improve. We could all use that, right?

So, here I am thinking about what I don't like about investing/trading.
1) I don't like nothingness. I don't mind least something is happening. And of course, I love when I'm reaching new equity highs. But, I absolutely abhor nothingness. That period of time when your investments just sit there and do nothing. I don't like that. Which is a bad thing...since most of an investor's time is spent in nothingness.

2) I don't like gut feel investments. I want a precise method to follow that lets me know exactly when to buy and when to sell. Thus, the reason for developing trading systems.

3) I don't enjoy buying and selling stocks. I enjoy researching trading ideas and building systems around those ideas. But, the actual buying and selling of stocks is not fun for me. Would enjoy things much better if someone else traded my systems, so to speak.
That's about it as far as my dislikes. Not too bad. One day I need to write what I like about investing/trading.

Trading Platform Update:
I've made lots of progress on the trading platform front. But, so much still to go. I'm spending equal time in Python and Ruby in this quest. My major roadblock right now is obtaining the most efficient way to process historical stock data against portfolio data.

Most trading platforms process a symbol at a time. But, doing that prevents you from ranking all stocks triggered for a given day along with the currently held stocks and choosing the top 10, 20, etc. Because you'd have to read all symbols and all dates in order to get at a certain date for all symbols.

So, I'm trying date processing instead. Spin through all the symbols for a given date instead of all dates for a given symbol. Doing this would enable me to rank, adjust, etc. prior to the next day of trade. But, going this route scares me due to performance issues. Maybe it won't be so bad. We will see.

If anyone has ideas on this subject, please send my way. The main goal of the project is to avoid memory intensive methods. The reason? The trading systems I work with consists of all stocks in the US Markets going back 20 years or so. It crashes Wealth-Lab due to its memory method of position sizing despite 2GB of memory. I could buy more memory, but that would be too easy. :-)

Later Trades,



Damian said...

Have you tried Tradersstudio? It's a relative bargain at $499 for the package....I'm just testing it now.

Mike Taylor said...

No, haven't tried them. Awhile back I looked at a few packages and TradersStudio was one that was highly recommended.

But, decided against choosing a package and develop my own testing platform...for several reasons. Mainly so I could develop just exactly what I needed and nothing more. Plus, this way, I don't have to worry about longevity of the company or product. Or wait extended periods of time for new releases to implement feature sets I need. Instead if I need to make a change...I make it. :-)

Take care,


Damian said...

I've also been looking at SmartQuant - quite a cool and open platform. It actually seems like too much for me, but we'll see. In any case, it is out of my price range at the moment so I should probably put it to the side - I just like the way it works too much!

Such is life...

Quant Trader said...

I ran out of memory too with an early version of my backtesting tools when working with high frequency data. I was surprised, since I expected windows to allocate all of the virtual memory it needed (even if this ended up being slow). Apparently, Windows will only allow an application to address 2 gigs of memory no matter how much memory is installed on your computer (with tweaking this can be expanded to 3gigs or so) so buying more memory probably wouldn't help you anyway.

It makes me feel the same way I felt back in the old days programming in MS-DOS when we were confined to 640K of memory and having to split data up into 64K chunks. Oh well, I'm looking forward to Vista and a bigger address space. For my purposes I didn't actually need to load all of the data at once anyway, so buffering in a little at a time fixed my problems and actually improved my tools architecture.

Since your using Ruby maybe you could run your stuff on a Linux box? I don't think they suffer the same lame 2gig address space limitation.

Anonymous said...

What you really need are dayviews of the mkt with the attributes that you are interested in.

Don't forget about survior-bias...