Multiple optimal portfolios exist in cross-section as well as over time.
#
DynAssMgmt.PF
— Type.
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.
#
DynAssMgmt.Invest
— Type.
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.
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.pfMoments
— Method.
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)
#
DynAssMgmt.pfDivers
— Function.
pfDivers(wgts::Array{Float64, 1})
Compute portfolio diversification as
pfDivers(pf::PF)
pfDivers(pf::Array{PF, 1})
pfDivers(pf::Array{PF, 2})
pfDivers(invests::Invest)
pfDivers(allWgts::Array{Float64, 2})
Applies to series of portfolio weights, with individual weights given in rows.
Internal
#
DynAssMgmt.pfVariance
— Function.
pfVariance(covs::Array{Float64, 2}, wgts::Array{Float64, 1})
Compute the portfolio variance without any re-scaling or annualization.
#
DynAssMgmt.pfMu
— Method.
pfMu(mus::Array{Float64, 1}, wgts::Array{Float64, 1})
Compute the portfolio expectation without any re-scaling or annualization.