Please read the disclaimer at the bottom of this page

Saturday, June 30, 2007

C2 seems to grow fast

C2 launched a new data api this week and I finally allowed myself some time to play with it. The api makes it possible to download pretty much the entire C2 database of system statistics. The graph below is a first result of hopefully a lot more interesting analysis (if time permits...). At first glance it seems to show a successful stock or perhaps a trading system, but nothing could be further from the truth: The graph shows the number of newly added systems available on C2 during the last 30 days, tracked over time. Thus, during the past 30 days, more than 200 new systems appeared on C2, a record! This is quite a contrast with the number available at the start, almost 4 years ago. As you can see, in the first month only about 20 systems were available. Apparently starting 2005 things really took off, and since then an average of about 100 systems was added each month, with a record for the most recent month. Hopefully many of these new systems will produce some high-sharpe, straight-line equity curves...

(click on picture to enlarge...)

New portfolio weights

On Monday, I'm updating the weights of the systems in my portfolio.
The last update was a month ago, and at that time the new weights were:
extreme-os 127%
Weekend Trader 53%
Trend Plays #1 20%

This Monday, I will adjust these to:
extreme-os 88%
Weekend Trader 45%
Trend Plays #1 67%

Remember that the weights sum up to 200%, which represents 2:1 leverage. My subscription for extreme-os ends in a few weeks, and at that time I will replace extreme-os by another system.

The reason for the substantial changes is that I allowed the weight of Trend Plays #1 to go up to its "optimum" (from my calculations). I didn't allow this previously (deliberately limiting the weight first to 10% in May, then to 20% in June) because I found its length of history still quite short. The track record is now well over a year, and I feel more confident increasing the weight.

Tuesday, June 26, 2007

Terminating auto trading

Due to a series of technical problems experienced over the past months I have decided to limit myself in the future to systems that can be traded manually. A week ago Time Warner Cable had an internet outage resulting in a lost trade for extreme-os (that otherwise would have been profitable), and today the same happened again. Last Friday the C2 server lost its connection for multiple hours (although only partly during the stock trading session) and TradeBullet had occasional freezes on my PC over the past months. In sum, there are too many stages at which an error is possible. By continuing auto trading I would be taking a risk which is not necessary. I also think enough systems currently are available on C2 that do not require auto trading. All this means that pretty soon I will probably replace extreme-os by another system and adjust the portfolio weights.

Monday, June 25, 2007

New Weekend Trader Position

Today there was a new signal for Weekend Trader. The system always enters/exits positions Monday at the open, but I use a different time to avoid the pain of trying to enter/exit positions at the same time the rest of the crowd does. Today it paid off, as I got a slightly better price for both the exit of the old position and the entry for the new position.

Calculating the number of open positions

Sometimes it's convenient to know - on average - how many open positions a system had historically. Subscribers trading just a small number of systems might wish to subscribe to systems that spread risk among multiple positions, while those trading a large number of systems might prefer a smaller number of positions per system to keep transaction fees low.

It's quite easy to calculate the average number of open positions using the following formula:

