Dangerous strategy with a Martingale example

If the max DD values are not end of day then I have even more questions… such as why does C2 see a max drawdown intraday in the individual trade DD listing that is higher the reported max DD? I presumed this was due to end of day issues. If it sees the DD and reports it on the trade why is it not reported on the system page top?

Thank you Matthew. I look forward to the revised draw down statistics.

Meanwhile, I noticed that you have revised the draw down for this specific trade from 0,04% to 13.21%. You are probably working on finalizing the formula to calculate the draw down amount and percentages. Once you do, would you please share your method of calculation to cross check any other instances?

Thanks & Regards
Francisco

Can you share in example of this?

David-

Andrey is correct. C2 is constantly taking “snapshots” of each strategy’s marked-to-market equity during the course of the day. The max “peak-to-valley” drawdown stat therefore is taken from intra-day data, and made by analyzing this series of snapshots. This means that you are not correct in assuming that max drawdown stats is based solely on end-of-day data. It is based on intra-day data, but it is always possible that our snapshot “misses” a sudden and precarious drop in equity during the course of the day – a drop from which the strategy quickly recovers – and a drop which is not memorialized in our periodic marked-to-market equity snapshots.

Now, some technical information.

The frequency of marked-to-market equity snapshots for each strategy depends on its relative importance in the C2 universe. Strategies with subscribers have more frequent snapshots than those without. Popular strategies (i.e. viewed frequently) have more snapshots than those that are less popular. Our goal is that every strategy be snapshotted at least once of twice each day, but the frequency depends on many things – such as available CPU resources.

By the way, this is why strategies that are “early” in their career receive less frequent snapshots – by definition these systems tend to have few (or no) subscribers, and have few third-party viewers. So this is why you may see strategies that have fewer marked-to-market snapshots early in their career, but more frequent snapshots (and thus a more-fine-grained analysis) as the time series progresses.

The trade-by-trade drawdown column is calculated differently. These calculations are scheduled to occur in the background, using available CPU resources, and thus may be delayed by several days. The “drawdown” numbers you see in these stats do not necessarily correspond to overall system drawdowns. To understand why this is so, let’s imagine the following example: a strategy buys the @ES and also buys QGC gold at the exact same time. The @ES trade plummets, but the Gold trade profits. In fact, Gold’s profit more than makes up for the @ES drawdown. So, in this case, you can imagine that the overall strategy drawdown will be zero, but the single trade drawdown will be 20%. That is why it is not necessarily true that a large single-trade drawdown must be reflected in the peak-to-valley drawdown of the strategy.

As is the case in all things in this business, I’m always torn between wanting to provide more information and data to C2 Members, and the risk that people will complain that the data is not perfect. But no data is perfect. My general rule is to try to provide as much information as accurately as possible, with the caveat that no single piece of it is of supreme importance or without estimation or possible error. The goal is to provide a holistic “whole” – a set of many data points that allow a person to make reasonable judgments about a strategy.

I do see that the trade drawdown stat needs some work, as it is frequently delayed, and sometimes not accurate. I am therefore working on improving it and backfilling data as needed.

Matthew

Examples are everywhere. Look at the trade example this thread is about. The ZeroT trade on 4/8/2016 has a DD as a % of equity of 13% vs the top of the page with 9%. For an extreme example look at the Zip4x trade on 2/6/2015 closed on 6/10/2015 (explain to me how that is possible while you are at it). Look at STS TrendHound on 11/20/2015. Etc., etc.

David please see my reply just above your post.

Thanks for the explanation. So I guess the answer why the trade DD number can be different than the system DD number (presuming no other active trades) is they are calculated at different times by different routines.

Well, not exactly. The reason they can be different is because one statistic refers to the overall strategy equity drawdown, and one statistic refers to an specific trade drawdown.

Matt:

Snapshots is highly unorthodox. I can not imagine any programmer thinking on those lines. Any commercial data vendor should provide you an interface to get the lowest value for any time period, such as a day, an hour etc.

I use IB’s data source.
I use tickPrice() function call as shown in the following link with the parameter value 'LOW’
https://www.interactivebrokers.com/en/software/api/apiguide/activex/tickprice.htm?SearchType=Stem&Highlight=tickprice

Similarly the tickSize() function will take the duration value such as day, hour, week, min etc.

I never have to actually download prices all day long and search for the lowest value. This should be a trivial task.

Fred

Btw, returning to Zero T. 17 contracts in oil is 17 x 40 x 1000 = 680k position (if my calcs are correct), on 150k capital gives around 4.5 leverage only. Is it so bad?

