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

What's an Outsider to do?

I avoid watching all news programs...especially related to the market and economy. Avoid reading newspapers and for the most part news bloggers. My one exception is Howard Lindzon. I read him for his take on the entrepreneurial spirit...but with it have to eat the occasional brussel sprout when he starts pawing at the market's ups and downs.

Same goes with people. Typically, talk very little about the market to others. And rarely hear more than a peep or two about the market from others in the water cooler discussions.

That is until now. This recent market debacle has really changed things. Howard is causing me to eat mucho brussel sprouts. My wife is hearing about the market on Dr. Phil & Oprah of all things. And even my programming bloggers are discussing the economy and the hoozy whatsits of the markets.

So, what's an outsider to do? Well, we should ask ourselves what a maverick would do and do that. Or watch these videos for inspiration...





If those don't make you laugh...just remember my fellow mavericks...this too shall pass.

Later Trades,

MT

Thursday, October 09, 2008

What I'm Researching...


Tips For Barplots in R

Posted: 08 Oct 2008 12:27 PM CDT

examples of barplotting in R - color the bars, horizontal axis, stacked bar graph, and side by side graphs.

R Functions and Procedures We Should Know

Posted: 08 Oct 2008 12:26 PM CDT

common functions in R - just a brief command set.

Gmail, Weather, Beauty on your Ubuntu Desktop | Quick Tweaks

Posted: 08 Oct 2008 11:59 AM CDT

very cool desktop for ubuntu.

Wednesday, October 08, 2008

What I'm Researching...


Linus' blog: .. so I got one of the new Intel SSD's

Posted: 07 Oct 2008 10:02 PM CDT

great analysis on evaluating SSD hard drives. read the comments for more info. as an aside...linus has a blog...cool.

pymc - Google Code

Posted: 07 Oct 2008 12:45 PM CDT

monte carlo in python? looks worth exploring further.

Tuesday, October 07, 2008

What I'm Researching...


The Sect of Homokaasu - The Rasterbator

Posted: 07 Oct 2008 01:45 AM CDT

Cool, print huge posters from normal paper - software breaks up images to fit on 8.5 x 11 paper. Hat-tip to my wife for finding this site.

PerTrac Support - Statistics

Posted: 06 Oct 2008 12:43 PM CDT

Great site covering formulas of investment stats. Useful for coding the performance part of the testing platform.

pickle(cPickle) vs numpy tofile/fromfile - Python - Snipplr

Posted: 05 Oct 2008 11:09 PM CDT

interesting code snippet comparing performance of cpickle and numpy to/from file routines. been thinking about this lately...using numpy directly or cpickle instead of using a bloated dbms for persistent storage of time series on the testing platform.

HintsForSQLUsers - Hierarchical Datasets in Python

Posted: 05 Oct 2008 11:06 PM CDT

covers many of the faq of SQL developers when developing with PyTables.

EasyvizDocumentation - scitools - Google Code - Easyviz Documentation

Posted: 05 Oct 2008 09:55 PM CDT

Python plotting interface to various backend plotting engines: Gnuplot, Matplotlib, Grace, Veusz, PyX, VTK, VisIt, OpenDX, and a few more. Seems like a fairly straight-forward interface. And choosing the backend used is a one-line import statement. Interesting.

PyX - Python graphics package

Posted: 05 Oct 2008 12:25 PM CDT

looks like a dead-simple plotting library in python to produce pub quality pdf/ps images. Need to explore.

Sunday, October 05, 2008

What I'm Researching...


TinyMCE - Home

Posted: 05 Oct 2008 12:12 AM CDT

WYSIWYG Javascript WYSIWYG editor - haven't tried it...but may be worth testing on a new project of mine.

PyTables - Hierarchical Datasets in Python

Posted: 04 Oct 2008 01:35 PM CDT

the original python interface to the HDF5 library. Have tested this before...need to test again using new architecture. Original tests found speeds that were equivalent to SQLite but of course slower than CSV files.

