Monday, August 17, 2009

Links of Note

Links of note from the physics arXiv blog.

Basketball and The Theory of Networks - Bet this applies to star performers at work as well. It's all about the bottlenecks. If you have a guru at work - logically the thought is we can't live without him/her. True? Would we instead be better off without him/her? Something to think about.

How Dragon Kings Could Trump Black Swans - what's interesting is I had several extensive discussions regarding this topic today. Then found this post tonight. Now I have a name for those extreme events - Dragon Kings.

[edit]
I'm updating this post to include Covel's recent link, Nobel Prize Winner Vernon Smith on Bubbles. This type of stuff fascinates me. Covers why history never quite repeats and why we keep thinking it does.

MT

Saturday, August 08, 2009

Portfolio Performance for July 2009

Another month in the green. Let's hope we can keep the momentum going for the portfolio. Still getting trounced by the market, but hopefully I'll start catching up now that 100% of the portfolio is invested.









On to system development news...
I'm deep in the heart of testing all the changes made to the backtesting engine. Most of the simulation output was converted from plain text (csv) files to sqlite tables. This option will broaden the front-end options available to the platform. Testing should wrap up by the end of August. Then I can start sharing some of the results on this blog.

Later Trades,

MT

Monday, July 27, 2009

Portfolio Performance for June 2009

June was a great month, both personally and for the portfolio. My family and I headed off to Texas for a few weeks to spend time with family and escape to the hill country for some good old R&R.

It was great visiting with everyone, checking out the beautiful Texas scenery, and enjoying some great food. There's a place in Liberty called Jax that served great catfish and an equally great ambiance. The restaurant is just across the street from the courthouse...so the place is the true heartbeat of the town. Could have been a setting out of a John Grisham novel. Very cool.

The picture taken to above was a rainbow we caught on our way back from dinner just before sunset. Felt it was appropriate considering the portfolio beat the market for the first month since February.



Not obvious in the above chart, but the S&P 500 returned only 0.02% for the month of June. And the portfolio returned 1.58%. Not much to brag about but nice to breathe some air for a month.


For the month of June, the portfolio is approximately 21% in cash which is quickly dropping due to the high number of signals received in the month of July.

As far as the portfolio simulation engine...I've had some exciting progress this past month.It really helped getting some quiet time. Each morning, I would get my coffee, sit out on the front porch, watch the hummingbirds go to war, the doves get lovey, and hack away on the simulation engine. I've created a new database that utilizes the Python's struct module for binary storage, SQLite for storing pointers to the records, and Numpy for field named record access. The best part is the database requires very little memory, has a small disk footprint, and is faster than anything I've worked with before. Previously, using a database of any kind was not an option. The aha moment was in realizing the bottleneck in performance was due to the number of records stored not the size of the records. Therefore, my main goal was to reduce the number of rows in the table and scale horizontally in the table versus vertically. This drastically reduced the lookup time.

Now, I'm in the process of refining the reporting engine and building a price series plotting framework with Matplotlib and Numpy. So, far the results look very promising. Nice to finally get some pretty charts to the simulation engine instead of a clunky MS Excel interface. Still more work ahead.

Heck, I've made so much progress sitting out watching those birds in the morning that I came home and started on a flower garden in our backyard. I've just finished tilling up the dirt and planting a few plants. We've already got hummingbirds fighting and a squirrel trying to figure out how to open that bird feeder. Now, I just need to get to hacking!

Later Trades,

MT

Tuesday, July 21, 2009

R on Stack Overflow...

Funny, I was working through a problem in R today and was seriously wishing R had the same presence as python over at Stack Overflow. Looks like others have this wish as well...and they're doing something about it.
In concert with users online across the country, this session will lead a flashmob to populate Stack Overflow with R language content.

Very cool! Check out R on Stack Overflow. And post those questions!

MT

Tuesday, June 30, 2009

Portfolio Performance for May 2009

