Key Figures | TaylorTrade | SPY |
---|---|---|
Active Components | 29 | 1 |
Entries this period | 0 | 0 |
Exits this period | 0 | 0 |
IPOs this period | 0 | 0 |
Inactive this period | 0 | 0 |
Missing in PriceDB | 0 | 0 |
# 1yr Closing Highs | 3 (2.07%) | 0 (0.00%) |
# 1yr Closing Lows | 0 (0.00%) | 0 (0.00%) |
50sma > 200sma | 137 (94.48%) | 5 (100.00%) |
50sma <= 200sma | 8 (5.52%) | 0 (0.00%) |
# Higher Closes | 85 (58.62%) | 2 (40.00%) |
# Lower Closes | 60 (41.38%) | 3 (60.00%) |
Total Gains/Losses | $32.12 (0.41%) | $1.38 (0.26%) |
Average True Range | (2.93%) | (1.66%) |
The critical ingredient is a maverick mind. Focus on trading vehicles, strategies and time horizons that suit your personality. In a nutshell, it all comes down to: Do your own thing (independence); and do the right thing (discipline). -- Gil Blake
Sunday, February 14, 2010
TaylorTrade weekly Stats (02/08/10-02/12/10)
Russell 3000 Weekly Stats (02/08/10-02/12/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2975 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 2 | 0 |
# All-time Closing Highs | 38 (0.26%) | 0 (0.00%) |
# All-time Closing Lows | 39 (0.26%) | 0 (0.00%) |
# Higher Closes | 8768 (58.95%) | 3 (60.00%) |
# Lower Closes | 5747 (38.64%) | 2 (40.00%) |
Total Gains/Losses | $1593.90 (0.45%) | $0.90 (0.29%) |
Average True Range | (3.71%) | (1.69%) |
Price verification found 0 errors
Friday, February 12, 2010
Russell 3000 Daily Stats (02/12/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2974 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 0 |
# All-time Closing Highs | 14 (0.47%) | 0 (0.00%) |
# All-time Closing Lows | 7 (0.24%) | 0 (0.00%) |
# Higher Closes | 1804 (60.66%) | 1 (100.00%) |
# Lower Closes | 1092 (36.72%) | 0 (0.00%) |
Total Gains/Losses | $316.38 (0.44%) | $0.06 (0.09%) |
Average True Range | (3.63%) | (1.52%) |
Price verification found 0 errors
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
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.
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:
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 Components | 2975 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Wednesday, February 10, 2010
Russell 3000 Daily Stats (02/10/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2975 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, February 09, 2010
Russell 3000 Daily Stats (02/09/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2975 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Monday, February 08, 2010
Russell 3000 Daily Stats (02/08/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2975 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 2 | 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%) |
Price verification found 0 errors
Sunday, February 07, 2010
TaylorTrade weekly Stats (02/01/10-02/05/10)
Key Figures | TaylorTrade | SPY |
---|---|---|
Active Components | 29 | 1 |
Entries this period | 0 | 0 |
Exits this period | 0 | 0 |
IPOs this period | 0 | 0 |
Inactive this period | 0 | 0 |
Missing in PriceDB | 0 | 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%) |
Russell 3000 Weekly Stats (02/01/10-02/05/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Friday, February 05, 2010
Russell 3000 Daily Stats (02/05/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2977 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 2 | 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%) |
Price verification found 0 errors
Thursday, February 04, 2010
Russell 3000 Daily Stats (02/04/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Wednesday, February 03, 2010
Russell 3000 Daily Stats (02/03/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, February 02, 2010
Russell 3000 Daily Stats (02/02/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Monday, February 01, 2010
Russell 3000 Daily Stats (02/01/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Sunday, January 31, 2010
TaylorTrade weekly Stats (01/25/10-01/29/10)
Key Figures | TaylorTrade | SPY |
---|---|---|
Active Components | 29 | 1 |
Entries this period | 0 | 0 |
Exits this period | 0 | 0 |
IPOs this period | 0 | 0 |
Inactive this period | 0 | 0 |
Missing in PriceDB | 0 | 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%) |
Russell 3000 Weekly Stats (01/25/10-01/29/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
Price verification found 0 errors
Friday, January 29, 2010
Russell 3000 Daily Stats (01/29/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Thursday, January 28, 2010
Russell 3000 Daily Stats (01/28/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Wednesday, January 27, 2010
Russell 3000 Daily Stats (01/27/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, January 26, 2010
Russell 3000 Daily Stats (01/26/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
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
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 Components | 2979 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
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 Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Friday, January 22, 2010
Russell 3000 Daily Stats (01/22/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2980 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Thursday, January 21, 2010
Russell 3000 Daily Stats (01/21/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2980 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Wednesday, January 20, 2010
Russell 3000 Daily Stats (01/20/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2980 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
Price verification found 0 errors
Tuesday, January 19, 2010
Russell 3000 Daily Stats (01/19/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Friday, January 15, 2010
Russell 3000 Daily Stats (01/15/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Thursday, January 14, 2010
Russell 3000 Daily Stats (01/14/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Wednesday, January 13, 2010
Russell 3000 Daily Stats (01/13/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, January 12, 2010
Russell 3000 Daily Stats (01/12/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Monday, January 11, 2010
Russell 3000 Daily Stats (01/11/10)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
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 Components | 2981 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
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 Components | 2984 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 2 | 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%) |
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:
- Asset Allocation
- Market Timing
- 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 Components | 2982 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 2 | 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%) |
Price verification found 0 errors
Wednesday, December 30, 2009
Russell 3000 Daily Stats (12/30/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2984 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, December 29, 2009
Russell 3000 Daily Stats (12/29/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2984 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Monday, December 28, 2009
Russell 3000 Daily Stats (12/28/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2984 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 2 | 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%) |
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 Components | 2986 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Friday, December 25, 2009
Thursday, December 24, 2009
Russell 3000 Daily Stats (12/24/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2986 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, December 22, 2009
Russell 3000 Daily Stats (12/22/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2986 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Monday, December 21, 2009
Russell 3000 Daily Stats (12/21/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2986 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
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 Components | 2958 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
Price verification found 0 errors
Friday, December 18, 2009
Russell 3000 Daily Stats (12/18/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2958 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Thursday, December 17, 2009
Russell 3000 Daily Stats (12/17/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2958 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Wednesday, December 16, 2009
Russell 3000 Daily Stats (12/16/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2958 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Tuesday, December 15, 2009
Russell 3000 Daily Stats (12/15/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2958 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 0 | 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%) |
Price verification found 0 errors
Monday, December 14, 2009
Russell 3000 Daily Stats (12/14/09)
Key Figures | Russell 3000 | IWV |
---|---|---|
Total Active Components | 2958 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
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 Components | 2960 | 1 |
Total New Listings this period | 0 | 0 |
Total Inactive this period | 1 | 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%) |
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
Subscribe to:
Posts (Atom)