For given asset moments, there are several strategies to select an optimal portfolio.
Fields of composite types
julia> using DynAssMgmt
julia> fieldnames(GMVP)
0-element Array{Symbol,1}
julia> fieldnames(TargetVola)
1-element Array{Symbol,1}:
:Vola
julia> fieldnames(RelativeTargetVola)
1-element Array{Symbol,1}:
:Vola
julia> fieldnames(MaxSharpe)
1-element Array{Symbol,1}:
:RiskFree
julia> fieldnames(TargetMu)
1-element Array{Symbol,1}:
:Mu
julia> fieldnames(EffFront)
1-element Array{Symbol,1}:
:NEffPfs
julia> fieldnames(DivFrontSigmaTarget)
2-element Array{Symbol,1}:
:diversTarget
:sigTarget
julia> fieldnames(DivFront)
2-element Array{Symbol,1}:
:diversTarget
:sigTargets
Single period strategies
Usage
apply(thisTarget::SinglePeriodTarget, univHistory::UnivEvol)
Abstract types
#
DynAssMgmt.SinglePeriodTarget
— Type.
SinglePeriodTarget
Abstract super type for single-period strategies.
#
DynAssMgmt.SinglePeriodSpectrum
— Type.
SinglePeriodSpectrum
Abstract super type for multiple single-period strategies in the cross-section.
Composite types
#
DynAssMgmt.GMVP
— Type.
GMVP()
Global minimum variance portfolio strategy.
#
DynAssMgmt.TargetVola
— Type.
TargetVola(vol::Float64)
Target portfolio volatility strategy.
#
DynAssMgmt.RelativeTargetVola
— Type.
RelativeTargetVola(vol::Float64)
Target portfolio volatility strategy, with volatility target given in relative terms. Target is relative with regards to maximum mu and gmvp.
#
DynAssMgmt.MaxSharpe
— Type.
MaxSharpe()
MaxSharpe(rf::Float64)
Maximum Sharpe-ratio portfolio strategy. Optional input can be used to specify the risk-free rate.
#
DynAssMgmt.TargetMu
— Type.
TargetMu(mu::Float64)
Target portfolio expectation strategy.
#
DynAssMgmt.EffFront
— Type.
EffFront(npfs::Int64)
Efficient frontier portfolio spectrum. Single input determines the number of portfolios on the efficient frontier.
#
DynAssMgmt.DivFrontSigmaTarget
— Type.
DivFrontSigmaTarget(divTarget::Float64, sigTarget::Float64)
Portfolio strategy with target diversification level and target volatility.
#
DynAssMgmt.DivFront
— Type.
DivFront(divTarget::Float64, sigTarget::Array{Float64, 1})
Multiple portfolios with target diversification level and multiple volatility targets.
Internal
#
DynAssMgmt.gmvp
— Method.
gmvp(thisUniv::Univ)
Get global minimum variance portfolio without short-selling. Leverage is not allowed.
#
DynAssMgmt.gmvp_lev
— Method.
gmvp_lev(thisUniv::Univ)
Get global minimum variance portfolio without any constraints on short-selling. In other words: leverage is allowed.