April and May flew by. Been in hacker mode for a few months now working on the simulation platform. I get that way sometimes. There are times when my multi-tasking capabilities better superman. And then there are times like now where I have a laser sharp focus on one thing and one thing only. I think this focus kicks in at times when I can't wrap my mind around a problem. When that happens...I dig in, research, analyze, test, and don't stop until the problem is solved. It is tiring...but allows some pretty tough problems to be resolved.

The main crux of my problem is building a platform that is very flexible but highly efficient. If I was developing a platform that tested less than 2 gig of data...I'd be home free. But, get past the 2 gig barrier and all kinds of these wonderful flexible designs and databases everyone uses as default must be thrown out the window. Can't use a database in the traditional sense for your time series. Not if you want your simulation to finish in under an hour.

The simplest approach is to use flat text files as I've mentioned in the blog before. But, as you ramp up the dynamic nature of your simulation testing...you need a way to index those files. And the kicker is even the index cannot fit into memory. So, you wrestle with the memory barrier and disk io. Even creating binary files in order to reduce the size of your files. But, binary files limit your flexibility. I'm still testing and refining the solution...but slowly getting there. Basically taking a process that used to run 45 minutes long and dropped it down to less than 10 minutes. With the added ability to randomly seek to any date or symbol in the 20,000 symbol database quicker than you can say Jack Robinson.

Oh well, moving on. It's way past portfolio performance time...so better late than never...the portfolio performance as of May 2009:








As you can see...I'm still getting trounced by the market. Largely, because I'm still 50% in cash and the system normally doesn't perform well during these sharp bouncing bottoms the market has recently experienced. That's the one thing that has been difficult the past few weeks with all the recent buy signals. Many of the signals are from stocks that have already surged greater than 50% to 100% in just one month. Even though my position size is very small per stock...it is still at times tough to buy such a strong performing stock.

And that's it from here where I'm looking forward to the 4th of July, a few cold ones, and time with family.

Finally, my sister-in-law turned the big 40 today. Happy Birthday!

Later Trades,

MT

Sunday, April 26, 2009

Portfolio Performance for March 2009

Better late than never on the portfolio stats for March. I've been traveling a bit and wrapping up projects which caused the delay. And more importantly, continued development on the simulation engine.

A brief look at the charts below details my fear...the market surged upward with 100% of its money in the stock market. Me? My portfolio is over 50% in cash...therefore cash lag is kicking in for March. And my portfolio will suffer until that situation rectifies...ala more buy signals.







May is gearing up for another busy month for yours truly. Plus, it will soon be summer vacation time. We're researching cabin rentals on the waterfront. Two summers ago we spent a day swimming at Table Rock Lake and had a blast. Looking to expand on that this summer. But, doesn't have to be Table Rock. If anyone has any recommends...send my way.

And that's it from Mid-Mo, where garden stores are packed full of anxious gardeners trying to make the most out of the first dry, sunny, and warm weekend in months.

Later Trades,

MT

Wednesday, March 18, 2009

Management by Walking Around - Michael Newcombe

Excellent article from Peter Bregman highlighting the management style of Michael Newcombe, general manager of Four Seasons. Many will read the article and immediately scream...that's micromanaging. Believing this style to be a bad thing. Most likely due to the fact that it involves actual work. Ha ha.

But, I'm a big big believer in the practice of management by walking around. In many ways, its the most efficient means of gathering information.

It also shines the light on areas in the organization that are traditionally kept in the dark. And bridges communication gaps between areas that most believe are independent of one another.

Perhaps the greatest impact of management by walking around is organizational change. Mr. Bregman's website says it best:
"Experience shows that an organization can spend five years implementing a "change" program - and it usually takes people five days (or less) to find a way around it and do things the way they always did."

