Skip to content
13

Base Distance

PortfolioOptimisers.SimpleDistance Type
julia
struct SimpleDistance <: AbstractDistanceAlgorithm

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

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

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

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{__T_bins, __T_normalise} <: AbstractDistanceAlgorithm

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 algorithm or fixed number of bins.

  • normalise: Whether to normalise the mutual and/or variation of information calculation.

Constructors

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

Keywords correspond to the struct's fields.

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

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

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

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