Skip to content
5

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::Union{<:AbstractBins, <:Integer} = 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 types implementing distance-based estimation algorithms should subtype AbstractDistanceEstimator. This enables a consistent interface for distance-based measures (such as correlation distance, absolute distance, or information-theoretic distances) throughout the package.

Related

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

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

All concrete types implementing specific distance-based algorithms (such as correlation distance, absolute distance, log distance, or information-theoretic distances) should subtype AbstractDistanceAlgorithm. This enables flexible extension and dispatch of distance routines for use in portfolio optimization and risk analysis.

Related

source