Class ExecutionAlgoBacktester

java.lang.Object
com.quantfinlib.backtest.ExecutionAlgoBacktester

public final class ExecutionAlgoBacktester extends Object
Backtests the DYNAMIC execution stack over bar data — the bridge between execution.BenchmarkExecutor (built for live intervals) and the backtest lane: replay a session's bars, let the executor re-decide each bar exactly as it would live, fill against the bar with a TradeCostModel, and grade the result the way a TCA desk would (implementation shortfall vs arrival, slippage vs the session VWAP). ExecutionAwareBacktester answers "how do fills change a STRATEGY's results?"; this answers the execution desk's own question: "which benchmark algorithm, and at what cost?" — one parent order, N bars, a number per benchmark.

Honest simplifications (each visible, none silent): fills print at the bar close plus the cost model's bps (no intra-bar microstructure); the per-bar liquidity cap is participationCap × bar volume — and it is the ONLY cap: the executor is constructed with its internal depth fraction at 1 so the two knobs cannot silently compound; the VWAP volume curve uses the session's REALIZED cumulative volume — an oracle curve, so the VWAP benchmark result here is an upper bound on what a live volume-curve forecast can achieve (live, use microstructure.VolumeCurve); and each bar's volume enters the POV target BEFORE that bar trades — one bar of look-ahead versus a strictly reactive live POV, so POV completion here is mildly optimistic. Deterministic: same bars, same config, same numbers. Research lane.