"Organizational change is a lagging indicator of personal change. When enough people in an organization begin to do things differently, the organization changes. And personal change happens not because people are told to change. Not because they are trained to change. Not even because they are motivated to change. People change because they choose to change."
How do people choose to change? The majority of changes occurs from a negative experience. Or better yet...a person chooses to avoid change in fear of a negative experience. This is where management by walking around comes into play. Or can come into play. I've actually seen the practice where management by walking around can increase those fears. But, done right...actually shines the light into areas most people fear. Enabling people with new approaches to difficult problems.

Side note, have you seen the new Dave Robicheaux movie starring Tommie Lee Jones, In the Electric Mist? Very good. I'm sure part of the enjoyment comes from the Louisiana setting...makes me long for the East Texas backwoods. Gotta get down there this summer and eat some crawfish. Oh, and don't miss the performance of Levon Helm in the movie. Not as good as the part he played in Shooter...but still noteworthy.

Later trades,

MT

Monday, March 16, 2009

New Growth and Old Age

Good article from Philip Greenspun. I agree with the ideas, more or less. In particular, the notion that newer countries who have avoided regulation and older war-torn or economically devastated countries have the best chance for growth. Works much like companies and their IT departments. The larger the company and more bottleneck PM's they have, the slower the progression. Start-ups have nothing to protect, few ego entrenchers to go up against, and therefore progress faster. In theory, anyway.

These theories apply to us as well. As we get older we accept less risk...and therefore our growth rate slows. We have more hooks into us. People counting on us. And plus, we're OLD! ;-)

mt

Sunday, March 08, 2009

Portfolio Performance for February 2009

February produced another all-time max drawdown in the portfolio. During times like this...logic rains down...am I doing something wrong? How much more money will I lose to the market?


Another common logic trap is should I second guess my system? Should I take the next trade? A few weeks ago...I received several new signals...and I took every one of them only to see several of them hit their exit signals last week.


You want to change your rules...filter out times like these...so difficult to watch your money be eaten away by the current market forces.


But, that is why you test your ideas so fully...both in good times and bad. So, you can continue to follow your system despite all the others washing away in this storm.

I'm sure there will be more weeks if not months that I buy stocks only to sell them weeks later. As bad as it sounds to yours truly, more months of drawdown. But, I have accepted this fate. I have accepted these circumstances because I have tested every ounce of my ideas in every market I can imagine...and I agreed to the results.

And when the storm is over...and everyone is afraid to buy stocks...my system will continue to generate signals of stocks to buy. And I will buy them. And follow the market wherever it leads despite how difficult that may be.

Later Trades,

MT

Monday, February 02, 2009

Portfolio Performance for January 2009

The new year started out with a bang, that's for sure. We're hitting new all-time max drawdowns in the system...2001/2002 were the last time these levels were seen for yours truly.


You can see below that we're beginning to lose money again...though not as bad as the market. The reason for this is because I've received several new signals the past few weeks which have creeped up the percent invested in the portfolio. Still nowhere near fully invested levels...but at least getting the barrel loaded in case the market takes a turn for the better.


The chart below details max drawdown levels for the portfolio and the market. Not sure how much help this is in evaluating the portfolio against the market. Especially when the main difference between the market's drawdown versus TaylorTree is the capital invested. It is as simple as that.


Now, on to some good news. The trading platform is beginning to shape up nicely. For the first time in several years of trading I have the maintenance of the portfolio completely automated. No, that doesn't mean orders are automatically placed with my broker. What it does mean is my portfolio is now completely monitored for sell signals, additional buy signals, stale positions, etc. Might not sound like much...but you'd be surprised at how much manual effort there is in trading a system - from managing the data sources to ensuring all positions are accounted for each and every night.

The next step and one I'm not especially looking forward to is creating several test cases for the money overlay of the backtesting platform. Things can get complicated very quickly in this area. And I want to make sure I've captured all the requirements of the platform before I begin coding. This is the area where I always get stuck due to the requirement of handling multiple trading systems, leverage, and various cash options in real-time. Also, I want the ability to dump unused cash directly to the market. Very interested in how the portfolio will handle being in the market 100% of the time when the trading systems are not utilizing 100% of the capital.

