Class WmrFixingScheduler

java.lang.Object
com.quantfinlib.execution.WmrFixingScheduler

public final class WmrFixingScheduler extends Object
Benchmark-fixing execution schedule, WMR-style: orders benchmarked to a fixing (the WM/Refinitiv 4pm London fix and its cousins) are executed by spreading the parent evenly across the fixing's calculation window, so realized cost tracks the benchmark rather than betting against it — the window is 5 minutes for major pairs, and the benchmark is computed from observations inside it, so TWAP-in-window IS the neutral replication.

Deliberately excluded, with reasons: executing ahead of the window to "get done early" is pre-hedging risk against the client's benchmark (the conduct the 2013-15 FX fix scandals were about), and skewing inside the window is a bet, not benchmark replication. Anyone who wants a bet can use ImplementationShortfallScheduler and own it explicitly.

Research-lane class (allocates the schedule list); the slices it emits are executed by the hot lane.

  • Field Details

    • WINDOW_MILLIS

      public static final long WINDOW_MILLIS
      The standard WMR calculation window for major pairs.
      See Also:
  • Method Details

    • schedule

      public static List<Slice> schedule(long totalQty, long windowMillis, int numSlices)
      Even slices across the fixing window. Offsets are relative to the schedule's own start; align slice 0 with the window open (fix time minus half the window).
      Parameters:
      totalQty - parent quantity (sliced exactly, largest-remainder)
      windowMillis - calculation-window length (WINDOW_MILLIS for majors)
      numSlices - child count; more slices = closer benchmark tracking, more tickets
    • schedule

      public static List<Slice> schedule(long totalQty, int numSlices)
      schedule(long, long, int) with the standard 5-minute window.