# maxdrawdown: Maximum Drawdown or Maximum Loss In tseries: Time Series Analysis and Computational Finance

 maxdrawdown R Documentation

## Maximum Drawdown or Maximum Loss

### Description

This function computes the maximum drawdown or maximum loss of the univariate time series (or vector) `x`.

### Usage

``````maxdrawdown(x)
``````

### Arguments

 `x` a numeric vector or univariate time series.

### Details

The max drawdown or max loss statistic is defined as the maximum value drop after one of the peaks of `x`. For financial instruments the max drawdown represents the worst investment loss for a buy-and-hold strategy invested in `x`.

### Value

A list containing the following three components:

 `maxdrawdown` double representing the max drawdown or max loss statistic. `from` the index (or vector of indices) where the max drawdown period starts. `to` the index (or vector of indices) where the max drawdown period ends.

### Author(s)

A. Trapletti

`sterling`

### Examples

``````# Toy example
x <- c(1:10, 9:7, 8:14, 13:8, 9:20)
mdd <- maxdrawdown(x)
mdd

plot(x)
segments(mdd\$from, x[mdd\$from], mdd\$to, x[mdd\$from], col="grey")
segments(mdd\$from, x[mdd\$to], mdd\$to, x[mdd\$to], col="grey")
mid <- (mdd\$from + mdd\$to)/2
arrows(mid, x[mdd\$from], mid, x[mdd\$to], col="red", length = 0.16)

# Realistic example
data(EuStockMarkets)
dax <- log(EuStockMarkets[,"DAX"])
mdd <- maxdrawdown(dax)
mdd

plot(dax)
segments(time(dax)[mdd\$from], dax[mdd\$from],
time(dax)[mdd\$to], dax[mdd\$from], col="grey")
segments(time(dax)[mdd\$from], dax[mdd\$to],
time(dax)[mdd\$to], dax[mdd\$to], col="grey")
mid <- time(dax)[(mdd\$from + mdd\$to)/2]
arrows(mid, dax[mdd\$from], mid, dax[mdd\$to], col="red", length = 0.16)
``````

tseries documentation built on May 2, 2023, 5:11 p.m.