Trade Cancel and Trade Correct operate at execution level. Confusing them with an order-cancel request can distort positions and fill history.

What the primary record establishes

The FIX Trading Community specification describes ExecutionReport messages with ExecType H for Trade Cancel and G for Trade Correct. ExecRefID identifies the previously reported execution being cancelled or corrected. A new trade is reported with ExecType F. FIX Trading Community — Business Area: Trade, execution cancel/correct ↗

For repeated corrections, the reference should identify the last corrected execution report. The specification also says CumQty, LeavesQty and AvgPx describe the order at correction time, rather than its state when the original execution was reported. FIX Trading Community — Business Area: Trade, execution cancel/correct ↗

What the distinction changes

The business event is therefore different from asking a broker to stop the remaining unfilled quantity. An order-cancel acknowledgement does not itself erase past fills; a trade-cancel report addresses an execution already reported.

For a position ledger, losing that distinction can leave a cancelled execution counted as live exposure or treat a correction as an additional independent fill. The message must be interpreted together with its execution reference.

What to check before drawing a conclusion

WFN would retain original reports and the correction chain instead of overwriting the audit history. Test repeated corrections and replay handling against the counterparty’s agreed FIX version and implementation guide.

The cited semantics explain message meaning, not the commercial reason or legal validity of a particular trade bust. Those require separate evidence from the venue or counterparty. A human-readable “cancelled” label alone is insufficient for reconciliation.