Thursday, February 11, 2010

Trading Framework Part I: Tools I Use

I received a question from a reader regarding the software I use...more specifically...the open source software I use in trading. Instead of a direct response, I figured this type of question might be useful to other readers of this blog.

My basic trading framework is the following:
Operating System:Windows Vista Home Premium
Programming Languages:Python 2.6.2 & R 2.9.1
Databases:SQLite 2.4.1, Numpy 1.3.0, & CSV
Programming Editor:SciTE 1.78
Graphing Engines:Matplotlib 0.98.5 & R
GUI:HTML & JavaScript
Scheduler:Windows Task Scheduler
Shells:Command.com (DOS) & Cygwin (Bash)
Historical Quotes:CSI & Yahoo Finance

Operating System
Choosing Windows as the operating system is mainly out of convenience. As you can see above, the only real item that would prevent a full move to Linux is the historical quote provider, CSI. Everything else can run on another platform or a suitable alternative is available.

Another reason I've stayed with Windows is due to my current job (windows shop). But, I will admit, I have been very close to switching to a Mac the past few months or possibly OpenSUSE. Just haven't taken the bite yet.

On a side note, prior to my current employer...I worked for a University that was really ahead of its time. Every program we developed had to pass a compatibility test, "Could it easily run on another platform?" While this at times was an impossible task due to user requirements...we still always coded with this compatibility in mind. And I've kept this same philosophy in developing the trading simulation engine.

Programming Languages
I'm originally a Cobol programmer. Yes, that's right...if you've never heard of one...now you're reading a blog by one. Cobol programmers, the good ones, are very keen on whitespace. When you're throwing a lot of code around...the whitespace is what keeps you sane. And so, when I was trying out the various scripting languages back in the day...Python really struck my fancy. I spent the better part of 9 years trying to force programmers to keep the code pretty in Cobol. Only to see Python come around and truly force programmers to code clean. Over the years, I have worked in various other languages, but I've always stuck with Python.

I think another reason I chose Python was due to WealthLab's Scripting language (Pascal-based). I felt I could build an environment similar to WealthLab that would offer the same scripting ease. So far, Python has done a great job in keeping the framework simple and extensible.

Another language I have used from time to time in my trading is R. I use R mainly to analyze trading results. A few years ago, I actually developed a prototype of the trading simulation engine in R. But, it was too slow. The loops killed it. With the recent development of Revolution Computing's ParallelR...I've often wondered what the results would now be. But, I'm past the point of return with the engine in Python. But, as far as fast analysis of CSV files...it is really hard to beat R.

Databases
I struggled several years with how to store and retrieve the historical price series data for the trading simulation engine. The main problem was the data could not fit into memory yet access had to be extremely fast. So, for years I used plain CSV files to store the data.

Basically, reading the CSV files from CSI and writing out new price CSV files with my fixes from possible bad data along with additional calculated fields. At first I stored the data into 1 big CSV file. Then used either the DOS sort or Bash sort command to sort the file by date. I was afraid I would run into file size limits (at the time I was on Windows XP 32-bit). So, I started writing the data out to thousands of files broken down by date. Basically, each file was a date containing all the prices for that date. Worked really well...except analysis on the backend became difficult. Plus, it felt kludgy.

I had always tried to use regular databases for the pricing backend...but they couldn't handle the storage and retrieval rates I required. Just too slow. And yes, I tried all of them: MySQL, PostGreSQL, Firebird, Berkely DB, SQLite, etc.

It wasn't until I read an article by Bret Taylor covering how FriendFeed uses MySQL that I had an idea as to how to use a database to get the best of both worlds - fast storage & retrieval along with slick and easy access to the data. That's when I went back to SQLite and began a massive hacking of code while on a Texas Hill Country vacation. Really bumped the trading simulation engine to another level. The trick to fast storage & retrieval? Use less but bigger rows.

For a memory database? I use numpy. It's a fantastic in-memory multi-dimensional storage tool. I dump the price series from SQLite to numpy to enable row or column-wise retrieval. Only recently have I found the performance hit is a little too much. So, I've removed numpy from one side of the framework. And contemplating removing it from the other side as well. It takes more work to replicate numpy via a dictionary of dictionaries of lists. But, surprisingly, it is worth the effort when dealing with price series. Which means, I may not use numpy in the engine for long. Still a great tool to use for in-memory storage.

