Multiple optimal portfolios exist in cross-section as well as over time.

# DynAssMgmt.PFType.

PF(wgts::Array{Float64, 1})

Implementation of a single portfolio. Weights have to be positive (short-selling is not allowed) and need to add up to 1.

source

# DynAssMgmt.InvestType.

Invest(pfs::Array{PF, 2}, spectrum::Array{SinglePeriodTarget, 1}, dates::Array{Date, 1}, assetLabels::Array{String, 1}, stratLabels::Array{String, 1})

Implementation of investments as collection of portfolios. Portfolios are equipped with additional descriptive meta-data: which strategies were used, which universe and which time period.

source

julia> using DynAssMgmt

julia> fieldnames(PF)
1-element Array{Symbol,1}:
 :Wgts

julia> fieldnames(Invest)
5-element Array{Symbol,1}:
 :pfs
 :strategies
 :dates
 :assetLabels
 :stratLabels

Portfolio functions

# DynAssMgmt.pfMomentsMethod.

pfMoments(mus::Array{Float64, 1}, covs::Array{Float64, 2}, wgts::Array{Float64, 1}, riskType::String)

Compute portfolio expectation and variance or standard deviation without any re-scaling or annualization. Allowed risk type keywords are std and var.

Single universe, single weights

pfMoments(mus::Array{Float64, 1}, covs::Array{Float64, 2}, wgts::Array{Float64, 1}, riskType::String)
pfMoments(mus::Array{Float64, 1}, covs::Array{Float64, 2}, pf::PF, riskType::String)
pfMoments(thisUniv::Univ, wgts::Array{Float64, 1}, riskType::String)
pfMoments(thisUniv::Univ, pf::PF, riskType::String)

Multiple universes, single weights

pfMoments(univHist::UnivEvol, wgts::Array{Float64, 1}, riskType::String)

Single universe, multiple weights

pfMoments(univHist::Univ, pfWgts::Array{Array{Float64, 1}, 1}, riskType::String)
pfMoments(univHist::Univ, wgts::Array{Float64, 2}, riskType::String)

Multiple universes, multiple weights

pfMoments(univHist::UnivEvol, wgts::Array{Float64, 2}, riskType::String)

source

# DynAssMgmt.pfDiversFunction.

pfDivers(wgts::Array{Float64, 1})

Compute portfolio diversification as

source

pfDivers(pf::PF)

source

pfDivers(pf::Array{PF, 1})

source

pfDivers(pf::Array{PF, 2})

source

pfDivers(invests::Invest)

source

pfDivers(allWgts::Array{Float64, 2})

Applies to series of portfolio weights, with individual weights given in rows.

source

Internal

# DynAssMgmt.pfVarianceFunction.

pfVariance(covs::Array{Float64, 2}, wgts::Array{Float64, 1})

Compute the portfolio variance without any re-scaling or annualization.

source

# DynAssMgmt.pfMuMethod.

pfMu(mus::Array{Float64, 1}, wgts::Array{Float64, 1})

Compute the portfolio expectation without any re-scaling or annualization.

source