Eight columns, two dates on every resolution row, and an index settlement dressed up as a closing trade.
“03/06/2025 as of 03/05/2025” is booked on the sixth for something that happened on the fifth. The second one is the session, and taking the first moves a whole expiry onto the following Monday.
SPXW finishing in the money is written as a Buy to Close at intrinsic, dated as of the expiry, with the fee column empty. Nobody bought it back. Read as written it makes an index seller's assignment rate read as zero.
An assigned short put reads +10 and an expiring long call reads -1: the quantity is already the change that flattens the position. Every other broker here needed a rule invented for that sign.
Long option symbols and REF numbers get reformatted. Import the CSV as downloaded.
No. This export gives the date a fill happened and not the minute. Everything else works; Desk's execution quality does not, because a one-minute quote snapshot needs the minute and no amount of parsing recovers it. Schwab has no other export that carries it.
Both current layouts are read, and the header is found wherever it starts. Corporate actions and cash-in-lieu rows are kept as money rather than filed as trades.