Skip to content

Financial vertical — academic tutorial

Released in FCC v1.2.0. You are teaching or studying persona-driven agent workflows and want to use the Financial pack as a case study. This tutorial connects the persona's R.I.S.C.E.A.R. specification to the underlying regulatory standards and shows how to cite them properly in classwork or publications.

The Financial pack in one paragraph

The finance vertical pack (at src/fcc/data/verticals/finance.yaml) contains 11 finance personas (v2.1.0) — 5 retrofitted plus 6 v1.2.0 additions for interest-rate risk modeling, LCR reporting, counterparty credit risk, sustainable finance, digital asset strategy, and independent model validation. Headline compliance frameworks: SOX, Basel III, MiFID II, IFRS 9, SR 11-7, SFDR, CSRD, MiCA.

Focus persona: IRR — Interest Rate Risk Modeler

We'll anchor this tutorial on IRR, because it's the one most relevant to the academic audience in the Financial domain.

from fcc.verticals.registry import VerticalRegistry

reg = VerticalRegistry.from_builtin()
pack = reg.get("finance")
persona = next(p for p in pack.personas if p.id == "IRR")

print(persona.name)
print(persona.risk_category or "minimal")
riscear = persona.riscear or {}
print("Archetype:", riscear.get("archetype"))
print("Role:", riscear.get("role"))

Connecting the persona to its regulatory standards

IRR (Interest Rate Risk Modeler) was selected because its responsibilities map cleanly onto published standards in the financial domain. The research note at src/fcc/data/verticals/research/financial.research.md lists the exact sources.

When citing this persona in classwork or a publication, use both:

  1. The FCC framework citation (see docs/community/citation.md).
  2. The underlying standards cited in the research note.

Extracting persona constraints for comparison

A common assignment is to compare the R.I.S.C.E.A.R. constraints across several personas and argue which are regulatory versus organizational in origin.

for p in pack.personas:
    r = p.riscear or {}
    print(f"=== {p.id}{p.name} ===")
    for c in r.get("constraints", []):
        print(f"  - {c}")
    print()

Your homework: classify each constraint as regulatory, organizational, or professional-ethical.

Generating a model card for citation

fcc model-card generate --persona IRR --output _output/cards

Model cards follow Mitchell et al. (2019) and include a bibliographic field you can cite directly.

Verify what you did

Run the vertical test suite to make sure your changes didn't break anything:

pytest tests/test_verticals.py -k "finance" -v

All academic-path steps in this tutorial leave your working tree unchanged — the pack YAML is read-only from your perspective. The only state that accumulates is in _output/ (scenario run traces) and docs/model-cards/ (if you regenerated cards).

Next steps