Later Trades,

MT

Wednesday, January 14, 2009

Portfolio Performance for December 2008

Hope everyone enjoyed the holidays and the new year is treating you right.





I'm afraid the portfolio nor the market changed much in December. Like watching paint dry. Oh, I'm sure there's quite a few market prognosticators out there shaking the tea leaves. Looking back on what they did right for the year and what they expect for the new one. I guess, I should do the same...

What I did right for 2008?
  • Traded the system without question.
  • Eliminated all market news and views from my trading turret.
  • Completed the rebuild of the backtesting platform's foundation.
  • Incorporated portfolio tracking in the platform.

What to expect for 2009?
  • Add a charting component to the platform.
  • Generate better performance reports from simulations.
  • Code and compare the internal file system in numpy, sqlite, berkeley db, and plain old csv files (which it is currently).
  • Simplify the scanning component and explore multi-core options.
  • Replace the aging windows box with a fresh linux version.
  • Enable portfolio allocations at the trading system level. This way can test effects of combining systems and determine optimal allocation levels.
  • Create a nice front-end for the platform.
On a personal note, my family is exploring the possibility of adding a dog to the household. The last dog in our family passed away about 1.5 years ago. She was a lab-heeler mix that we saved from the local pound as a pup. Great, great dog. My daughter's best friend...and mine. Feel enough time has passed and exploring a few of the gundog breeds. In particular, the French Brittany. If anyone has experience in this breed or know of a good breeder...leave a comment.

Later Trades,

MT

Sunday, December 14, 2008

Portfolio Performance for November 2008

Performance charts for November...better late than never:





As you can see, more of the same. Market is down...TaylorTree not so much. The simple strategy of scaling out of the market as the market moves further down reduces our downside volatility at the expense of upside returns. No timing going on here at all. Just positions being sold due to stop losses and a lack of new signals to use up that cash.

By the way, I have updated the looks of the site. It is still a work in progress...but hopefully an improvement. I especially like the Recent Bookmarks and research via TaylorTree sections. Automates the "What I'm Researching" posts.

Later Trades,

MT

Wednesday, November 26, 2008

What I'm Researching...


CodeProject: Optimizing a Function of One Variable.

Posted: 26 Nov 2008 12:31 AM CST

find the minimum or maximum over an interval. nice.

The Sweave Homepage

Posted: 26 Nov 2008 12:27 AM CST

contains manual and faq. this tool allows dynamic reporting via sweave & R language. can generate latex docs which can gen to pdf or even html via R's R2HTML function.

TeXnicCenter

Posted: 26 Nov 2008 12:24 AM CST

interesting open source latex editor to check out.

Sweave: First steps toward reproducible analyses

Posted: 26 Nov 2008 12:23 AM CST

embed R code via sweave to generate latex document containing results. awesome! must use this for my next presentation paper.

Moving data between R, Excel, and the Windows clipboard

Posted: 26 Nov 2008 12:19 AM CST

nice summary of writeClipboard, readClipboard, and scan, read.table, and write.table functions.

How to write parallel programs (pdf)

Posted: 25 Nov 2008 12:06 AM CST

Nice intro to parallel programming. Need to spend more time with this paper.

R/S-PLUS Fundamentals and Programming Techniques (pdf)

Posted: 24 Nov 2008 11:58 PM CST

nice coverage of programming in R language. From reading data, plotting data, managing code, logging analysis, and bootstrapping.

Friday, November 14, 2008

What I'm Researching...


Jim Barry's Rexx Tutor Part2

Posted: 13 Nov 2008 01:00 PM CST

great summaries on the classic rexx functions.

Project Aardvark

Posted: 13 Nov 2008 12:53 PM CST