Python bindings for the HDF5 library — h5py v0.3.1 documentation

Posted: 04 Oct 2008 01:33 PM CDT

a python interface to the excellent HDF5 library. worth testing in project.

Dive into Erlang

Posted: 04 Oct 2008 12:24 PM CDT

enjoyed reading this guy's take on Erlang. Of course, he had me with quoting Unix philosophy, "Do one thing and do it well."

Optimal RAID setup for SQL server - Stack Overflow

Posted: 04 Oct 2008 10:35 AM CDT

Excellent Q&A on choosing the optimal RAID config for disk i/o performance. By the by, stackoverflow is an awesome site for programmers!!!

Saturday, October 04, 2008

What I'm Researching...


R Colors Chart(pdf)

Posted: 03 Oct 2008 11:45 PM CDT

breaks down the colors available to R - both number and symbolic name.

One R Tip A Day: barplot

Posted: 03 Oct 2008 11:29 PM CDT

Great examples of barplots in R.

Dabbleboard - Online whiteboard for drawing & team collaboration

Posted: 03 Oct 2008 12:59 PM CDT

Awesome drawing application - auto-recognizes shapes and smooths lines from raw drawings. Great tool for flowcharting, room designs, etc.

ode Like a Pythonista: Idiomatic Python

Posted: 29 Sep 2008 09:21 PM CDT

takes the basics of python up a notch. definitely pay attention to the dictionary and advanced string formatting examples.

My no-server personal wiki—Part 3 - And now it’s all this

Posted: 02 Oct 2008 11:18 PM CDT

Describes in detail how to design a personal wiki. I enjoyed reading the design...I've built a similar html document system in the past. But, never added the markdown features. May have to try this out.

Monday, September 29, 2008

What I'm Researching...


InterfaceLIFT: Wallpaper sorted by Date

Posted: 29 Sep 2008 01:05 AM CDT

awesome desktop wallpapers - free download.

Personal Finance Assistance « ActiveState Code

Posted: 28 Sep 2008 03:41 PM CDT

great code example of using python and sqlite.

scipy array tip sheet

Posted: 28 Sep 2008 12:34 PM CDT

brief coverage of constructing, indexing, slicing, and summation of arrays.

Sunday, September 28, 2008

What I'm Researching...


Python/CDAT for Earth Scientists: Tips and Examples

Posted: 28 Sep 2008 01:15 AM CDT

great cookbook covering python & numpy. hat tip to the Smooth blog. Covers plotting, reversing arrays, etc.

Array creation — NumPy v1.2 Reference Guide (DRAFT)

Posted: 28 Sep 2008 01:08 AM CDT

Covers creating arrays in NumPy - covers recarrays. to create recarray: x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', float), ('y', int)]). Then to view as recarray: x = x.view(np.recarray). x.x

NumPy Reference Guide (DRAFT) — NumPy v1.2 Reference Guide (DRAFT)

Posted: 28 Sep 2008 01:00 AM CDT

great reference guide to using NumPy.

http://conference.scipy.org/static/wiki/demo_numpy2.py

Posted: 28 Sep 2008 12:08 AM CDT

example of creating structured arrays in numpy.

SQLite The Hammer

Posted: 27 Sep 2008 01:16 PM CDT

a great resource for SQLite.

Friday, September 26, 2008

What I'm Researching...


Econometrics in R (pdf)

Posted: 26 Sep 2008 01:37 AM CDT

Simple tutorial in R from a finance perspective.

SQLite Optimization FAQ

Posted: 26 Sep 2008 01:27 AM CDT

excellent guide to tuning SQLite. Need to try some of this stuff.

Programming in R

Posted: 26 Sep 2008 01:14 AM CDT

very comprehensive tutorial on R language. Covers plotting, creating functions/classes/methods, parallel programming, optimizations, etc. Great coverage of databases (sqlite).

R Graph Gallery (65) Bollinger Bands

Posted: 26 Sep 2008 12:54 AM CDT

great example of R stock charting.

Reading and Writing Data in R (pdf)