Avg Trade Length / (# trading days / # trades)

Using the stats currently shown by C2, we can check the formula:

for Weekend Trader (which always has 4 open positions) it's:
39.3 / (610 / 62) = 4

for TMG (always 1 open position):
3.5 / (242 / 68) = 1

Friday, June 22, 2007

Weekend Trader Backtest

I like to stay in regular contact with the vendors of the systems I subscribe to. Many times they are willing to share a lot of information, which will give a better understanding of the system itself, and of signals services in general. The vendor of Weekend Trader recently shared his backtest results, going back to 2000:








The good thing about the backtests is that they show an outperformance of all major indices for every year. On top of that, the system was profitable every year. As you might notice from the 2000 graph, the drawdowns were fairly large (up to 40% at one point). Not as large as the S&P500 (~50%), but nonetheless quite risky.

I think these charts are an excellent example that even a one year real-life trading history on C2 might just tell a tiny part of the story. Another good reason why a portfolio of systems is preferred over trading just one system.

C2 server down

Last night I wasn't able to login to C2, and there was an error message on its website. The message was still there this morning. I hope it doesn't mean the server was not accessible all night, because a lot of forex and futures vendors/subscribers will probably be unhappy about that. When I picked my systems, I wanted the portfolio to be robust against technical failure, which is paying off today, as most of my stock positions can stay open safely during a C2 server outage.

edit: It seems to be back on-line now

Thursday, June 21, 2007

Down Day

We had a bit of a down day today. Performance statistics are coming down to more reasonable levels. It's the unavoidable risk we have to take in order to reap rewards later on. Most important: sticking to the system. Note that even though the drawdown might look a bit steep, our portfolio backtest (without the hedge) showed drawdowns up to 10%.

Wednesday, June 20, 2007

Missed trade extreme-os

Today I missed an extreme-os trade due to an outage of my Time Warner Cable internet connection. I had to follow the signals manually from a laptop (instead of using TradeBullet on my main PC) and couldn't get in soon enough without getting substantial slippage. It's always a tough call if you're better off taking the slippage or passing (with the possibility of missing out on a profitable trade). We'll find out tomorrow.

Monday, June 18, 2007

Rolling Correlations

We had an interesting discussion today on the C2 forum, and the suggestion was made that correlations (between the returns of trading systems) tend to be unstable over time. To make this visible, you can draw rolling correlations. I.e. to obtain a 50-day rolling correlation, you'd take the returns of two trading systems from day 1 to 50 and calculate the correlation, then take the returns from day 2 to 51 and calculate the next correlation and repeat this until you reach the current date. The result is a curve as shown in red in the figure below.



Besides calculating the 50-day rolling correlation, I also estimated a 95% confidence interval (using a simple bootstrap with 1,000 replications), of which the upper and lower limits are shown in blue.

We can see that the 50-day correlation between extreme-os and Weekend Trader varied between about -0.10 and +0.50, and has increased notably in the past few months (which is not good). This is something I'm probably going to monitor a bit more regularly. (Note that I am trading a modified version of extreme-os, and that the returns on which these correlations are based reflect a backtest of this modified version).

Let's look at the 50-day rolling correlations between the other 2 systems in my portfolio:



The figure seems to suggest extreme-os and Trend Plays #1 have become less correlated over time (which is good!). Finally, 50-day correlations between Weekend Trader and Trend Plays #1 tend to have followed a somewhat cyclical pattern.

Friday, June 15, 2007

Evaluating the hedge

After two weeks with the new hedge in place (Sep SPY puts, strike 144), it's time to do a little evaluation. The figure shows the ROI of the hedged portfolio (purple) and the value of the portfolio minus the value of the puts (i.e. unhedged, grey), starting June 1. We can see the hedge worked very well in reducing drawdown and volatility of the portfolio.

Because we have been in constant drawdown since June 1, but the drawdown did not exceed the allowable S&P drawdown of 6%, there was no need to adjust the hedge. In case the S&P would move up in the coming days, we would have to adjust the hedge from a 144 strike to a higher strike. Because this is costly (we pay the spread and transaction costs), I will readjust on a weekly basis and only if there is indeed a substantially higher top in the S&P.

Thursday, June 14, 2007

Some rest for the CPU

A reader brought to my attention that his cpu was working at 100% when browsing my blog through Internet Explorer. It turned out the ticker running on the top of the page was the cause of the problem, so I have removed it.

Wednesday, June 13, 2007

extreme-os modification (3)

Today I had three more exits for extreme-os trades. No problems with applying the alternative exit rules I developed, so they seem to work well.

Tuesday, June 12, 2007

Too good to be true?

Looking at the P/L curve, Sharpe ratio and DD so far, one might wonder: Doesn't this look too good to be true?

The short answer is: Yes, definitely! Because the history is fairly short, there's not much value to these statistics yet. To understand this, the graph below might be helpful. It shows the Sharpe ratio computed for each of the past 16 trading days, given the realized return up to that date, starting with 5 days. Thus, the left-most point on the graph shows the Sharpe ratio based on the first 5 returns, the next point shows the Sharpe ratio based on the first 6 returns etc. I also estimated a 95% confidence interval for each day (using a non-parametric bootstrap with 10,000 replications). The red line shows the Sharpe ratio, the blue lines mark the upper and lower bounds of the confidence interval.



What we can see from the graph is that as more observations (days) are added in the estimation of the Sharpe ratio, the confidence intervals narrows. Still, even a small loss of 1% on day 15 has a strong effect on the Sharpe ratio itself (downwards) and confidence interval (it widens).

I'm pretty sure we will see (although infrequent) 1-day gains and losses up to 4%, and possibly more, so the current Sharpe ratio does indeed look too good to be true. Nonetheless, results so far are quite encouraging.

Friday, June 8, 2007

extreme-os modification (2)

As I wrote earlier this week, I think I found a rule that will allow me to get a better exit for extreme-os, compared to the exit signals issued by the vendor (taking into account that the latter generate substantial slippage).

As I explained, this week and next week will serve as an experimental phase in which I will try the new exit strategy on a dozen of trades to see if it works in practice.

Today I was able to execute the first 4 trades using the new exit rule, and it seems to work well. On average I had a better exit price than the hypothetical fills shown by C2. Whereas my fills previously on average were 0.16% worse than the C2 fills, my fills using the new exit rule so far have been better on average than the ones shown by C2.

So, I'll continue the experiment next week and keep you updated.

Thursday, June 7, 2007

Trading Strategy

I've noticed a lot of people have visited my blog over the past weeks. As the number of posts grows, it might be harder for new visitors to get a good understanding of what I'm up to. Therefore I'm going to summarize my strategy every once in a while, so everyone can keep a good oversight. So here it goes:

1. All trades are based on signals from 3rd party vendors
There's a large amount of signal services, newsletters and black box trading systems available and my task is to pick the best ones. I believe 99% is probably not worth trading; I'm going after the remaining 1%. For now, I limit myself to systems offered through Collective2 (I'm not a vendor myself) because the track record is verified independently. I do a lot of research that should help to pick the best systems in terms of reward and risk.

2. Multiple systems are traded simultaneously to spread risk
I use portfolio optimization tools to construct a portfolio of systems (similar to the way one would construct a portfolio of stocks), using the historical returns for each of the systems. Typically only the entries and exits of the trades are available, but not the historical returns. Therefore I have written my own software that allows me to reconstruct the system's equity curve from the entries and exits posted for the individual trades. The idea is that if systems are uncorrelated, it is unlikely that they are all in drawdown at the same time (besides drawdowns resulting from a decline of the broader market, see next point). Thus, the drawdowns of the portfolio are expected to be smaller than the drawdowns of the individual systems, resulting in a smoother equity curve.

3. The entire portfolio is hedged
It is hedged against a possible large decline in the broader market. Even though systems might be fairly uncorrelated with each other, there is still the fact that they correlate to some extent with the broader market. This is especially the case when many systems are trading long-only positions in stocks or index futures. To hedge against a sudden sell-off or longer-term bear market I am holding a set of put options (e.g. SPY, DIA or QQQQ) in addition to the positions generated by the systems.

4. If possible, I try to search for improvements in the systems
This is a new area, and I've started my first attempts fairly recently. The idea is to make slight modifications to the signals in terms of timing or volume if that would lead to higher expected returns or lower expected risk.


Miscellaneous:
- The systems I subscribe to are listed (with links) on the right hand side of this blog, directly underneath the P/L graph. Check them out, you will find a lot of additional information on these systems by following the links. Again, I am not the developer/vendor of these systems, but a subscriber.
- Some systems require "auto trading", which means that a program called "TradeBullet" runs on my PC, gets the signals from the Collective2 server and translates them into orders submitted by api to TWS (Interactive Brokers); other systems can be traded manually, as they typically generate orders before the market opens and timing is less critical. I make a big effort to replicate the signals as close as possible in my account.
- Please read the disclaimer at the bottom of this blog

Portfolio Performance Statistics

I thought it might be useful to provide a little background on the portfolio performance statistics shown on the right. The P/L curve shows:

(equity[day t] / equity[day 1] - 1) x 100%

in other words, it shows the total percentage gain in equity since I started this blog on 5/21/2007. This is the equity after interest, slippage and commissions and includes the value of the put options I use as a hedge.

Note that my net profits are smaller as my account equity does not include certain costs, such as: C2 system subscription fees, operating costs (e.g. cable internet) and taxes.

The Sharpe ratio is calculated as:

mean(R - Rf) / sd(R) x sqrt(250)

where:
- R is the series of daily returns, calculated as: equity[t] / equity[t-1]
- Rf is a fixed daily risk-free rate: 1.04 ^ (1 / 250)

For simplicity I assume a year has 250 trading days.

The max drawdown is calculated using end-of-day account equity and the number of days shown refers to trading days, not calendar days.

Wednesday, June 6, 2007

Portfolio up, S&P500 down (2)

Another day on which the S&P500 lost close to 1%, while the portfolio shows a decent profit, similar to what happened on May 24. I now have a nice profit on the put option hedge, so it seems to be doing a good job.

Tuesday, June 5, 2007

extreme-os modification

It is well known that subscribers are not able to match extreme-os performance as shown on C2, due to slippage. Slippage happens both for the entries and exits, but slippage is about twice as large for the exits as the entries. Since entries are mechanical and exits discretionary, an interesting question is whether a subscriber can do a better job himself on finding the best exit compared to the vendor. In that case one could do an automatic entry (using auto trading) and manual exit.

I think I might have discovered a rule that outperforms the exits issued by the vendor (taking into account the slippage they generate). I am planning to test this rule on a limited number of trades this week, to see if it works as I expect it to work.

As a result, the profits for this week generated through extreme-os trades in my portfolio might not exactly match the profits most other subscribers would experience.

We'll see how it goes...

Monday, June 4, 2007

TradeBullet and options

TradeBullet is a fantastic application for auto trading, but it apparently is not really designed for options. Today we discovered that a possible reason why the application sometimes freezes on my PC is that I have an open option position in my IB account. To avoid these freezes in the future, I will see if I can open a second IB account just for the purpose of the options (hedge), such that TradeBullet won't easily get confused. As always their customer service was great.