Joel on Software's Real World. A must see!

Reading List: Fog Creek Software Management Training Program - Joel on Software

Posted: 13 Nov 2008 12:50 PM CST

great reading list!

In Python how do I sort a list of dictionaries by values of the dictionary? - Stack Overflow

Posted: 09 Nov 2008 09:29 PM CST

nice efficient sorting of values in a python dictionary.

AT&T Labs Research - Yoix / YWAIT

Posted: 07 Nov 2008 07:36 AM CST

Interesting way to build a web application. Wonder how complex this would be to use versus traditional web-based systems (LAMP)? This may be easier to deploy if the goal of the software is simulation/visualizations. Something to toy with.

AT&T Labs Research - Yoix / Byzgraf

Posted: 07 Nov 2008 07:33 AM CST

Another great looking toolset using Yoix that enables plotting functions: line, bar, histograms, etc.

AT&T Labs Research - Yoix / YDAT

Posted: 07 Nov 2008 07:32 AM CST

Extremely cool visualization toolset from AT&T Labs Research. Handles graphviz files.

Tuesday, November 11, 2008

Portfolio Performance for October 2008

Drawdown city. Stay in this game long enough and you'll encounter months like September/October. In fact, they happen so infrequently...it's almost like recalling a memorable storm from years back. I still remember the panic my mom went into whenever there was a hurricane in the Gulf. She'd stock up on food, plot the hurricane on those maps the National Hurricane Center would give out, and fret, fret, fret. 99% of those hurricanes would peter out, stall, or miss us entirely. But, she still remembered living through the devastation of Hurricane Carla...and felt the fear every summer 30+ years later.

The human mind is a funny, funny thing...behaving binary with pain. If you've never experienced the pain of a hurricane, snowstorm, loss of a loved one, or the falling knife of the market...you're set to 0. You operate without fear. But, once you experience the pain...you're set to 1. And everything you do from that point forward is now based off that pain. Based off that switch.

And that switch is a bugger to reset. Most people can't do it. The instant the pain hits they begin tweaking their life as if the odds of experiencing that pain again has increased to a 100% certainty. Funny part is...
  • the odds of experiencing the pain hasn't increased
  • all those tweaks won't do a thing to prevent future pain.
Smart people get stuck in this trap...a lot!

What's my point? Invest in the market knowing the worst will happen. The foundation of your investment strategy should be able to withstand the storm. If you're busy tweaking your strategy right now in an attempt to avoid the next storm, trying to pick and choose your investment spots, thinking all the work you're doing will sidestep the next storm because you figured out how to handle this storm...then your bit is set to 1. And this cowboy quote likely fits:

Timing has a lot to do with the outcome of a rain dance.
And with that the performance charts for the month of October 2008.






We're experiencing a fairly hefty drawdown as is the market. I've received several exit signals over the past 2 months. At one of the highest level of cash since investing in the market. And doing nothing but patiently waiting out the storm.

That, and preparing for a cold Missouri winter.

Later Trades,

MT

Friday, November 07, 2008

What I'm Researching...


Overview of RAMFS and TMPFS on Linux

Posted: 06 Nov 2008 11:02 PM CST

Map your memory as a drive? Wonder how this would work if you built a linux server with 32gb memory and mapped at least half that dedicated for simulations? How much faster would this be versus traditional disk-based sims?

Replacing multiple occurrences in nested arrays - Stack Overflow

Posted: 06 Nov 2008 10:58 PM CST

will this work in updating a dictionary of prices? if you have a dictionary of portfolio positions with values being python lists...would this be a good solution in updating the closing price of the stock (one of the items in the list)?

Friday, October 31, 2008

What I'm Researching...


Producing Open Source Software

Posted: 30 Oct 2008 09:56 PM CDT

very cool online book detailing the starting of an open source project.

OmniTI ~ Careers ~ Site Reliability Engineer

