Understand a narrative
Get exact decimal and uppercase ticker candidates for explicit purchase or sale prefixes, even when an extra “for CAD” note follows. Trailing details are ignored and flagged, while reversals, formulas, duplicate headers and unsupported narratives are rejected instead of inventing missing fields.