Posted: 26 Sep 2008 12:51 AM CDT

great primer on reading/writing large files in R language.

R functions to read ASCII price series

Posted: 26 Sep 2008 12:34 AM CDT

several functions to read price series in ASCII format.

R CSI Interface

Posted: 26 Sep 2008 12:30 AM CDT

R functions for interacting with the CSI Data platform

R: Econometric tools for performance and risk analysis.

Posted: 25 Sep 2008 03:34 PM CDT

performance analysis library covering the whole gamut of performance and risk analysis functions.

TWiki - the Open Source Enterprise Wiki and Web 2.0 Application Platform

Posted: 25 Sep 2008 12:27 PM CDT

one of the wikis to consider.

TiddlyThemes - Home

Posted: 25 Sep 2008 12:23 PM CDT

cool themes for TiddlyWiki

Thursday, September 25, 2008

What I'm Researching...


Groovy Domain Specific Language Tutorial « InnovationStartups

Posted: 24 Sep 2008 12:50 PM CDT

nice example of a stock trading DSL. Not familiar with Groovy...research more.

Non-Programmer's Tutorial for Python/Contents - Wikibooks, collection of open-content textbooks

Posted: 24 Sep 2008 12:55 AM CDT

Great tutorial on python. - love the format.

The gplots Package (pdf)

Posted: 23 Sep 2008 11:15 PM CDT

another interesting plotting package in R language.

Tuesday, September 23, 2008

Barplot function in R

Much of my backtesting platform is text driven. Not that I'm opposed to graphs...just felt my time was better spent developing the foundation for the platform before adding bells and whistles. Little did I realize how difficult it is to find a simple graphing engine for the platform. Problem is...I'm old school...couldn't care less about flash graphs. Keep it simple.

Since I'm using python...figured I had to give the matplotlib library a try. It is nice...simple...but something was missing. Couldn't put my finger on it. So, dug around and played with the R language plotting libraries. A bit more my speed...though a bit particular in the settings. Anyway, here's a function I wrote to generate bar charts using R with a replacement for pie charts in mind...


#-----------------------------------------------------------------
# Simple bar chart - use instead of pie chart when possible.
#-----------------------------------------------------------------
barPie <- function(xSeries, chTitle="Your Bar Chart", xLab="X Label",
xDesc="%")
{
xSeries <- sort(xSeries)

# save off original settings in order to reset on exit
oldPar <- par(no.readonly=TRUE)

plot.new()

# set page margins in inches
par(mai=c(1,1.5,1,1))


# pad 30% for labels
# start plotting at 0.0 unless negative
if (min(xSeries) < 0.0)
{
xLim = c((min(xSeries) * 1.3), (max(xSeries) * 1.3))
}
else
{
xLim = c(0.00, (max(xSeries) * 1.3))
}

# horizontal barplot in color baby!
bp <- barplot(xSeries, horiz=T,
xlab=xLab, las=1, col=rainbow(length(xSeries)),
xlim=xLim,
axes=F, cex.names=0.7, main=chTitle)

# if x negative then start label at 0.0
# otherwise, start label at value of x.
xVals = ifelse(xSeries < 0.0, 0.0, xSeries)
text(xVals, bp, paste(xSeries, xDesc, sep=""),pos=4, cex=0.65)

# format x axis
xRange <- formatC(pretty(xSeries), 1, format="f")

axis(1, at=xRange, labels=as.character(xRange), cex.axis=0.75)
box()

#restore par value to previous state
on.exit(par(oldPar))
}


Used data from my portfolio to plot sector allocations and called the function...

sectors <- c(10.64,119.83,162.66,66.48,71.78,35.44,32.77,161.17,53.91,
101.81,53.38,231.45,31.24,103.01)
sectors <- round((sectors/sum(sectors)*100.00), 1)

# write to png driver
png("c:/taylortrade/rlang/sectors_test.png")

barPie(sectors, "Sector Allocation", "Pct Allocated")

# stop writing to png driver
dev.off()


And here's the result...