Posted: 28 Oct 2008 12:04 PM CDT

one of the best job descriptions I've read on working as an operations engineer. best two quotes: "If you don't grow, you'll fail." & "Think of it like any other fun and challenging job you've had -- now remove the margin for error." How true!

Monday, October 27, 2008

What I'm Researching...


Linux Server, Linux Hardware

Posted: 26 Oct 2008 02:28 PM CDT

pre-installed linux provider

system76, Inc.

Posted: 26 Oct 2008 02:26 PM CDT

pre-installed linux computers (laptops, desktops, servers).

The R fCalendar package (pdf)

Posted: 26 Oct 2008 11:18 AM CDT

date, time, calendar manipulations in R. Sample functions are diffTimeDate, isWeekday, isWeekend, and the very cool timeNdayOnOrAfter, timeNthNdayInMonth, timeLastNdayInMonth.

How To... Mount Your Computer Screen

Posted: 26 Oct 2008 10:17 AM CDT

details how to wall mount your monitor. very cool.

Javascript style dot notation for dictionary keys unpythonic? - Stack Overflow

Posted: 23 Oct 2008 06:59 AM CDT

great thread on object-style dot notation. instead of stock['id'], this thread shows how to create stock.id.

vizierfx - Google Code

Posted: 22 Oct 2008 12:38 PM CDT

really cool flex library to display graphviz graphs. haven't explored the flex toolset before...but may have to check it out.

z/OS Workload Manager - How it works & How to use it (pdf)

Posted: 21 Oct 2008 12:18 AM CDT

Great summary on Workload Manager (WLM)...including tips for setup and troubleshooting existing setups.

Monday, October 20, 2008

What I'm Researching...


RocketDock - About RocketDock

Posted: 20 Oct 2008 12:17 AM CDT

extremely cool application dock for windows.

Python Programming/Lists - Wikibooks, collection of open-content textbooks

Posted: 20 Oct 2008 12:12 AM CDT

Great collection of python list examples.

Introduction To New-Style Classes in Python

Posted: 19 Oct 2008 01:18 AM CDT

great explanation of python classes. check out the final part discussing the __slots__ feature. basically, reserve attributes...those not defined cannot be assigned.

PyTables User's Guide

Posted: 18 Oct 2008 12:30 PM CDT

html version of the pytables userguide.

rdoc:graphics:barplot [R Wiki]

Posted: 17 Oct 2008 04:22 PM CDT

R doc for barplot

Welcome to DrQueue Commercial Website

Posted: 12 Oct 2008 11:44 PM CDT

queue manager with python binding. looks to be used as a render manager...but could see other uses as well.

Building home linux render cluster

Posted: 12 Oct 2008 11:30 PM CDT

excellent article on building a cheap 24 core x 48GB ram linux cluster.

Sunday, October 12, 2008

Portfolio Performance for September 2008

September came and went. October brought the perfect storm...I guess. Looking forward to October's portfolio performance in relation to the market...to see how bad things really are. Until then...let's cover September's performance.

September's VAMI


September's ROI


As you can see, not a great month of performance. And while the downside doesn't feel good...my greatest concern is the upside that will come. When it does...the portfolio will lag the market due to the relatively high level of cash. But, nothing we can do...but be patient and allow the system to do its job.

Last thing you want to do during turbulent times is hit the panic button. Or worse, try to figure this market out. You don't figure a hurricane out while you're in the middle of it. Don't buy a generator, food, and flood insurance during a hurricane. Those are things you buy prior. The only thing you can do when the storm hits is batten down the hatches and hope you prepared enough for the damage to come. After the storm is over...reassess what you did right and what was lacking. Oh, and clear those fallen trees from your portfolio.

On a side note...I've spent the weekend putting together a new office. I've bought several office pieces and trying to find the optimal setup. Once I've got everything moved in...I'll share some pics of the new digs.

Later trades,

MT