Data checks
How to verify a trade import
Verify an import by comparing executions and results against the platform statement for the same period and currency. A successful API connection, especially with zero trades, validates neither historical coverage nor P&L accuracy.
- Define a reproducible scope
- Compare executions
- Compare every result component
- Classify discrepancies before correcting
- Frequently asked questions
Define a reproducible scope
Keep the source statement and record the account, instruments, currency, time zone and time boundaries. Include entries for positions closed during the period: exits alone cannot reconstruct their cost.
Compare executions
Match IDs where available, then symbol, side, quantity, price and time. Execution counts need not equal trade counts: several fills can belong to one round trip.
- A simple entry and exit.
- A partial entry or exit.
- An open position and a close whose entry predates the period.
- Resynchronization without duplicates.
Compare every result component
Check gross P&L, commissions, rebates and funding separately. Check futures multipliers too. Keep currencies separate and isolate other flows before comparing closed-trade results with the overall balance.
Classify discrepancies before correcting
Distinguish missing history, unsupported instruments, time zone offsets, rounding, missing fees and reconstruction errors. Record discrepancies and corrections. Explain import warnings before treating statistics as representative.
Verification example
| Check | Expected evidence |
|---|---|
| Period | First and last execution compared |
| Quantities | Entries, exits and remaining open quantities match |
| Costs | Fees and funding reconciled or absence documented |
| Repeat import | No duplicate executions after synchronization |
Keep results separate by connector and environment. A Paper test does not prove Live coverage; an account with no executions cannot validate reconstruction.
Frequently asked questions
What should I send to support?
Provide the broker, period, time zone, instrument, execution ID if available, and expected versus observed result. Hide unnecessary personal data and never send API secrets.