Skip to content
18

Denoise covariance

PortfolioOptimisers.DenoiseCovariance Function
julia
DenoiseCovariance(;
    ce::StatsBase.CovarianceEstimator = Covariance(),
    dn::Denoise = Denoise(),
    pdm::Option{<:Posdef} = Posdef(),
) -> PortfolioOptimisersCovariance

DenoiseCovariance(
    ce::StatsBase.CovarianceEstimator,
    dn::Denoise,
    pdm::Option{<:Posdef},
) -> PortfolioOptimisersCovariance

Convenience constructor. Returns a PortfolioOptimisersCovariance configured to apply positive definite projection then denoising, in that order, via MatrixProcessing.

Examples

julia
julia> DenoiseCovariance()
PortfolioOptimisersCovariance
  ce ┼ Covariance
     │    me ┼ SimpleExpectedReturns
     │       │   w ┴ nothing
     │    ce ┼ GeneralCovariance
     │       │   ce ┼ StatsBase.SimpleCovariance: StatsBase.SimpleCovariance(true)
     │       │    w ┴ nothing
     │   alg ┴ FullMoment()
  mp ┼ MatrixProcessing
     │     pdm ┼ Posdef
     │         │      alg ┼ UnionAll: NearestCorrelationMatrix.Newton
     │         │   kwargs ┴ @NamedTuple{}: NamedTuple()
     │      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
     │      dt ┼ nothing
     │     alg ┼ nothing
     │   order ┴ Tuple{Symbol, Symbol}: (:pdm, :dn)

Related

source