Algo child order size override

By default, CQG TWAP and CQG RTWAP algos calculate quantity for each child order they send basing on algo’s IntervalInSecond parameter value. This can be replaced with explicit size override by setting value of OrderSizeOverride parameter to some positive number.

 

If done so, IntervalInSeconds algo parameter is ignored and actual interval is calculated as  OrderSizeOverride * (Computed End Time – Actual Start Time) / OrderQty.

 

For example, 200 lots CQG TWAP algo order has 2 minutes duration (e.g. MaxDurationInMinutes set to 2) and OrderSizeOverride value is 33 then calculated interval will be 19.8 seconds. In total algo will send 7 slices: 6 slices of 33 lots summing up to 198 lots and last one for 2 lots as original algo quantity cannot be exceeded.

 

Algo order quantity is used as OrderSizeOverride value when parameter’s value is greater than quantity.

 

OrderSizeOverride can be updated both before algo has started to work and when algo is already working. Update will result in:

          recalculation of IntervalInSeconds by algo so child orders will be launched at different rate when OrderSizeOverride value is changed to some non-zero value;

          falling back to explicitly specified or default IntervalInSeconds when OrderSizeOverride is set to 0 or not present in FIX request.