Lower Tail Dependence Covariance
PortfolioOptimisers.LTDCovariance
— Typestruct LTDCovariance{T1, T2, T3} <: AbstractCovarianceEstimator
ve::T1
alpha::T2
threads::T3
end
Lower tail dependence covariance estimator.
LTDCovariance
implements a robust covariance estimator based on lower tail dependence, which measures the co-movement of asset returns in the lower quantiles (i.e., during joint drawdowns or adverse events). This estimator is particularly useful for capturing dependence structures relevant to risk management and stress scenarios.
Fields
ve::AbstractVarianceEstimator
: Variance estimator used to compute marginal standard deviations.alpha::Real
: Quantile level for the 5% lower tail.threads::FLoops.Transducers.Executor
: Parallel execution strategy.
Constructor
LTDCovariance(; ve::AbstractVarianceEstimator = SimpleVariance(),
alpha::Real = 0.05, threads::FLoops.Transducers.Executor = ThreadedEx())
Creates a LTDCovariance
object with the specified variance estimator, quantile level, and parallel execution strategy.
Related
PortfolioOptimisers.LTDCovariance
— MethodLTDCovariance(; ve::AbstractVarianceEstimator = SimpleVariance(),
alpha::Real = 0.05,
threads::FLoops.Transducers.Executor = ThreadedEx())
Construct a LTDCovariance
estimator for robust lower tail dependence covariance or correlation estimation.
This constructor creates a LTDCovariance
object using the specified variance estimator, quantile level, and parallel execution strategy. The estimator computes the covariance matrix by focusing on the joint lower tail events of asset returns, which is particularly relevant for risk-sensitive portfolio construction.
Arguments
ve::AbstractVarianceEstimator
: Variance estimator.alpha::Real
: Quantile level for the lower tail.threads::FLoops.Transducers.Executor
: Parallel execution strategy.
ReturnsResult
LTDCovariance
: A configured lower tail dependence covariance estimator.
Validation
- Asserts that
alpha
is strictly in(0, 1)
.
Examples
julia> ce = LTDCovariance()
LTDCovariance
ve | SimpleVariance
| me | SimpleExpectedReturns
| | w | nothing
| w | nothing
| corrected | Bool: true
alpha | Float64: 0.05
threads | Transducers.ThreadedEx{@NamedTuple{}}: Transducers.ThreadedEx()
Related
PortfolioOptimisers.lower_tail_dependence
— Functionlower_tail_dependence(X::AbstractMatrix, alpha::Real = 0.05,
threads::FLoops.Transducers.Executor = SequentialEx())
Compute the lower tail dependence matrix for a set of asset returns.
The lower tail dependence (LTD) between two assets quantifies the probability that both assets experience returns in their respective lower tails (i.e., joint drawdowns or adverse events), given a specified quantile level alpha
. This function estimates the LTD matrix for all pairs of assets in the input matrix X
, which is particularly useful for risk management and stress testing.
Arguments
X::AbstractMatrix
: Data matrix of asset returns (observations × assets).alpha::Real
: Quantile level for the lower tail.threads::FLoops.Transducers.Executor
: Parallel execution strategy.
ReturnsResult
rho::Matrix{Float64}
: Symmetric matrix of lower tail dependence coefficients, whererho[i, j]
is the estimated LTD between assetsi
andj
.
Details
For each pair of assets (i, j)
, the LTD is estimated as the proportion of observations where both asset i
and asset j
have returns less than or equal to their respective empirical alpha
-quantiles, divided by the number of observations in the lower tail (ceil(Int, T * alpha)
, where T
is the number of observations).
The resulting matrix is symmetric and all values are clamped to [0, 1]
.
Related
Statistics.cor
— Methodcor(ce::LTDCovariance, X::AbstractMatrix; dims::Int = 1, kwargs...)
Compute the lower tail dependence correlation matrix using a LTDCovariance
estimator.
This method computes the lower tail dependence (LTD) correlation matrix for the input data matrix X
using the quantile level and parallel execution strategy specified in ce
. The LTD correlation quantifies the probability that pairs of assets experience joint drawdowns or adverse events, as measured by their co-movement in the lower tail.
Arguments
ce::LTDCovariance
: Lower tail dependence covariance estimator.X::AbstractMatrix
: Data matrix of asset returns (observations × assets).dims::Int
: Dimension along which to compute the correlation.kwargs...
: Additional keyword arguments.
ReturnsResult
rho::Matrix{Float64}
: Symmetric matrix of lower tail dependence correlation coefficients.
Validation
- Asserts that
dims
is either1
or2
.
Related
Statistics.cov
— Methodcov(ce::LTDCovariance, X::AbstractMatrix; dims::Int = 1, kwargs...)
Compute the lower tail dependence covariance matrix using a LTDCovariance
estimator.
This method computes the lower tail dependence (LTD) covariance matrix for the input data matrix X
using the quantile level and parallel execution strategy specified in ce
. The LTD covariance focuses on the co-movement of asset returns in the lower tail, making it robust to extreme events and particularly relevant for risk-sensitive applications.
Arguments
ce::LTDCovariance
: Lower tail dependence covariance estimator.X::AbstractMatrix
: Data matrix of asset returns (observations × assets).dims::Int
: Dimension along which to compute the covariance.kwargs...
: Additional keyword arguments passed to the variance estimator.
ReturnsResult
sigma::Matrix{Float64}
: Symmetric matrix of lower tail dependence covariances.
Validation
- Asserts that
dims
is either1
or2
.
Related