Denoise covariance
PortfolioOptimisers.DenoiseCovariance Type
struct DenoiseCovariance{__T_ce, __T_dn, __T_pdm} <: AbstractCovarianceEstimatorA covariance estimator that applies a denoising algorithm and positive definite projection to the output of another covariance estimator. This type enables robust estimation of covariance matrices by first computing a base covariance, then applying denoising and positive definiteness corrections in sequence.
Fields
ce: Covariance estimator.dn: Matrix denoising estimator.pdm: Positive definite matrix estimator.
Constructors
DenoiseCovariance(;
ce::StatsBase.CovarianceEstimator,
dn::Denoise = Denoise(),
pdm::Option{<:Posdef} = Posdef(),
) -> DenoiseCovarianceKeywords correspond to the struct's fields.
Examples
julia> DenoiseCovariance()
DenoiseCovariance
ce ┼ Covariance
│ me ┼ SimpleExpectedReturns
│ │ w ┴ nothing
│ ce ┼ GeneralCovariance
│ │ ce ┼ StatsBase.SimpleCovariance: StatsBase.SimpleCovariance(true)
│ │ w ┴ nothing
│ alg ┴ Full()
dn ┼ Denoise
│ pdm ┼ Posdef
│ │ alg ┼ UnionAll: NearestCorrelationMatrix.Newton
│ │ kwargs ┴ @NamedTuple{}: NamedTuple()
│ alg ┼ ShrunkDenoise
│ │ alpha ┴ Float64: 0.0
│ args ┼ Tuple{}: ()
│ kwargs ┼ @NamedTuple{}: NamedTuple()
│ kernel ┼ typeof(AverageShiftedHistograms.Kernels.gaussian): AverageShiftedHistograms.Kernels.gaussian
│ m ┼ Int64: 10
│ n ┴ Int64: 1000
pdm ┼ Posdef
│ alg ┼ UnionAll: NearestCorrelationMatrix.Newton
│ kwargs ┴ @NamedTuple{}: NamedTuple()Related
sourceStatistics.cov Method
Statistics.cov(ce::DenoiseCovariance, X::MatNum; dims = 1, kwargs...)Compute the denoised and positive definite projected covariance matrix for the data matrix X using the specified DenoiseCovariance estimator.
Arguments
ce: TheDenoiseCovarianceestimator specifying the base covariance estimator, denoising algorithm, and positive definite projection.X: The data matrix (observations × assets).dims: Dimension along which to perform the computation.kwargs...: Additional keyword arguments passed to the underlying covariance estimator.
Returns
sigma::MatNum: denoised covariance matrix.
Validation
dims in (1, 2).
Details
Computes the covariance matrix using the base estimator in
ce.Transposes
Xifdims == 2to ensure variables are in columns.Ensures the covariance matrix is mutable.
Applies positive definite projection using the method in
ce.pdm.Applies the denoising algorithm in
ce.dnwith the aspect ratioT/N.Returns the processed covariance matrix.
Related
sourceStatistics.cor Method
Statistics.cor(ce::DenoiseCovariance, X::MatNum; dims = 1, kwargs...)Compute the denoised and positive definite projected correlation matrix for the data matrix X using the specified DenoiseCovariance estimator.
Arguments
ce: TheDenoiseCovarianceestimator specifying the base covariance estimator, denoising algorithm, and positive definite projection.X: The data matrix (observations × assets).dims: Dimension along which to perform the computation.kwargs...: Additional keyword arguments passed to the underlying correlation estimator.
Returns
rho::MatNum: denoised correlation matrix.
Validation
dims in (1, 2).
Details
Computes the correlation matrix using the base estimator in
ce.Transposes
Xifdims == 2to ensure variables are in columns.Ensures the correlation matrix is mutable.
Applies positive definite projection using the method in
ce.pdm.Applies the denoising algorithm in
ce.dnwith the aspect ratioT/N.Returns the processed correlation matrix.
Related
source