risk module
- btQuant.risk.beta(assetReturns, marketReturns)[source]
Beta coefficient (systematic risk).
- Parameters:
assetReturns – asset returns
marketReturns – market returns
- Returns:
beta
- btQuant.risk.calmarRatio(returns, riskFreeRate=0)[source]
Calmar ratio: annualized return / max drawdown.
- Parameters:
returns – array of returns
riskFreeRate – risk-free rate
- Returns:
Calmar ratio
- btQuant.risk.capturRatio(returns, marketReturns)[source]
Upside and downside capture ratios.
- Parameters:
returns – portfolio returns
marketReturns – market returns
- Returns:
dict with upsideCapture, downsideCapture, captureRatio
- btQuant.risk.conditionalValueAtRisk(returns, confidence=0.95, method='historical')[source]
Conditional Value at Risk with method selection.
- Parameters:
returns – array of returns
confidence – confidence level
method – ‘historical’ or ‘parametric’
- Returns:
CVaR estimate
- btQuant.risk.downsideDeviation(returns, target=0)[source]
Downside deviation.
- Parameters:
returns – array of returns
target – target return
- Returns:
downside deviation
- btQuant.risk.drawdown(returns)[source]
Maximum drawdown.
- Parameters:
returns – array of returns
- Returns:
maximum drawdown (negative value)
- btQuant.risk.excessKurtosis(returns)[source]
Excess kurtosis.
- Parameters:
returns – array of returns
- Returns:
excess kurtosis
- btQuant.risk.expectedShortfall(returns, confidence=0.95)[source]
Expected shortfall (ES), same as historical CVaR.
- Parameters:
returns – array of returns
confidence – confidence level
- Returns:
ES estimate
- btQuant.risk.hillTailIndex(returns, k=50)[source]
Hill estimator for tail index (heavy tails).
- Parameters:
returns – array of returns
k – number of extreme values
- Returns:
tail index (lower = heavier tail)
- btQuant.risk.historicalCvar(returns, confidence=0.95)[source]
Historical simulation Conditional Value at Risk.
- Parameters:
returns – array of returns
confidence – confidence level
- Returns:
CVaR estimate
- btQuant.risk.historicalVar(returns, confidence=0.95)[source]
Historical simulation Value at Risk.
- Parameters:
returns – array of returns
confidence – confidence level
- Returns:
VaR estimate
- btQuant.risk.informationRatio(returns, benchmarkReturns)[source]
Information ratio: active return / tracking error.
- Parameters:
returns – portfolio returns
benchmarkReturns – benchmark returns
- Returns:
information ratio
- btQuant.risk.maxDrawdownDuration(returns)[source]
Maximum drawdown duration in periods.
- Parameters:
returns – array of returns
- Returns:
maximum drawdown duration
- btQuant.risk.modifiedVar(returns, confidence=0.95)[source]
Modified VaR using Cornish-Fisher expansion for skewness and kurtosis.
- Parameters:
returns – array of returns
confidence – confidence level
- Returns:
modified VaR
- btQuant.risk.omegaRatio(returns, threshold=0.0)[source]
Omega ratio: ratio of gains to losses.
- Parameters:
returns – array of returns
threshold – threshold return
- Returns:
Omega ratio
- btQuant.risk.painIndex(returns)[source]
Pain index (average squared drawdown).
- Parameters:
returns – array of returns
- Returns:
pain index
- btQuant.risk.parametricCvar(returns, confidence=0.95)[source]
Parametric Conditional Value at Risk (assumes normal).
- Parameters:
returns – array of returns
confidence – confidence level
- Returns:
CVaR estimate
- btQuant.risk.parametricVar(returns, confidence=0.95)[source]
Parametric Value at Risk (assumes normal distribution).
- Parameters:
returns – array of returns
confidence – confidence level (default 0.95)
- Returns:
VaR estimate
- btQuant.risk.sharpeRatio(returns, riskFreeRate=0)[source]
Sharpe ratio.
- Parameters:
returns – array of returns
riskFreeRate – risk-free rate per period
- Returns:
Sharpe ratio
- btQuant.risk.sortinoRatio(returns, riskFreeRate=0, target=0)[source]
Sortino ratio (uses downside deviation).
- Parameters:
returns – array of returns
riskFreeRate – risk-free rate
target – target return (default 0)
- Returns:
Sortino ratio
- btQuant.risk.stabilityRatio(returns)[source]
Stability of returns (R-squared of linear regression).
- Parameters:
returns – array of returns
- Returns:
stability ratio (0-1, higher = more stable)
- btQuant.risk.tailRatio(returns, confidence=0.95)[source]
Tail ratio: right tail / left tail.
- Parameters:
returns – array of returns
confidence – confidence level
- Returns:
tail ratio (>1 means right tail heavier)
- btQuant.risk.trackingError(returns, benchmarkReturns)[source]
Tracking error (standard deviation of active returns).
- Parameters:
returns – portfolio returns
benchmarkReturns – benchmark returns
- Returns:
tracking error
- btQuant.risk.treynorRatio(returns, marketReturns, riskFreeRate=0)[source]
Treynor ratio: excess return / beta.
- Parameters:
returns – portfolio returns
marketReturns – market returns
riskFreeRate – risk-free rate
- Returns:
Treynor ratio