Skip to content
10

Base Distance

PortfolioOptimisers.SimpleDistance Type
julia
struct SimpleDistance <: AbstractDistanceAlgorithm end

Simple distance algorithm for portfolio optimization.

di,j=1ρi,j2,

where d is the distance, ρ is the correlation coefficient, and each subscript denotes an asset.

Related

source
PortfolioOptimisers.SimpleAbsoluteDistance Type
julia
struct SimpleAbsoluteDistance <: AbstractDistanceAlgorithm end

Simple absolute distance algorithm for portfolio optimization.

di,j=1|ρi,j|,

where d is the distance, ρ is the correlation coefficient, and each subscript denotes an asset.

Related

source
PortfolioOptimisers.LogDistance Type
julia
struct LogDistance <: AbstractDistanceAlgorithm end

Logarithmic distance algorithm for portfolio optimization.

di,j=log|ρi,j|,

where d is the distance, ρ is the correlation coefficient, and each subscript denotes an asset.

Related

source
PortfolioOptimisers.CorrelationDistance Type
julia
struct CorrelationDistance <: AbstractDistanceAlgorithm end

Correlation distance algorithm for portfolio optimization.

di,j=1ρi,j,

where d is the distance, ρ is the correlation coefficient, and each subscript denotes an asset.

Related

source
PortfolioOptimisers.VariationInfoDistance Type
julia
struct VariationInfoDistance{T1, T2} <: AbstractDistanceAlgorithm
    bins::T1
    normalise::T2
end

Variation of Information (VI) distance algorithm for portfolio optimization.

VariationInfoDistance specifies the use of the Variation of Information (VI) metric, an information-theoretic distance based on entropy and mutual information.

Fields

  • bins: Binning strategy or number of bins. If an integer, must be strictly positive.

  • normalise: Whether to normalise the VI distance to the range [0, 1].

Constructor

julia
VariationInfoDistance(; bins::Int_Bin = HacineGharbiRavier(),
                      normalise::Bool = true)

Keyword arguments correspond to the fields above.

Validation

  • If bins is an integer, bins > 0.

Examples

julia
julia> VariationInfoDistance()
VariationInfoDistance
       bins ┼ HacineGharbiRavier()
  normalise ┴ Bool: true

Related

source
PortfolioOptimisers.CanonicalDistance Type
julia
struct CanonicalDistance <: AbstractDistanceAlgorithm end

Canonical distance algorithm for portfolio optimization.

Defines the canonical distance metric for a given covariance estimator. The resulting distance metric is consistent with the properties of the covariance estimator (relevant when the covariance estimator is MutualInfoCovariance).

Covariance EstimatorDistance Metric
MutualInfoCovarianceVariationInfoDistance
LowerTailDependenceCovarianceLogDistance
DistanceCovarianceCorrelationDistance
StatsBase.CovarianceEstimatorSimpleDistance

The table also applies to PortfolioOptimisersCovariance where ce is one of the aforementioned estimators.

When used with a covariance matrix directly, uses SimpleDistance.

Related

source
PortfolioOptimisers.AbstractDistanceEstimator Type
julia
abstract type AbstractDistanceEstimator <: AbstractEstimator end

Abstract supertype for all distance estimator types in PortfolioOptimisers.jl.

All concrete and/or abstract types implementing distance-based estimation algorithms should be subtypes of AbstractDistanceEstimator.

Related

source
PortfolioOptimisers.AbstractDistanceAlgorithm Type
julia
abstract type AbstractDistanceAlgorithm <: AbstractAlgorithm end

Abstract supertype for all distance algorithm types in PortfolioOptimisers.jl.

All concrete and/or abstract types implementing specific distance-based algorithms (such as correlation distance, absolute distance, log distance, or information-theoretic distances) should be subtypes of AbstractDistanceAlgorithm.

Related

source