Skip to content

About

Drawdown, run-up and realised-volatility arithmetic for a price series. No data, no forecasts.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawdown-stats

Drawdown, run-up and realised-volatility arithmetic for a price or equity series.

No market data. No forecasts. No claims about any asset. It computes what follows arithmetically from a series you supply.

Why no bundled data

Drawdown quoted without its window is close to meaningless, and a crate shipping its own price history would be asserting a window on the caller's behalf. Supply the series; own the window.

Likewise realised_volatility is not annualised, because annualising requires knowing the sampling period and this crate is not told it.

The asymmetry worth knowing

Recovering a 50 percent drawdown requires a 100 percent advance. Recovering 80 percent requires 400 percent. recovery_required makes that explicit, and it is the reason drawdown is quoted at all rather than simple return.

Usage

use drawdown_stats::{max_drawdown, max_runup, realised_volatility, recovery_required};

let series = [100.0, 120.0, 60.0, 90.0];
max_drawdown(&series);        // 0.5
recovery_required(0.5);       // 1.0

Worked examples at earlythunder.com.

Licence

MIT.

About

Drawdown, run-up and realised-volatility arithmetic for a price series. No data, no forecasts.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages