When to Use
Use this skill when establishing, managing, or auditing statutory accountability for algorithmic trading systems operated by a UK SMCR firm under the FCA Senior Managers and Certification Regime.
It provides mechanisms to:
- Map each algorithmic trading strategy to a named Senior Management Function holder, with the firm's SM&CR tier enforced (SMF24 Chief Operations and SMF4 Chief Risk exist only for enhanced scope and dual-regulated firms — see SUP 10C).
- Track certification function F&P certificate validity for staff performing the FCA algorithmic trading certification function (SYSC 27.8.23R), including automatic expiry at the statutory 12-month maximum.
- Record version-bound pre-production deployment sign-offs capturing the reasonable steps a Senior Manager took, so an amended algorithm cannot inherit its predecessor's approval.
- Produce governance reports supporting the management responsibilities map required by SYSC 25.1.1R for banking, Solvency II insurance, and enhanced scope SMCR firms.
When NOT to Use
- Non-UK firms. SM&CR is a UK regime. EU firms fall under MiFID II RTS 6 and national conduct regimes; US firms under FINRA/SEC supervisory frameworks. Do not port these SMF codes to another jurisdiction.
- As the algorithmic risk control itself. This skill records governance evidence. The pre-trade controls, kill functionality, and surveillance it references are implemented in
uk-fca-algorithmic-trading-systems-controlsandkill-switch-and-drawdown-circuit-breakers. - As a compliance determination. A green
verify_algo_deployment_readiness()means the recorded evidence is complete. It does not establish that the Senior Manager discharged the statutory Duty of Responsibility — that is assessed against DEPP 6.2.9-A to 6.2.9-E and FCA PS17/9.
Prerequisites
- Python 3.10+ (standard library only).
- The firm's SM&CR classification (limited scope, core, enhanced, banking, or Solvency II insurance) — this determines which SMFs the firm may appoint and whether SYSC 25 applies.
- FCA Individual Reference Numbers for all Senior Managers, verified against the FCA Register. The FCA publishes no fixed IRN format, so the engine checks presence only; format validation would be a false assurance.
- Awareness of MAR 7A and UK-assimilated RTS 6 obligations, which supply the underlying control evidence this skill records.
Workflow
- Classify the firm. Construct
SMCRAlgoAccountabilityEngine(firm_tier=...). Get this wrong and the register will accept SMFs the firm cannot legally appoint: a core firm has no SMF24 or SMF4, so its algorithmic trading responsibility must sit with an SMF the firm actually holds (typically SMF1 or SMF16).register_senior_manager()raisesSMCRErroron a tier mismatch rather than recording an unappointable holder. - Register SMF holders. Provide
smf_id,role, verifiedfca_irn, and contact details. Re-registering an existingsmf_idlogs a warning — a genuine handover needs a handover certificate under SYSC 25.9, not a silent overwrite. - Record certification function staff. Register a
CertifiedDeveloperfor each person who approves deployment or amendment of an algorithm, or who has significant responsibility for monitoring or deciding its ongoing compliance. Writing or testing algorithm code does not by itself trigger SYSC 27.8.23R — over-certifying is a common scoping error. Setcertificate_validity_monthsbelow 12 if the firm issues shorter certificates. - Register the algorithm at its exact deployed version.
register_algo_strategy()records the responsible SMF, certification staff, and the RTS 6 evidence flags: pre-trade controls (Article 15), kill functionality testing (Article 12), and stress testing (Article 10). - Execute the sign-off against that version. The responsible Senior Manager calls
execute_deployment_sign_off()with substantive reasonable-steps notes. A sign-off naming a version other than the registered one is rejected — register the version being deployed first. AREJECTEDorPENDING_SIGN_OFFdecision is recorded and logged as such; it never reads as approval. - Verify and report. Call
verify_algo_deployment_readiness(algo_id, as_of=...)before release andgenerate_mrm_report(as_of=...)for the periodic audit. Pass an explicitas_ofdate wherever the result is compared, replayed, or archived, so certificate-expiry checks stay deterministic.
Common Pitfalls
- Assuming SMF24 exists at your firm. SMF24 (Chief Operations) and SMF4 (Chief Risk) are enhanced-scope and dual-regulated functions under SUP 10C. A core firm that documents "algo trading owned by SMF24" has allocated responsibility to a function it does not hold, leaving the responsibility genuinely unallocated.
- Letting an approval survive an amendment. SYSC 27.8.23R(a)(ii) treats an amendment to a trading algorithm as a separately approvable act. Keying sign-offs by algorithm ID alone means v1.3.0 silently deploys under the v1.2.0 approval. This engine keys by
(algo_id, version); a re-registration at a new version invalidates the prior sign-off and logs a warning. - Treating F&P certification as permanent. A certificate is valid for a maximum of 12 months from issue (FSMA s.63F, SYSC 27.2). Without an expiry check, a lapsed approver keeps clearing deployments indefinitely.
verify_algo_deployment_readiness()fails on an expired certificate. - Content-free reasonable-steps notes. "Approved" or "Signed off" is not an audit record. Notes must state which pre-trade controls were reviewed, which stress scenarios were run and their outcomes, and when the kill functionality drill took place. The engine rejects boilerplate, but a length check cannot establish sufficiency — that is a judgement under DEPP 6.2.9-E.
- Inventing numeric control thresholds. RTS 6 Article 12 requires a firm to be able to cancel unexecuted orders "immediately"; it sets no millisecond target. Documenting a fabricated benchmark as a regulatory requirement is worse than documenting none — set an internal target if the firm wants one, and label it as internal.
- Confusing evidence with control. A complete MRM proves the paperwork exists. The FCA's August 2025 multi-firm review found firms with formal sign-off procedures undermined by outdated policies and superficial compliance involvement.
Verification
python -m unittest discover -s skills/uk-senior-managers-regime-algo-accountability/scriptsCovers tier scoping, certificate expiry including the exclusive expiry-day boundary and leap-day clamping, version-bound sign-off invalidation, rejected sign-offs, boilerplate note rejection, and MRM report field population.