Then wouldn’t the two DD numbers be the same when there is only one trade open? There are cases where they are not the same. I can find many examples… a few in the first thing I checked: look at Bob Dylan SP500 trade dates: 6/24/10, 5/5/10, 3/10/11. These trades all have larger DD than the system drawdown, yet Bob Dylan only trades one position at a time (2 ES contracts scaled in).

1 Like

Your calculations mirror Forex trading.

In trading futures, you always think in terms of margin. A crude oil contract has almost $4.7 k margin requirement for initial overnight position. For a 17 lot trade you are talking about 80 - 85 k margin lock up + plus the accumulated losses, all of which decrease the excess liquidity while the trade is in progress. A 100k account will barely survive. An account opened with $30k or $50k will not last till the end of the trade.

In reality though, even if I have a $100k, you would not risk $80k+ margin and accumulate 13k loss to earn a few hundred dollars. That is like jumping in front of a moving to pick up a quarter on the track.

I am not sure why the 17 lot trade is being discussed. If you scroll through, there are more interesting trades.

How about a 25 or 30 lot index.trades? Now we are talking.

Right. But we’re not talking about looking up the high or low of a specific symbol across any given period in the past. Agreed - that’s trivial. Indeed, that’s effectively what we do to construct the individual trade drawdown stats.

No, the harder thing to do is to mark-to-market an entire portfolio containing multiple instruments open simultaneously. Across thousands of strategies. In realtime.

A snapshot approach is a reasonable design choice.

You are right, David. In cases where only a single trade is open, then, yes, the overall strategy drawdown should match the single trade’s max drawdown. This is actually what I intend to implement shortly – having C2 use “single-trade-drawdown stats” to inform the overall portfolio drawdown stat.

Even with MatthewKlein’s explanation above about how DD are miscalculated intra-day, it still doesn’t make sense the trade in the original post only shows a 0.04% drawdown.

Here’s a breakdown of the trade in the original post - and these are at the times when a trade is registered - not at random moments (which most likely means there is a higher drawdown):

So $17,130 loss on an account value of 150,000 is 11.4% drawdown. The strategy has only one other trade that occurred during this time. This is not only an inaccurate DD of the trade, but also an inaccurate max drawdown for the overall strategy.

I went through a few more and calculated the DD for other trades on ZeroT and they were all wrong. Here are some examples:

These arent just random times in accounts but at times of documented trades in C2. It makes me weary of my subscriptions…

Will that penalize systems that only trade one position at a time or will all systems be effected somehow? Currently all the overall DD stats are estimates based on snapshots… they will almost always be low. After your modification there could be some big changes.

Hi Matthew,

There are still some issues with the drawdown calculations (e.g: Trade ID: 100576792), perhaps you can query the Trades DB for all trades with positive Drawdown values.

Another suggestion for your consideration - for loss making trades, the Max Drawdown value should at least be equal to the loss on the trade. This might adversely affect systems with short trade times, such as our own, while a system holding positions over night is probably only being measured twice a day. But, we think that’s the right way to do it.

Regards,
ACA

1 Like

Hi Matt, as you may or may not know, though I was on and off C2 from 2001, with different IDs as I crossed state borders and changed as many different internet providers most of the time I come here just to test my systems and use your analytics as an independent benchmark to test my own system and then leave. Partly because my system is my baby and it is natural that I may game my own analytics to see only the positives of my system. Except the initial two, all were test systems, out of the total ten only two survived the test phase.

My question is whether you prefer to use the STANDARDS SET BY THE FUND INDUSTRY with which you were associated before and will benefit most subscribers

OR

Can you invent “ad hoc” analytics just for favoring my crappy system so that all my orders will be shown in a good light and so that we can fool subscribers together.

OR

Worse (based on some unsolicited, acrimonious and unprofessional emails I received from some developers against some other developers) can you be an accomplice in killing some other systems so that my crappy system will get some subscribers and will be pushed up the Grid WITH YOUR HELP?

Please don’t waste your time in answering this as it may be off topic and since C2 is a graveyard of systems that made big noises about C2 not favoring them as long as they existed!.

Thanks.

Renda:

When you say you change your ID, were you saying that you change your drivers license? Or are you compelled to assume altogether a different persona each time you cross a state border?

It is clear as mud. Anyway, I am still working through my second cup of coffee. May be it will be easier if I read these forums a bit later.

Meanwhile good luck in your new state.

Cheers
Fred

Fred, I am with you but I need a 3rd cup of Java!