Graphing Engines and GUI
I really try to keep it simple in the front-end of the trading framework. I use Matplotlib to visualize price or trading results. And HTML along with Javascript to display trading statistics. Honestly, not a lot has gone into this side of things. Still very raw. My goal for 2010 is to work more in this area.

I have used R quite a bit in analyzing the output of the trading backtests. R is really powerful here. Quickly and easily chart and/or view pretty much any subset of the data you wish.

If there's certain items I look at over and over in the backtests...I'll typically replicate in Python & Matplotlib and include in the backtest results.

Editor, Schedulers, and Shells.
SciTE is hands down my favorite Python editor. I don't like the fancy IDE type stuff. SciTE keeps it simple.

Windows Task Scheduler is for the birds. I should know...my main job is centered around Enterprise Scheduling. But, the windows task scheduler gets the job done most of the time. I just have to code around a lot of the times it misses or doesn't get things quite right. Which is okay...that's life. That's one of the main reasons I have thought about switching to a nix box for cron and the like.

The DOS shell or Bash shell...I don't get too fancy in either. I do use the Bash shell quite a bit in performing global changes in the python code. Or back when the database was CSV based. Again, nix boxes win here. But, us windows developers hopefully can always get a copy of Cygwin to save the day.

Historical Quotes
I have used CSIdata for many years. Mainly for the following reasons:
  • Dividend-adjusted quotes which are essential if analyzing long-term trading systems.
  • Adjusted closing price - needed if you wish to test the exclusion of data based on the actual price traded - not the split-adjusted price.
  • CSV files - CSI does a great job of building and maintaining CSV files of price history.
  • Delisted data - I thought this would be a bigger deal but didn't really impact test results...but still nice to have for confirmation.
  • Data is used by several hedge funds and web sites such as Yahoo Finance.
The only drawback I have to CSI is the daily limit to the number of stocks you can export out of the product. It can get frustrating trying to work around the limit. Of course, you can always pony up for a higher limit.

This covers Part I of the series. Next up? The type of analysis I perform with the trading framework.

Later Trades,

MT

Russell 3000 Daily Stats (02/11/10)

Key Figures Russell 3000 IWV
Total Active Components2975 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 13 (0.44%) 0 (0.00%)
# All-time Closing Lows 4 (0.13%) 0 (0.00%)

# Higher Closes 2486 (83.56%) 1 (100.00%)
# Lower Closes 423 (14.22%) 0 (0.00%)

