Class AlmgrenChriss
java.lang.Object
com.quantfinlib.microstructure.AlmgrenChriss
Almgren-Chriss (2000) optimal execution: the trading trajectory that
minimizes
E[cost] + λ·Var[cost] when liquidating X shares over a
horizon, trading off temporary impact (fast execution is expensive) against
price risk (slow execution is risky). Closed-form discrete solution:
holdings decay as x_j = X · sinh(κ(T - t_j)) / sinh(κT), with the
urgency parameter κ growing with risk aversion. λ→0 recovers TWAP.
Uses the same impact parameterization as MarketImpactModel:
temporary impact η (price concession per unit trade rate) and permanent
impact γ (per share). All quantities share one time unit (e.g. days):
σ is price volatility per √time, T the horizon in those units.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final recordThe optimal schedule:holdings[j]is the position after interval j (holdings[0] = X, holdings[N] = 0);trades[j]is sold in interval j+1. -
Method Summary
Modifier and TypeMethodDescriptionstatic List<AlmgrenChriss.Trajectory> efficientFrontier(AlmgrenChriss.Params base, double[] riskAversions) Cost/risk frontier across risk aversions (for choosing the urgency).static AlmgrenChriss.Trajectorystatic AlmgrenChriss.TrajectoryThe risk-neutral (λ = 0) linear schedule, for comparison.
-
Method Details
-
optimalTrajectory
-
twap
The risk-neutral (λ = 0) linear schedule, for comparison. -
efficientFrontier
public static List<AlmgrenChriss.Trajectory> efficientFrontier(AlmgrenChriss.Params base, double[] riskAversions) Cost/risk frontier across risk aversions (for choosing the urgency).
-