MV-optimal policy and glide path¶
Question answered¶
Given an effective risky asset, horizon, target return, hurdle rate, consumption rate, and wealth floor, solve the pre-commitment mean-variance policy and inspect its target-wealth trajectory and allocation intensity.
The policy has the form
find_ell solves for the Lagrange parameter and Riccati state. gap_process_asset maps the
resulting policy to the log-cushion process used by the Laplace survival/density functions.
Inputs¶
Input |
Meaning |
Convention |
|---|---|---|
effective asset |
aggregated regime drifts, volatilities, intensities, and jumps |
built with |
horizon |
terminal time |
years |
target return |
target used to solve the pre-commitment problem |
continuous annual rate |
|
hurdle/risk-free rate |
continuous annual rate |
|
consumption rate |
continuous annual rate |
The lower-level solver returns ell and a Riccati result. derived_at_tau exposes target wealth,
allocation coefficient, and related quantities at a backward-time coordinate. Keep the paper’s
time-direction convention explicit when plotting a path.
Interpretation¶
A larger funding gap \(\Pi^*/\Pi-1\) produces a larger risky allocation.
As realised wealth approaches the target trajectory, the policy de-risks endogenously.
The policy is a model result, not a guarantee that the wealth floor cannot be crossed by a jump.
gap_process_assetis the correct bridge tocompute_survivaland terminal-density analytics.
Runnable source¶
See
examples/wealth_process_simulation.py
for policy paths, target wealth, expected wealth, and the absorbing floor. The example is
illustrative and writes one PNG; the quickstart is the output-free install
check.
Common mistakes¶
Passing a simple rather than continuously compounded target/rate.
Reading
tauas calendar time without reversing the Riccati grid.Comparing an effective-asset policy with a benchmark built from different regime/jump inputs.
Treating Monte Carlo estimates as policy inputs rather than independent validation.