Total Gains/Losses $979.61 (1.38%) $0.63 (1.00%)
Average True Range (3.94%) (1.85%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, February 10, 2010

Russell 3000 Daily Stats (02/10/10)

Key Figures Russell 3000 IWV
Total Active Components2975 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 3 (0.10%) 0 (0.00%)
# All-time Closing Lows 8 (0.27%) 0 (0.00%)

# Higher Closes 1351 (45.41%) 0 (0.00%)
# Lower Closes 1530 (51.43%) 1 (100.00%)

Total Gains/Losses $-37.08 (-0.05%) $-0.07 (-0.11%)
Average True Range (3.46%) (1.43%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, February 09, 2010

Russell 3000 Daily Stats (02/09/10)

Key Figures Russell 3000 IWV
Total Active Components2975 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 6 (0.20%) 0 (0.00%)
# All-time Closing Lows 5 (0.17%) 0 (0.00%)

# Higher Closes 2465 (82.86%) 1 (100.00%)
# Lower Closes 454 (15.26%) 0 (0.00%)

Total Gains/Losses $937.69 (1.33%) $0.85 (1.37%)
Average True Range (3.80%) (2.20%)

* Results are cumulative for the period.

Price verification found 0 errors

Monday, February 08, 2010

Russell 3000 Daily Stats (02/08/10)

Key Figures Russell 3000 IWV
Total Active Components2975 1
Total New Listings this period0 0
Total Inactive this period2 0
# All-time Closing Highs 2 (0.07%) 0 (0.00%)
# All-time Closing Lows 15 (0.50%) 0 (0.00%)

# Higher Closes 662 (22.25%) 0 (0.00%)
# Lower Closes 2248 (75.56%) 1 (100.00%)

Total Gains/Losses $-602.84 (-0.85%) $-0.57 (-0.91%)
Average True Range (3.71%) (1.44%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, February 07, 2010

TaylorTrade weekly Stats (02/01/10-02/05/10)

Key Figures TaylorTrade SPY
Active Components29 1
Entries this period0 0
Exits this period0 0
IPOs this period0 0
Inactive this period0 0
Missing in PriceDB0 0
# 1yr Closing Highs 2 (0.80%) 0 (0.00%)
# 1yr Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 123 (49.20%) 3 (60.00%)
# Lower Closes 127 (50.80%) 2 (40.00%)

Total Gains/Losses $-29.10 (-0.21%) $-0.73 (-0.13%)
Average True Range (3.00%) (1.86%)

* Results are cumulative for the period.

Russell 3000 Weekly Stats (02/01/10-02/05/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 30 (0.20%) 0 (0.00%)
# All-time Closing Lows 43 (0.29%) 0 (0.00%)

# Higher Closes 6851 (46.00%) 3 (60.00%)
# Lower Closes 7715 (51.80%) 2 (40.00%)

Total Gains/Losses $-867.29 (-0.24%) $-0.37 (-0.12%)
Average True Range (3.98%) (1.90%)

* Results are cumulative for the period.

Price verification found 0 errors

Friday, February 05, 2010

Russell 3000 Daily Stats (02/05/10)

Key Figures Russell 3000 IWV
Total Active Components2977 1
Total New Listings this period0 0
Total Inactive this period2 0
# All-time Closing Highs 3 (0.10%) 0 (0.00%)
# All-time Closing Lows 12 (0.40%) 0 (0.00%)

# Higher Closes 1765 (59.29%) 1 (100.00%)
# Lower Closes 1135 (38.13%) 0 (0.00%)

Total Gains/Losses $285.35 (0.40%) $0.17 (0.27%)
Average True Range (4.47%) (2.23%)

* Results are cumulative for the period.

Price verification found 0 errors

Thursday, February 04, 2010

Russell 3000 Daily Stats (02/04/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 3 (0.10%) 0 (0.00%)
# All-time Closing Lows 16 (0.54%) 0 (0.00%)

# Higher Closes 159 (5.34%) 0 (0.00%)
# Lower Closes 2782 (93.39%) 1 (100.00%)

Total Gains/Losses $-2292.51 (-3.14%) $-2.04 (-3.17%)
Average True Range (4.71%) (3.19%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, February 03, 2010

Russell 3000 Daily Stats (02/03/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 7 (0.23%) 0 (0.00%)
# All-time Closing Lows 8 (0.27%) 0 (0.00%)

# Higher Closes 932 (31.29%) 0 (0.00%)
# Lower Closes 1956 (65.66%) 1 (100.00%)

Total Gains/Losses $-427.90 (-0.58%) $-0.29 (-0.45%)
Average True Range (3.47%) (0.88%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, February 02, 2010

Russell 3000 Daily Stats (02/02/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 13 (0.44%) 0 (0.00%)
# All-time Closing Lows 5 (0.17%) 0 (0.00%)

# Higher Closes 1816 (60.96%) 1 (100.00%)
# Lower Closes 1097 (36.82%) 0 (0.00%)

Total Gains/Losses $643.60 (0.88%) $0.78 (1.22%)
Average True Range (3.60%) (1.58%)

* Results are cumulative for the period.

Price verification found 0 errors

Monday, February 01, 2010

Russell 3000 Daily Stats (02/01/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 4 (0.13%) 0 (0.00%)
# All-time Closing Lows 2 (0.07%) 0 (0.00%)

# Higher Closes 2180 (73.18%) 1 (100.00%)
# Lower Closes 744 (24.97%) 0 (0.00%)

Total Gains/Losses $924.44 (1.29%) $1.01 (1.61%)
Average True Range (3.67%) (1.62%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, January 31, 2010

TaylorTrade weekly Stats (01/25/10-01/29/10)

Key Figures TaylorTrade SPY
Active Components29 1
Entries this period0 0
Exits this period0 0
IPOs this period0 0
Inactive this period0 0
Missing in PriceDB0 0
# All-time Closing Highs 8 (3.20%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 96 (38.40%) 2 (40.00%)
# Lower Closes 153 (61.20%) 3 (60.00%)

Total Gains/Losses $-13.08 (-0.09%) $-1.82 (-0.33%)
Average True Range (3.16%) (1.70%)

* Results are cumulative for the period.

Russell 3000 Weekly Stats (01/25/10-01/29/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 30 (0.20%) 0 (0.00%)
# All-time Closing Lows 23 (0.15%) 0 (0.00%)

# Higher Closes 5790 (38.87%) 2 (40.00%)
# Lower Closes 8795 (59.05%) 3 (60.00%)

Total Gains/Losses $-1569.99 (-0.43%) $-1.21 (-0.38%)
Average True Range (3.93%) (1.72%)

* Results are cumulative for the period.

Price verification found 0 errors

Friday, January 29, 2010

Russell 3000 Daily Stats (01/29/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 7 (0.23%) 0 (0.00%)
# All-time Closing Lows 8 (0.27%) 0 (0.00%)

# Higher Closes 893 (29.98%) 0 (0.00%)
# Lower Closes 2014 (67.61%) 1 (100.00%)

Total Gains/Losses $-719.60 (-0.99%) $-0.76 (-1.19%)
Average True Range (4.31%) (2.45%)

* Results are cumulative for the period.

Price verification found 0 errors

Thursday, January 28, 2010

Russell 3000 Daily Stats (01/28/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 10 (0.34%) 0 (0.00%)
# All-time Closing Lows 5 (0.17%) 0 (0.00%)

# Higher Closes 493 (16.55%) 0 (0.00%)
# Lower Closes 2451 (82.28%) 1 (100.00%)

Total Gains/Losses $-982.74 (-1.33%) $-0.79 (-1.23%)
Average True Range (4.26%) (2.20%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, January 27, 2010

Russell 3000 Daily Stats (01/27/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 9 (0.30%) 0 (0.00%)
# All-time Closing Lows 4 (0.13%) 0 (0.00%)

# Higher Closes 2017 (67.71%) 1 (100.00%)
# Lower Closes 903 (30.31%) 0 (0.00%)

Total Gains/Losses $489.46 (0.67%) $0.32 (0.50%)
Average True Range (3.85%) (1.59%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, January 26, 2010

Russell 3000 Daily Stats (01/26/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 3 (0.10%) 0 (0.00%)
# All-time Closing Lows 5 (0.17%) 0 (0.00%)

# Higher Closes 752 (25.24%) 0 (0.00%)
# Lower Closes 2162 (72.57%) 1 (100.00%)

Total Gains/Losses $-484.78 (-0.66%) $-0.27 (-0.42%)
Average True Range (3.61%) (1.29%)

* Results are cumulative for the period.

Price verification found 0 errors

Portfolio Performance for December 2009

I've missed a few months of posting performance numbers. This post should catch us all up.

Portfolio is still lagging the market. Not by much. I have made a few changes to the portfolio's allocations in late December. Nothing drastic, just pulled a few weeds in the portfolio for tax loss selling.





I have one final module left in the simulation engine to unit test and then I should be free to add the code to report portfolio stats. One goal for 2010 is to post portfolio stats daily like I do the Russell 3000 stats. My other goal for 2010 is to verify a couple of system ideas I've tested recently. If successful, could add coverage to the market I've never had before.

One idea is based off some of the game theory I learned while playing Xbox Live's Modern Warfare 2. In many ways, how you score points in the game is how you make money in the market.

The other idea is one I've been toying with for a few years. How to capture the volatility in the portfolio...or better yet...how to remove it. There are some holes in this idea...so I probably still have a few years to go. Ha.

Later Trades,

MT

Monday, January 25, 2010

Russell 3000 Daily Stats (01/25/10)

Key Figures Russell 3000 IWV
Total Active Components2979 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 1 (0.03%) 0 (0.00%)
# All-time Closing Lows 1 (0.03%) 0 (0.00%)

# Higher Closes 1635 (54.88%) 1 (100.00%)
# Lower Closes 1265 (42.46%) 0 (0.00%)

Total Gains/Losses $127.67 (0.17%) $0.29 (0.45%)
Average True Range (3.63%) (1.06%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, January 24, 2010

Russell 3000 Weekly Stats (01/19/10-01/22/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 60 (0.50%) 0 (0.00%)
# All-time Closing Lows 3 (0.03%) 0 (0.00%)

# Higher Closes 3974 (33.34%) 1 (25.00%)
# Lower Closes 7756 (65.06%) 3 (75.00%)

Total Gains/Losses $-2461.57 (-0.81%) $-2.43 (-0.91%)
Average True Range (4.02%) (1.98%)

* Results are cumulative for the period.

Price verification found 0 errors

Friday, January 22, 2010

Russell 3000 Daily Stats (01/22/10)

Key Figures Russell 3000 IWV
Total Active Components2980 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 1 (0.03%) 0 (0.00%)
# All-time Closing Lows 2 (0.07%) 0 (0.00%)

# Higher Closes 516 (17.32%) 0 (0.00%)
# Lower Closes 2407 (80.77%) 1 (100.00%)

Total Gains/Losses $-1285.61 (-1.72%) $-1.44 (-2.20%)
Average True Range (4.30%) (2.32%)

* Results are cumulative for the period.

Price verification found 0 errors

Thursday, January 21, 2010

Russell 3000 Daily Stats (01/21/10)

Key Figures Russell 3000 IWV
Total Active Components2980 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 8 (0.27%) 0 (0.00%)
# All-time Closing Lows 1 (0.03%) 0 (0.00%)

# Higher Closes 462 (15.50%) 0 (0.00%)
# Lower Closes 2479 (83.19%) 1 (100.00%)

Total Gains/Losses $-1289.10 (-1.69%) $-1.25 (-1.87%)
Average True Range (4.43%) (2.31%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, January 20, 2010

Russell 3000 Daily Stats (01/20/10)

Key Figures Russell 3000 IWV
Total Active Components2980 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 10 (0.34%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 483 (16.21%) 0 (0.00%)
# Lower Closes 2454 (82.35%) 1 (100.00%)

Total Gains/Losses $-960.98 (-1.25%) $-0.68 (-1.01%)
Average True Range (3.76%) (1.85%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, January 19, 2010

Russell 3000 Daily Stats (01/19/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 41 (1.38%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 2513 (84.30%) 1 (100.00%)
# Lower Closes 416 (13.96%) 0 (0.00%)

Total Gains/Losses $1074.32 (1.41%) $0.94 (1.41%)
Average True Range (3.58%) (1.44%)

* Results are cumulative for the period.

Price verification found 0 errors

Friday, January 15, 2010

Russell 3000 Daily Stats (01/15/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 6 (0.20%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 523 (17.54%) 0 (0.00%)
# Lower Closes 2413 (80.95%) 1 (100.00%)

Total Gains/Losses $-893.97 (-1.16%) $-0.83 (-1.23%)
Average True Range (3.73%) (1.50%)

* Results are cumulative for the period.

Price verification found 0 errors

Thursday, January 14, 2010

Russell 3000 Daily Stats (01/14/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 22 (0.74%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 1675 (56.19%) 1 (100.00%)
# Lower Closes 1219 (40.89%) 0 (0.00%)

Total Gains/Losses $186.24 (0.24%) $0.16 (0.24%)
Average True Range (3.14%) (0.63%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, January 13, 2010

Russell 3000 Daily Stats (01/13/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 24 (0.81%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 2333 (78.26%) 1 (100.00%)
# Lower Closes 591 (19.83%) 0 (0.00%)

Total Gains/Losses $760.83 (1.00%) $0.58 (0.87%)
Average True Range (3.46%) (1.43%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, January 12, 2010

Russell 3000 Daily Stats (01/12/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 7 (0.23%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 611 (20.50%) 0 (0.00%)
# Lower Closes 2303 (77.26%) 1 (100.00%)

Total Gains/Losses $-844.83 (-1.10%) $-0.63 (-0.94%)
Average True Range (3.48%) (1.35%)

* Results are cumulative for the period.

Price verification found 0 errors

Monday, January 11, 2010

Russell 3000 Daily Stats (01/11/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 28 (0.94%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 1374 (46.09%) 1 (100.00%)
# Lower Closes 1524 (51.12%) 0 (0.00%)

Total Gains/Losses $58.64 (0.08%) $0.06 (0.09%)
Average True Range (3.40%) (0.82%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, January 10, 2010

Russell 3000 Weekly Stats (01/04/10-01/08/10)

Key Figures Russell 3000 IWV
Total Active Components2981 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 152 (1.02%) 0 (0.00%)
# All-time Closing Lows 3 (0.02%) 0 (0.00%)

# Higher Closes 8654 (58.06%) 5 (100.00%)
# Lower Closes 5948 (39.91%) 0 (0.00%)

Total Gains/Losses $1926.54 (0.51%) $1.87 (0.56%)
Average True Range (3.62%) (0.96%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, January 03, 2010

Russell 3000 Weekly Stats (12/28/09-12/31/09)

Key Figures Russell 3000 IWV
Total Active Components2984 1
Total New Listings this period0 0
Total Inactive this period2 0
# All-time Closing Highs 116 (0.97%) 0 (0.00%)
# All-time Closing Lows 1 (0.01%) 0 (0.00%)

# Higher Closes 4748 (39.79%) 1 (25.00%)
# Lower Closes 6827 (57.21%) 3 (75.00%)

Total Gains/Losses $-770.22 (-0.25%) $-0.70 (-0.27%)
Average True Range (2.82%) (0.70%)

* Results are cumulative for the period.

Price verification found 0 errors

Friday, January 01, 2010

David Swenson Lecture

So long 2009, Hello 2010!

Let's start the new year right with a great video refresher on long term investing by Yale Endowment hall of famer, David Swenson. It's long but well worth the view. And be sure to watch the Q&A at the end. Some highlights from the lecture:

Swenson covered 3 areas in relation to portfolio returns:
  1. Asset Allocation
  2. Market Timing
  3. Security Selection

Swenson believes Market Timing and Security Selection are actually a negative drag on returns. And Asset Allocation produce over 100% of the returns. Does a nice job explaining this.

Also covers how survivorship & backfill bias makes things seem better than they really are. I was really surprised at some of the numbers he shared on this topic. Based on Swenson's study...I would have thought survivorship bias would impact my long-term trading system's results more than they have.

The best tidbit mentioned in the video was Swenson's coverage of the differences 1st quartile managers generate versus 3rd quartile. In the bond market he found very little difference between the best managers returns and those in the 3rd quartile. But, as he drove down into the more inefficient markets...the differences between the best and the rest grew further apart. Swenson's take: spend time and energy persuing the most inefficiently priced asset classes cause great rewards in finding the top managers.

The final item I took away was from the Q&A session at the end. Swenson worries about the top down but invests from the bottom up. Identifies asset classes that are overpriced or underpriced. Extends his time horizon out 3 or 4 years. Bets big while keeping his asset allocation to the asset class at an annually reviewed level.

Well, that's it from the cold midwest where I plan to spend the first day of the new year: taking the kids to get doughnuts in the morning, hopefully watching snow fall during the day, and enjoying some great fajitas and cervezas for dinner.

Happy New Year,

MT

Thursday, December 31, 2009

Russell 3000 Daily Stats (12/31/09)

Key Figures Russell 3000 IWV
Total Active Components2982 1
Total New Listings this period0 0
Total Inactive this period2 0
# All-time Closing Highs 9 (0.30%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 514 (17.24%) 0 (0.00%)
# Lower Closes 2421 (81.19%) 1 (100.00%)

Total Gains/Losses $-824.73 (-1.09%) $-0.66 (-1.00%)
Average True Range (2.97%) (1.23%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, December 30, 2009

Russell 3000 Daily Stats (12/30/09)

Key Figures Russell 3000 IWV
Total Active Components2984 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 28 (0.94%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 1486 (49.80%) 0 (0.00%)
# Lower Closes 1385 (46.41%) 1 (100.00%)

Total Gains/Losses $64.25 (0.08%) $-0.03 (-0.05%)
Average True Range (2.85%) (0.45%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, December 29, 2009

Russell 3000 Daily Stats (12/29/09)

Key Figures Russell 3000 IWV
Total Active Components2984 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 33 (1.11%) 0 (0.00%)
# All-time Closing Lows 0 (0.00%) 0 (0.00%)

# Higher Closes 1379 (46.21%) 0 (0.00%)
# Lower Closes 1501 (50.30%) 1 (100.00%)

Total Gains/Losses $-16.83 (-0.02%) $-0.07 (-0.11%)
Average True Range (2.60%) (0.42%)

* Results are cumulative for the period.

Price verification found 0 errors

Monday, December 28, 2009

Russell 3000 Daily Stats (12/28/09)

Key Figures Russell 3000 IWV
Total Active Components2984 1
Total New Listings this period0 0
Total Inactive this period2 0
# All-time Closing Highs 47 (1.58%) 0 (0.00%)
# All-time Closing Lows 1 (0.03%) 0 (0.00%)

# Higher Closes 1370 (45.91%) 1 (100.00%)
# Lower Closes 1521 (50.97%) 0 (0.00%)

Total Gains/Losses $7.09 (0.01%) $0.06 (0.09%)
Average True Range (2.85%) (0.68%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, December 27, 2009

Russell 3000 Weekly Stats (12/21/09-12/24/09)

Key Figures Russell 3000 IWV
Total Active Components2986 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 199 (1.67%) 0 (0.00%)
# All-time Closing Lows 5 (0.04%) 0 (0.00%)

# Higher Closes 8324 (69.69%) 4 (100.00%)
# Lower Closes 3279 (27.45%) 0 (0.00%)

Total Gains/Losses $2316.64 (0.78%) $1.46 (0.56%)
Average True Range (3.05%) (0.76%)

* Results are cumulative for the period.

Price verification found 0 errors

Thursday, December 24, 2009

Russell 3000 Daily Stats (12/24/09)

Key Figures Russell 3000 IWV
Total Active Components2986 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 60 (2.01%) 0 (0.00%)
# All-time Closing Lows 1 (0.03%) 0 (0.00%)

# Higher Closes 2039 (68.29%) 1 (100.00%)
# Lower Closes 838 (28.06%) 0 (0.00%)

Total Gains/Losses $380.35 (0.50%) $0.31 (0.47%)
Average True Range (2.25%) (0.53%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, December 22, 2009

Russell 3000 Daily Stats (12/22/09)

Key Figures Russell 3000 IWV
Total Active Components2986 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 37 (1.24%) 0 (0.00%)
# All-time Closing Lows 3 (0.10%) 0 (0.00%)

# Higher Closes 1854 (62.09%) 1 (100.00%)
# Lower Closes 1047 (35.06%) 0 (0.00%)

Total Gains/Losses $526.43 (0.71%) $0.32 (0.49%)
Average True Range (3.11%) (0.64%)

* Results are cumulative for the period.

Price verification found 0 errors

Monday, December 21, 2009

Russell 3000 Daily Stats (12/21/09)

Key Figures Russell 3000 IWV
Total Active Components2986 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 45 (1.51%) 0 (0.00%)
# All-time Closing Lows 2 (0.07%) 0 (0.00%)

# Higher Closes 2244 (75.15%) 1 (100.00%)
# Lower Closes 680 (22.77%) 0 (0.00%)

Total Gains/Losses $798.05 (1.09%) $0.60 (0.93%)
Average True Range (3.73%) (1.26%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, December 20, 2009

Russell 3000 Weekly Stats (12/14/09-12/18/09)

Key Figures Russell 3000 IWV
Total Active Components2958 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 140 (0.95%) 0 (0.00%)
# All-time Closing Lows 21 (0.14%) 0 (0.00%)

# Higher Closes 7795 (52.70%) 3 (60.00%)
# Lower Closes 6684 (45.19%) 2 (40.00%)

Total Gains/Losses $817.86 (0.23%) $0.13 (0.04%)
Average True Range (3.55%) (0.94%)

* Results are cumulative for the period.

Price verification found 0 errors

Friday, December 18, 2009

Russell 3000 Daily Stats (12/18/09)

Key Figures Russell 3000 IWV
Total Active Components2958 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 31 (1.05%) 0 (0.00%)
# All-time Closing Lows 4 (0.14%) 0 (0.00%)

# Higher Closes 1984 (67.07%) 1 (100.00%)
# Lower Closes 923 (31.20%) 0 (0.00%)

Total Gains/Losses $489.32 (0.68%) $0.44 (0.68%)
Average True Range (4.07%) (1.02%)

* Results are cumulative for the period.

Price verification found 0 errors

Thursday, December 17, 2009

Russell 3000 Daily Stats (12/17/09)

Key Figures Russell 3000 IWV
Total Active Components2958 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 16 (0.54%) 0 (0.00%)
# All-time Closing Lows 3 (0.10%) 0 (0.00%)

# Higher Closes 598 (20.22%) 0 (0.00%)
# Lower Closes 2300 (77.76%) 1 (100.00%)

Total Gains/Losses $-681.92 (-0.94%) $-0.71 (-1.09%)
Average True Range (3.39%) (1.27%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, December 16, 2009

Russell 3000 Daily Stats (12/16/09)

Key Figures Russell 3000 IWV
Total Active Components2958 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 30 (1.01%) 0 (0.00%)
# All-time Closing Lows 4 (0.14%) 0 (0.00%)

# Higher Closes 1886 (63.76%) 1 (100.00%)
# Lower Closes 985 (33.30%) 0 (0.00%)

Total Gains/Losses $461.43 (0.64%) $0.14 (0.22%)
Average True Range (3.38%) (0.72%)

* Results are cumulative for the period.

Price verification found 0 errors

Tuesday, December 15, 2009

Russell 3000 Daily Stats (12/15/09)

Key Figures Russell 3000 IWV
Total Active Components2958 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 24 (0.81%) 0 (0.00%)
# All-time Closing Lows 7 (0.24%) 0 (0.00%)

# Higher Closes 938 (31.71%) 0 (0.00%)
# Lower Closes 1968 (66.53%) 1 (100.00%)

Total Gains/Losses $-355.75 (-0.49%) $-0.32 (-0.49%)
Average True Range (3.41%) (0.77%)

* Results are cumulative for the period.

Price verification found 0 errors

Monday, December 14, 2009

Russell 3000 Daily Stats (12/14/09)

Key Figures Russell 3000 IWV
Total Active Components2958 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 39 (1.32%) 0 (0.00%)
# All-time Closing Lows 3 (0.10%) 0 (0.00%)

# Higher Closes 2389 (80.76%) 1 (100.00%)
# Lower Closes 508 (17.17%) 0 (0.00%)

Total Gains/Losses $905.82 (1.26%) $0.58 (0.90%)
Average True Range (3.48%) (0.90%)

* Results are cumulative for the period.

Price verification found 0 errors

Sunday, December 13, 2009

Russell 3000 Weekly Stats (12/07/09-12/11/09)

Key Figures Russell 3000 IWV
Total Active Components2960 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 75 (0.51%) 0 (0.00%)
# All-time Closing Lows 25 (0.17%) 0 (0.00%)

# Higher Closes 6916 (46.74%) 3 (60.00%)
# Lower Closes 7515 (50.78%) 2 (40.00%)

Total Gains/Losses $-55.50 (-0.02%) $0.09 (0.03%)
Average True Range (3.45%) (0.99%)

* Results are cumulative for the period.

Price verification found 0 errors

Saturday, December 12, 2009

Spanish Water Dog


Found out about Spanish Water Dogs about a year ago. Sounded like a perfect breed of dog for our family. But, they are very rare in the United States. Didn't think we'd be able to get one.

Thankfully, a year later...we found one. A great female from Nebraska.


The whole family is excited.

MT

Thursday, December 10, 2009

Russell 3000 Daily Stats (12/10/09)

Key Figures Russell 3000 IWV
Total Active Components2959 1
Total New Listings this period0 0
Total Inactive this period1 0
# All-time Closing Highs 14 (0.47%) 0 (0.00%)
# All-time Closing Lows 6 (0.20%) 0 (0.00%)

# Higher Closes 1247 (42.14%) 1 (100.00%)
# Lower Closes 1654 (55.90%) 0 (0.00%)

Total Gains/Losses $11.42 (0.02%) $0.31 (0.48%)
Average True Range (3.48%) (0.92%)

* Results are cumulative for the period.

Price verification found 0 errors

Wednesday, December 09, 2009

Russell 3000 Daily Stats (12/09/09)

Key Figures Russell 3000 IWV
Total Active Components2960 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 10 (0.34%) 0 (0.00%)
# All-time Closing Lows 6 (0.20%) 0 (0.00%)

# Higher Closes 1500 (50.68%) 1 (100.00%)
# Lower Closes 1380 (46.62%) 0 (0.00%)

Total Gains/Losses $120.95 (0.17%) $0.26 (0.41%)
Average True Range (3.42%) (1.03%)

* Results are cumulative for the period.

Price verification found 0 errors

For the Love of Books...and Mom

December is bittersweet. A month filled with memories of great holiday traditions. Memories of mom decorating the house for the holidays. She was Swedish, so...the baking of cookies, pies, cupcakes, etc. was around the clock and filled the house with the most amazing smells.

Mom had a love of movies. During Christmas break, we'd spend much of the time catching up on some good movies and eating all those cookies.

Just some really great memories in December. But, December was also the month mom passed away after a long battle with cancer. The day after Christmas to be exact.

And so, I spend the month of December trying to give my kids the great holiday memories mom gave me. Yet, missing mom.

Guess, that's why I enjoyed reading this article about a son stepping up to help his mom's cherished bookstore. Very cool and innovative thing he did. And much luck and success to Broadway Books during this holiday season.

MT

Tuesday, December 08, 2009

Russell 3000 Daily Stats (12/08/09)

Key Figures Russell 3000 IWV
Total Active Components2960 1
Total New Listings this period0 0
Total Inactive this period0 0
# All-time Closing Highs 8 (0.27%) 0 (0.00%)
# All-time Closing Lows 7 (0.24%) 0 (0.00%)

# Higher Closes 671 (22.67%) 0 (0.00%)
# Lower Closes 2230 (75.34%) 1 (100.00%)

Total Gains/Losses $-653.50 (-0.91%) $-0.74 (-1.15%)
Average True Range (3.69%) (1.44%)

* Results are cumulative for the period.

Price verification found 0 errors