Cokurtosis
PortfolioOptimisers.Cokurtosis Type
struct Cokurtosis{T1, T2, T3} <: CokurtosisEstimator
me::T1
mp::T2
alg::T3
endContainer type for cokurtosis estimators.
Cokurtosis encapsulates the mean estimator, matrix processing estimator, and moment algorithm for cokurtosis estimation. This enables modular workflows for higher-moment portfolio analysis.
Fields
me: Mean estimator for expected returns.mp: Matrix processing estimator for cokurtosis tensors.alg: Moment algorithm.
Constructor
Cokurtosis(; me::AbstractExpectedReturnsEstimator = SimpleExpectedReturns(),
mp::AbstractMatrixProcessingEstimator = DefaultMatrixProcessing(),
alg::AbstractMomentAlgorithm = Full())Keyword arguments correspond to the fields above.
Examples
julia> Cokurtosis()
Cokurtosis
me ┼ SimpleExpectedReturns
│ w ┴ nothing
mp ┼ DefaultMatrixProcessing
│ pdm ┼ Posdef
│ │ alg ┴ UnionAll: NearestCorrelationMatrix.Newton
│ denoise ┼ nothing
│ detone ┼ nothing
│ alg ┴ nothing
alg ┴ Full()Related
PortfolioOptimisers.cokurtosis Function
cokurtosis(ke::Union{Nothing, <:Cokurtosis}, X::AbstractMatrix; dims::Int = 1,
mean = nothing, kwargs...)Compute the cokurtosis tensor for a dataset.
This method computes the cokurtosis tensor using the estimator's mean and matrix processing algorithm. For Full, it uses all centered data; for Semi, it uses only negative deviations. If the estimator is nothing, returns nothing.
Arguments
ke: Cokurtosis estimator.X: Data matrix (observations × assets).dims: Dimension along which to compute the mean.mean: Optional mean vector. If not provided, computed using the estimator's mean estimator.kwargs...: Additional keyword arguments passed to the mean estimator.
Validation
dimsis either1or2.
Returns
ckurt::Matrix{<:Real}: Cokurtosis tensor (assets^2 × assets^2).
Examples
julia> using StableRNGs
julia> rng = StableRNG(123456789);
julia> X = randn(rng, 10, 2);
julia> cokurtosis(Cokurtosis(), X)
4×4 Matrix{Float64}:
1.33947 -0.246726 -0.246726 0.493008
-0.246726 0.493008 0.493008 -0.201444
-0.246726 0.493008 0.493008 -0.201444
0.493008 -0.201444 -0.201444 0.300335Related
sourcePortfolioOptimisers.CokurtosisEstimator Type
abstract type CokurtosisEstimator <: AbstractEstimator endAbstract supertype for all cokurtosis estimators in PortfolioOptimisers.jl.
All concrete types implementing cokurtosis estimation algorithms should subtype CokurtosisEstimator. This enables a consistent interface for cokurtosis-based higher moment estimators throughout the package.
Related
sourcePortfolioOptimisers._cokurtosis Function
_cokurtosis(X::AbstractMatrix, mp::AbstractMatrixProcessingEstimator)Internal helper for cokurtosis computation.
_cokurtosis computes the cokurtosis tensor for the input data matrix and applies matrix processing using the specified estimator.
Arguments
X: Data matrix (observations × assets).mp: Matrix processing estimator.
Returns
ckurt::Matrix{<:Real}: Cokurtosis tensor after matrix processing.
Related
source