ADP Ratio and Closed Positions Discrepancies

Hi,



How is the APD Ratio (Average Profit to Drawdown) exactly calculated?



None of the calculations I tried got even close to what the Statistics section claims. This is what I did: I went through the history of positions and for each profitable trade (leaving out unprofitable ones), calculated the ratio of $P/L divided by $Worst Open Drawdown. Then I took these ratios and calculated a simple average. I also tried an average weighted by the quantity of each position (which isn’t the $ value of the position but still). Yet, these calculations yielded values significantly different from the ADP Ratio as listed in the Statistics section.



Also, when hovering with the mouse over the value in the Drawdown & Risk column of the Closed Positions list, I found numbers in the popup that don’t make sense. E.g. for a trade with 100% realism and an eventual loss of $1,080 with the Worst Open Drawdown of $1,080, the reported drawdown “As % of eventual P/L” was -116.3%. How come? I believe it should have been -100.0%, the max drawdown and eventual P/L are equal!



I found such discrepancies on positions with positive eventual P/L as well.



Even when the realism is 100%, there is always a significant difference.



Can you please clarify this as well as state how ADP Ratio is calculated?



Thanks,

Trendy Bendy

APD is simply the sum of all trade profits/losses divided by sum of all max drawdown amounts (where trade drawdown stats exist).



As far as the discrepancy you report, please tell me exactly where to find it (system, trade, etc) so I can investigate.

And also, why are values in the "Drawdown & Risk" not calculated everywhere and sometimes say "n/a" with "No calc". Those positions must have some drawdown statistics (even if zeros are involved) and moreover will also need to affect other Statistics calculations (especially the APD Ratio).

For example, in my system, Hand Job Uranus:



http://www.collective2.com/cgi-perl/admin.mpl?want=drilltrade&tradeid=33622538



The position is a:

STO 25 GBP/USD 1.97703 7/9/08 6:39

BTC 25 GBP/USD 1.98135 7/9/08 11:55 ($1,080)



Also hover over the drawdown for any other closed position and you’ll see similar discrepancies on most of them.



Trendy Bendy



PS: Why are drawdown statistics sometimes not calculated?

So I calculated the figure according to what you mention and I am getting a number that’s close but not exactly what the Statistics page reports:



0.15 as listed in the Statistics box


0.1982 as of yesterday


0.2415 as of today (without open positions)


0.1957 as of today (including open positions) - should fluctuate




Just doesn’t match.

It’s a moving target. For efficiency sake, statistics on C2 are often calculated once (or several times per day) and cached in a database. In other words, they are lagging the trade record you see.



Making matters more complicated, different stats may be calculated at different times, which means that meta-statistics (those stats such as ADP, based on other lagging stats) can be hard to reconstruct if you want to know what the stat was at a given instant of time.



In this case, what I see in the database (and which I admit you do not see) is that that current ADP statistic was calculated at 2008-07-14 03:50:20 ET.



However, the max drawdown stats are also cached, and they are recalculated at a different schedule than the ADP stats. In your case, the drawdown stats for your system were recalced at 2008-07-13 21:30:48 ET, so that means the ADP number would include tradeid 33740467 but not your current open trade. This probably explains why you cannot reconstruct the exact stat at a given arbitrary cut-off moment (“today,” “yesterday,” etc.)

Finally, to answer your question: Drawdown stats are computationally intensive to calculate, and therefore are performed as a background process as CPU cycles allow. They are often delayed. When no drawdown stats for a given trade have been calculated yet, we show N/A or No calc. Also, there are cases where the historical price record does not have sufficient granularity to calculate a trade drawdown accurately, or when our data sources simply seem wrong or bizarre. In those cases the site will leave an "n/a." Theoretically these cases are not many.

Thank you, so do you mean to say that for example for trade id 33427475, which was a GBP/JPY short open on Sunday 29 June 18:23 and closed on Monday 30 June 7:27, there simply isn’t enough min/max data over the 13 hours covered by this trade in order to calculate drawdown statistics?



Thanks,

Trendy Bendy

And what about the fact that the "As % of eventual P/L" percentages in the mouse-over drawdown details popup are wrong?



Oh, yes, I forgot the most important point of my post. I looked at the software and noticed that what it was doing for forex trades was converting drawdown figures into pips first, then using that number to calculate a percentage. The conversion into pips introduced an error. This is now fixed. Thanks for pointing it out.

I appreciate this. Now if you only revealed the methodology for Low/Normal/High/Extreme in the other forum thread, this would be great.



Trendy Bendy



Okay, here’s the algorithm. It is, in hindsight, a hack. There’s surely a better algorithm out there, which I can implement after some discussion here.



Currently, the algorithm is: For any given trade, C2 looks at the max drawdown of the trade as a percentage of system equity. It first assigns a raw (unadjusted) score. The raw score is based purely on the percentage. If maxDD / system equity is:



0 - 0.5% = low

0.5% - 1.5% = normal

1.5% - 2.5% = high

2.5% - 6% = extreme

>6% = reckless



New it adjusts the raw score by several factors. (Again, I know what follows ain’t pretty.) If the number of positions open at the time of the drawdown was greater than nine, we assume a high degree of portfolio diversification, and reduce the badness by 2 notches (i.e. extreme becomes normal). If the number of positions open at the time of the drawdown is >=5 but <9, we lower badness by 1 notch.