Exit trades/Resume trading when portfolio drawdown curve crosses x% threshold
Author: tedclimo
Creation Date: 12/22/2010 6:20 AM
profile picture


I read thru all the posts/Wiki I could find on the matter. Also examined the 3 Pos-Sizers related to 'Trading the Equity Curve.
So here's my question:
Will 6.1 have any capability to actually exit trades when portfolio drawdown reaches -X%(as an example) then resume trading when portfolio drawdown rises above -Y% later on?

My hold time averages 60-90 days.... so by the time "Trading the Equity Curve" Pos-Sizer kicks in, it's too late. The damage is done.

Today, I create a watchList in Active TraderPro to monitor portfolio DD(& act accordingly), but would be better if I could see/simulate various scenarios historically.... so less guessing and more factual rule-based decision-making in play.

Thanks for all you do.

Happy Holidays!!!
profile picture


Ted, WL6.x will hardly have any capability to exit an existing Position when portfolio drawdown reaches -X% because PosSizers can not and will not exit (or enter) trades. They can only affect the position size of the next trade, or reject it completely - just not the current trade.

One option is to use this unsupported solution:

WealthScript Techniques | Interacting Dynamically with Portfolio Level Equity

Also you might want to take a look at one of these PosSizers:

Limit Monthly Drawdown
Drawdown / Runup

If my memory serves me right, resuming trading when portfolio value rises back some X% isn't an option. Introducing it to some of the PosSizers might be a worthy idea, so I'll mark it for investigation later next year.
profile picture


Thanks for putting "Resume Trading" on the 'Pos-Sizer...To Do' list for later next year. I believe this to be an important add to anyone trading the portfolio "equity/drawdown" curves.

In a perfect Simulation world, one could use drawdown curves to introduce a hedge(rather than just cease/resume trading. Hedges (for long only scripts) might include BGZ(inverse 3x ETF or S&P PUTs) whenever portfolio DD exceeded -X% and then remove those hedges once portfolio(excluding hedge) rose above -Y%. Who knows, pehaps one day WLP will be capable of a "Supported" hedging feature at the portfolio level. Food for thought.

Meanwhile, I'll pass on any unsupported techniques. Thanks anyway.

You guys rock,
Happy Holidays!
profile picture


<< resuming trading when portfolio value rises back some X% >>

What happens if you use this option but have exited all Positions? There will be nothing (except perhaps interest on cash) to raise the equity curve back about X%!
profile picture


Excellent question!
Although not possible today, Here's how I imagine it working.
Today, the practical workaround is as follows:
The particular model I am working with rotates positions every End of Quarter.
The day the model(& Simulator) says to rotate, I establish a watchlist in ATP to mirror what Simulator is doing.
Then let's assume a 10% DD occurs(portfolio wide)which would also be mirrored in Simulator(& appropriate Pos-Sizing). In live trading(at this point), I exit trades. Yet at same time, ATP watchlist continues on, along with Simulator(neither aware that I exited) and consequently both continue to monitor what the DD would have been had I stayed in.. Once ATP watchlist(&/or Simulator) suggests that we are above 10% DD, then I re-enter those trades. AGAIN, THIS is the pragmatic workaround.

I'm thinking outside the box here, but if Simulator could run a 'pseudo parallel' model that never exits/enters at X/Y% DD, then the Simulator would know when to start trading again. So in essense, the Simulator is running parallel models, One for the script itself & another script that turns trading on & off when the orig script reaches/overcomes X or Y% DD levels.

I realize this is not possible today, just giving the community food for thought on the possiblities of managing the DD curve at a portfolio level.
profile picture


On a second thought, what you're proposing i.e. resume trading after shutting it down doesn't seem feasible. The way Wealth-Lab is designed, it works with the raw list of positions created by a system and only then applies the money management overlay (PosSizers et al).

A system actually has to trade its way through the drawdown to build the equity curve so to say. Otherwise if you just disable the checkbox "Reduce/Increase size..." in the PosSizer, the system will in fact shut down its trading and will never resume it.

Limit Monthly Drawdown is an exception. This PosSizer can shut down trading because it doesn't depend on the equity curve derivatives such as drawdown percentage or Moving Average crossings. It will resume taking trades next month just because the event is inevitable.

Perhaps a PosSizer could calculate and maintain its own "shadow" equity curve based on the raw list of Positions. That's by no means a trivial change to the code, and I don't have plans to research/implement it.