Tag Info

Hot answers tagged

4

I won't give you the answer delivered on a silver platter but hopefully the following will get your started: a) you need to define exactly over which look-back period you aim to derive the maximum drawdown. b) you need to keep track of the max price while you iterate the look-back window. c) you need to keep track of the min price SUBSEQUENT to any NEW ...


3

Zipline, the opensource python backtester, has a batch and iterative implementation for max drawdown. Here is the batch: https://github.com/quantopian/zipline/blob/master/zipline/finance/risk.py#L284 Here is the iterative: https://github.com/quantopian/zipline/blob/master/zipline/finance/risk.py#L578 disclosure: I'm one of the zipline maintainers


2

Its very simple, One of Brownian Motion (a.k.a. Wiener process in Mathematics) properties is that each increment from s->t is normally distributed with mean = 0 and sd = t-s. So, if the process that drives your simulated results is ~N(0, t-s) distributed for each increment s->t with 0<=s<=t then yes, your simulated draw downs should match the ones ...


2

Take a look at the following paper about the Maximum Drawdown distribution: On the Maximum Drawdown of a Brownian Motion The authors end up with an approximative series for the density. It is implemented in the function maxdd of the R-package fBasics. There are convenient functions dmaxdd, pmaxdd and rmaxdd. Calculating the Expected Drawdown should be ...


1

(After the clarification, this answer is no longer relevant) Expected maximum drawdown is going to be highly sensitive to your choice of SDE, and to your calibration of it. Therefore you should play with a variety of parameterizations to estimate your model error. So far as efficient computation goes, we can regard this as a payoff very similar to a ...



Only top voted, non community-wiki answers of a minimum length are eligible