Class BestExecutionAnalyzer
java.lang.Object
com.quantfinlib.regulatory.BestExecutionAnalyzer
Execution-quality analytics of the kind a MiFID II best-execution review
starts from: slippage versus arrival mid (simple average per order and
quantity-weighted), latency-to-fill distribution, fraction executed at or
better than arrival, and per-venue slippage. It does not produce RTS 27
or RTS 28 reports.
implementationShortfall(Side, double, double, double[], double[], double, double) decomposes one
order's cost against its decision price (Perold 1988, J. Portfolio
Management 14(3), 4-9).
Sign convention: slippage and shortfall are costs, positive when the execution was worse than the benchmark for the order's side.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordBest-execution summary.static final recordOne parent order outcome.static final recordPerold (1988) implementation shortfall of one order, in currency: -
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance; the explicit form of the default constructor. -
Method Summary
Modifier and TypeMethodDescriptionadd(BestExecutionAnalyzer.OrderOutcome outcome) implementationShortfall(Side side, double decisionPrice, double arrivalPrice, double[] fillQty, double[] fillPrice, double unfilledQty, double closePrice) Decomposes implementation shortfall into its components.report()
-
Constructor Details
-
BestExecutionAnalyzer
public BestExecutionAnalyzer()Creates an instance; the explicit form of the default constructor.
-
-
Method Details
-
add
-
report
-
implementationShortfall
public static BestExecutionAnalyzer.ShortfallDecomposition implementationShortfall(Side side, double decisionPrice, double arrivalPrice, double[] fillQty, double[] fillPrice, double unfilledQty, double closePrice) Decomposes implementation shortfall into its components.- Parameters:
fillQty- executed quantities (positive)fillPrice- matching execution pricesunfilledQty- quantity of the order never executed, ≥ 0closePrice- price at which the unfilled part is marked
-