Windowed expected returns
PortfolioOptimisers.WindowedExpectedReturns Type
struct WindowedExpectedReturns{__T_me, __T_w, __T_window} <: AbstractExpectedReturnsEstimatorExpected returns estimator that restricts computation to a rolling or indexed observation window.
WindowedExpectedReturns wraps another expected returns estimator and applies it to a subset of observations defined by a window and/or custom observation weights. This enables time-varying or recency-weighted expected returns estimation.
Fields
me: Expected returns estimator.w: Optional observation weights vectorobservations × 1, or a concrete subtype ofDynamicAbstractWeights. Ifnothing, the computation is unweighted.window: Window specification: an integer (lastwindowobservations) or a vector of indices.
Constructors
WindowedExpectedReturns(;
me::AbstractExpectedReturnsEstimator = SimpleExpectedReturns(),
w::Option{<:ObsWeights} = nothing,
window::Option{<:Int_VecInt} = nothing
) -> WindowedExpectedReturnsKeywords correspond to the struct's fields.
Validation
If
wis notnothing,!isempty(w).If
windowis provided, it must be nonempty, nonnegative, and finite.
Propagated parameters
When factory is called on this type, the following @fprop-tagged fields are automatically propagated:
me: Recursively updated viafactory.w: Replaced with the incomingObsWeights.
View parameters
When port_opt_view is called on this type, the following @vprop-tagged fields are automatically subset to the selected indices:
me: Recursively viewed viaport_opt_view.
Examples
julia> WindowedExpectedReturns()
WindowedExpectedReturns
me ┼ SimpleExpectedReturns
│ w ┴ nothing
w ┼ nothing
window ┴ nothingRelated
sourcePortfolioOptimisers.factory Method
factory(a::Union{Nothing, <:AbstractEstimator, <:AbstractAlgorithm,
<:AbstractResult}, args...; kwargs...) -> aNo-op factory function for constructing objects with a uniform interface.
Defining methods which dispatch on the first argument allows for a consistent factory interface across different types.
Arguments
a: Indicates no object should be constructed.args...: Arbitrary positional arguments (ignored).kwargs...: Arbitrary keyword arguments (ignored).
Returns
a: The input unchanged.
Examples
julia> factory(nothing, 1, 2; x = 3)
julia> factory(MeanValue())
MeanValue
w ┴ nothingRelated
sourceStatistics.mean Method
Statistics.mean(me::WindowedExpectedReturns, X::MatNum; dims::Int = 1, iv::Option{<:MatNum} = nothing, kwargs...)Compute expected returns using a rolling or indexed observation window.
This method selects a window of observations from X (and applies observation weights if specified), then delegates to the underlying mean estimator.
Arguments
me: Windowed expected returns estimator.X: Data matrix of asset returns (observations × assets).dims: Dimension along which to perform the computation.iv: Optional implied volatility matrix. Used if any internal covariance estimator is an instance ofImpliedVolatility.kwargs...: Additional keyword arguments passed to the underlying estimator.
Returns
mu::ArrNum: Expected returns vector for the selected window.
Related
source