Dynamic Portfolio Balancing Project
Posted: Tue Sep 16, 2008 5:58 pm
I thought I'd post a project I'm undertaking on this board. It's a work in progress and mainly just an exploratory exercise to see what can be done mixing and matching equity curves and adjusting position sizes dynamically. I'm posting some of this here as I'm hoping to get some constructive feedback that might stimulate new ideas. Who knows where this might go, right? The sky is the limit.
I've spent a few years, off and on, designing and testing systems in Matlab. I've yet to come up with anything that really knocks my socks off. I can get MAR ratios over 2 for 20 year periods, but I feel like I get some of those ratios because of the frequency of the system I choose and the portfolio I choose -- not because there is anything special about what I've designed. Most of these systems are moving average based, time based breaks outs, volatility based breakouts, etc. -- trend following to a large degree.
I've noticed that typical trend following systems with typical portfolios over the last few years have become increasingly volatile. From what I've noticed in my tests, it is mainly because a lot of these instruments have become more noisy (more noisy at the entry points and less follow through) and they've correlated with each other to a much larger degree in the past. The most common approach I've seen to combat this problem is to add different markets to the portfolio. I don't like this approach as I think it is just a band-aid instead of a "real" fix for the problem. I'd rather try to take a "lousy" portfolio and try to make the performance better by adjusting my portfolio and position sizing, but I guess that's just my opinion.
So what I want to do is the following:
1) Take a relatively "lousy" trend following portfolio (something that did pretty good in the 90s but got hit with degrading performance in terms of return and drawdown in the recent years).
2) Generate a lot of different equity curves by applying trending following techniques to each instrument of varying degrees of frequency (think 10 day breaks, then 20 day breakouts, then 30 day breakouts, etc.).
3) Take all of these equity curves and try to dynamically mix and match them at different times and weightings to produce a "superior" (in terms of return and drawdown) equity curve.
This is a "proof of concept" project and some of what I might do in my testing might be difficult to implement in real time (resizing on the close using information from the current day -- things like that). If I find that the results have some promise, I would then look at ways to adjust what I'm doing to make it easier to implement.
Again, this is a work in progress. I'll report back what I do and what I find and please feel free to give any feedback you might have as that is what I'm hoping to get by posting this project here.
Jason
I've spent a few years, off and on, designing and testing systems in Matlab. I've yet to come up with anything that really knocks my socks off. I can get MAR ratios over 2 for 20 year periods, but I feel like I get some of those ratios because of the frequency of the system I choose and the portfolio I choose -- not because there is anything special about what I've designed. Most of these systems are moving average based, time based breaks outs, volatility based breakouts, etc. -- trend following to a large degree.
I've noticed that typical trend following systems with typical portfolios over the last few years have become increasingly volatile. From what I've noticed in my tests, it is mainly because a lot of these instruments have become more noisy (more noisy at the entry points and less follow through) and they've correlated with each other to a much larger degree in the past. The most common approach I've seen to combat this problem is to add different markets to the portfolio. I don't like this approach as I think it is just a band-aid instead of a "real" fix for the problem. I'd rather try to take a "lousy" portfolio and try to make the performance better by adjusting my portfolio and position sizing, but I guess that's just my opinion.
So what I want to do is the following:
1) Take a relatively "lousy" trend following portfolio (something that did pretty good in the 90s but got hit with degrading performance in terms of return and drawdown in the recent years).
2) Generate a lot of different equity curves by applying trending following techniques to each instrument of varying degrees of frequency (think 10 day breaks, then 20 day breakouts, then 30 day breakouts, etc.).
3) Take all of these equity curves and try to dynamically mix and match them at different times and weightings to produce a "superior" (in terms of return and drawdown) equity curve.
This is a "proof of concept" project and some of what I might do in my testing might be difficult to implement in real time (resizing on the close using information from the current day -- things like that). If I find that the results have some promise, I would then look at ways to adjust what I'm doing to make it easier to implement.
Again, this is a work in progress. I'll report back what I do and what I find and please feel free to give any feedback you might have as that is what I'm hoping to get by posting this project here.
Jason