FinExam-10K: When Retrieval Helps Financial Reasoning?
Organizations: INSAIT, Sofia University “St. Kliment Ohridski” · Newcastle University · University of Manchester · University of Melbourne ·
Abstract
Professional financial examinations require models to combine domain knowledge, calculation, and judgment, yet no benchmark covers the full CFA and FRM structure under one protocol. We introduce FinExam-10K, to our knowledge the largest reported English benchmark for this setting, with 10,198 expert-reannotated questions spanning CFA Levels I-III and FRM Parts I-II. We release 5,110 questions and sequester 5,088 for a quarterly maintained leaderboard. To separate coverage from local answerability, we report a 10,198-item Full-Coverage Track and a 7,625-item Context-Complete Reasoning Track, which is the primary basis for claims about reasoning from the supplied record. Across 17 models, the best accuracy is 85.29% overall. On the frozen Hard band, the best score is 34.68% on the Full-Coverage Track and 54.57% on the 372 context-complete items. All 17 models share 47 context-complete failures. Function-RAG and FunctionGraph-RAG rescue hundreds of errors but also overturn many correct answers, producing little or negative net gain. A gate trained only on public data decides from the question and initial response when FunctionGraph-RAG should run. On the 5,088 held-out items, the gate invokes FunctionGraph-RAG for 7.9% of questions and improves accuracy from 70.83% to 71.23% (p = .0446).
Figures & tables
| Dimension | Category | All | Public | Held-out |
|---|---|---|---|---|
| Stage | CFA Level I | 4,763 | 3,109 | 1,654 |
| CFA Level II | 2,215 | 1,030 | 1,185 | |
| CFA Level III | 653 | 179 | 474 | |
| CFA total | 7,631 | 4,318 | 3,313 | |
| FRM Part I | 1,652 | 516 | 1,136 | |
| FRM Part II | 915 | 276 | 639 |
| Model | CFA | FRM | Difficulty band | All | |||||
|---|---|---|---|---|---|---|---|---|---|
| L-I | L-II | L-III | P-I | P-II | Easy | Med. | Hard | ||
| Proprietary models | |||||||||
| Gemini-3.1-Pro | 90.95 | 71.74 | 77.79 | 90.86 | 83.93 | 97.92 | 82.13 | 34.68 | 85.29 |
| GPT-5.6-Sol | 89.61 | 71.15 | 78.10 | 91.28 | 85.36 | 98.09 | 81.97 | 30.14 | 84.75 |
| GPT-5.6-Terra | 86.73 | 69.21 | 75.80 | 90.38 | 83.72 | 97.23 | 76.23 | 26.36 | 82.55 |
| DeepSeek-V4-Pro | 87.05 | 69.03 | 75.65 | 89.47 | 82.62 | 97.32 | 75.05 | 26.63 | 82.40 |
| Method | Acc. | Resc. | Harm | ||
| CoT, DeepSeek-R1 | |||||
| Direct | 79.75 | – | – | – | – |
| Function-RAG | 79.43 | 505 | 538 | .322 | |
| FunctionGraph-RAG | 79.84 | 509 | 500 | .801 | |
| PoT, GPT-4o | |||||
| Direct | 69.37 | – | – | – | – |
| #Fn | Fn-RAG | FG-RAG | |||
|---|---|---|---|---|---|
| 0 | 7,002 | 72.08 | 70.98 | .0040 | |
| 1 | 2,225 | 60.31 | 63.24 | .0007 | |
| 2 | 479 | 55.53 | 56.99 | .483 | |
| 3 | 492 | 58.74 | 59.15 | .897 |
Appendix figures & tables38 assets
Supplementary material from the paper’s appendix.
Appendix
| Examination Stage | Raw | With Rationale | Rationale Coverage | Post-Dedup. | Final MCQ | Final Yield |
| CFA Level I | 7,496 | 7,470 | 99.7% | 4,763 | 4,763 | 63.5% |
| CFA Level II | 2,556 | 2,529 | 98.9% | 2,215 | 2,215 | 86.7% |
| CFA Level III | 950 | 950 | 100.0% | 800 | 653 | 68.7% |
| CFA total | 11,002 | 10,949 | 99.5% | 7,778 | 7,631 | 69.4% |
| FRM Part I | 2,667 | 1,823 | 68.4% | 1,652 | 1,652 | 61.9% |
| FRM Part II | 1,530 | 943 | 61.6% | 915 | 915 | 59.8% |
| Reviewer | Assigned Stage | # Items |
|---|---|---|
| R2 | CFA Level I | 4,763 |
| R4 | CFA Level II | 2,215 |
| R4 | CFA Level III | 653 |
| R3 | FRM Part I | 1,652 |
| R3 | FRM Part II | 915 |
| Stage-matched first passes | 10,198 | |
| Primary Reannotation Outcome | # Items | Share |
|---|---|---|
| Accepted without substantive change | 9,730 | 95.41% |
| Question or option revision | 221 | 2.17% |
| Gold-answer correction | 36 | 0.35% |
| Rationale correction | 109 | 1.07% |
| Metadata correction | 102 | 1.00% |
| All retained items | 10,198 | 100.00% |
| Scope | Pub. | Held. | P–H | |
|---|---|---|---|---|
| Full benchmark | 5,110 | 5,088 | 0.990 | |
| Context-complete | 3,406 | 4,219 | 0.993 |
| Band | Incomplete | Rate (%) [Wilson 95% CI] |
|---|---|---|
| Easy | 1/30 | 3.3 [0.6, 16.7] |
| Medium | 5/30 | 16.7 [7.3, 33.6] |
| Hard | 17/30 | 56.7 [39.2, 72.6] |
| Metric | Observed | Wilson 95% CI |
|---|---|---|
| Agreement | ||
| Recall | ||
| Precision |
| Dimension | Category | Full set | Context-complete |
|---|---|---|---|
| All questions | 10,198 | 7,625 | |
| Access | Public | 5,110 | 3,406 |
| Held-out | 5,088 | 4,219 | |
| Difficulty | Easy | 6,578 | 5,929 |
| Medium | 2,183 | 1,324 | |
| Hard | 1,437 | 372 |
| Difficulty | Public | Held-out | Total |
|---|---|---|---|
| Easy | 2,714 | 3,215 | 5,929 |
| Medium | 554 | 770 | 1,324 |
| Hard | 138 | 234 | 372 |
| Total | 3,406 | 4,219 | 7,625 |
| Model | CFA Level I | CFA Level II | CFA Level III | FRM Part I | FRM Part II | All |
|---|---|---|---|---|---|---|
| Proprietary models | ||||||
| Gemini-3.1-Pro | 98.11 | 93.94 | 90.53 | 95.48 | 91.02 | 95.96 |
| GPT-5.6-Sol | 96.84 | 93.94 | 89.61 | 95.76 | 91.30 | 95.32 |
| GPT-5.6-Terra | 94.51 | 90.66 | 86.84 | 95.69 | 89.23 | 93.29 |
| DeepSeek-V4-Pro | 94.73 | 91.05 | 87.07 | 93.53 | 88.67 | 93.01 |
| GPT-5.6-Luna | 93.27 | 88.57 | 84.53 | 92.14 | 85.36 | 91.19 |
| Slice | # Items | Reference Share |
|---|---|---|
| Full-Coverage Track | 10,198 | 100.0% of full |
| Frozen Hard band | 1,437 | 14.1% of full |
| Context-Complete Hard | 372 | 25.9% of Hard |
| Universal-failure core | 188 | 13.1% of Hard |
| Dimension | Category | # Items | Share |
| Access | Public | 118 | 62.8% |
| Held-out | 70 | 37.2% | |
| Stage | CFA Level II | 79 | 42.0% |
| CFA Level I | 46 | 24.5% | |
| FRM Part I | 24 | 12.8% | |
| CFA Level III | 22 | 11.7% |
| Band | # Items | Share | Wilson 95% CI |
|---|---|---|---|
| Easy | 6,578 | 64.50% | |
| Medium | 2,183 | 21.41% | |
| Hard | 1,437 | 14.09% |
| Rule | Panel Weighting | Easy | Medium | Hard |
|---|---|---|---|---|
| A | Flat mean over 17 models | 6,826 | 2,025 | 1,347 |
| B | Three group means, equal weight | 6,757 | 1,714 | 1,727 |
| C | API and local means, equal weight | 6,578 | 2,183 | 1,437 |
| Stage | Items | Easy | Medium | Hard |
|---|---|---|---|---|
| CFA Level I | 4,763 | 72.9% | 17.3% | 9.8% |
| CFA Level II | 2,215 | 46.5% | 28.0% | 25.5% |
| CFA Level III | 653 | 57.1% | 23.0% | 19.9% |
| FRM Part I | 1,652 | 71.7% | 19.6% | 8.7% |
| FRM Part II | 915 | 56.4% | 29.1% | 14.5% |
| Diagnostic slice | # Items | Reference share |
|---|---|---|
| Full-Coverage Track | 10,198 | 100.0% of full |
| Frozen Hard band | 1,437 | 14.1% of full |
| Context-Complete Reasoning Track | 7,625 | 74.8% of full |
| Context-Complete Hard | 372 | 25.9% of Hard |
| Universal-failure core | 188 | 13.1% of Hard |
| Their intersection | 47 | 25.0% of |
| Model | Acc. | Norm. Acc. | 95% CI |
| Proprietary models | |||
| Gemini-3.1-Pro | 54.57 | [49.5, 59.6] | |
| GPT-5.6-Sol | 39.52 | [34.7, 44.6] | |
| GPT-5.6-Terra | 31.18 | [26.7, 36.1] | |
| DeepSeek-V4-Pro | 26.08 | [21.9, 30.8] | |
| Claude-Sonnet-5 | 21.24 | [17.4, 25.7] | |
| Examination stage | Enrichment |
|---|---|
| FRM Part II | 1.98 |
| CFA Level III | 1.93 |
| FRM Part I | 1.08 |
| CFA Level I | 0.78 |
| CFA Level II | 0.73 |
| Slice | Judgment / discrimination | Numeric-option calculation |
|---|---|---|
| Full-Coverage Track | 44% | 20% |
| Context-Complete Hard | 53% | 6% |
| Context-incomplete Hard | 21% | 46% |
| Statistic | Observed |
|---|---|
| Items with defined concentration | 369 |
| Median | 0.923 |
| Median exact null | 0.605 |
| Items with | 346/369 (93.8%) |
| All erroneous votes on one distractor | 148/369 (40.1%) |
| One-sided exact sign-test |
| Dimension | Category | # Items | Share |
| Access | Public | 118 | 62.8% |
| Held-out | 70 | 37.2% | |
| Stage | CFA Level II | 79 | 42.0% |
| CFA Level I | 46 | 24.5% | |
| FRM Part I | 24 | 12.8% | |
| CFA Level III | 22 | 11.7% |
| Universal-failure subset | # Items | Share |
|---|---|---|
| Context incomplete | 141 | 75.0% |
| Context complete | 47 | 25.0% |
| All 17 choose the same wrong option | 41 | 21.8% |
| Position | Gold | Selected | Gap |
|---|---|---|---|
| A | 35.2% | 27.5% | |
| B | 31.7% | 29.6% | |
| C | 25.0% | 34.1% | |
| D | 8.1% | 8.8% |
| Component | GPT-4o PoT, Table 4 | DeepSeek-R1 CoT, published R1 variants |
|---|---|---|
| Initial candidates | Frozen Contriever top 30 | BM25 top 30 |
| Graph edges | Two relation types. Shared article_title edges and directed Contriever nearest neighbour edges with are unioned and deduplicated | One relation type. Two functions are adjacent when their sets of normalized input and output quantity names intersect |
| Graph construction | Static graph content built only from the function corpus. A FinExam-10K identifier manifest is read only to reject identifier overlap | Function-quantity graph with the relation defined above |
| Expansion and cap | One hop, with no candidate cap beyond collecting the one-hop expansion | Up to two hops with a total cap of 80 candidates. Expansion stops as soon as the cap is reached |
| Selector | Frozen linear selector with exactly four features: reciprocal retrieval rank, reciprocal graph depth, edge weight, and degree scale | Learned linear reranker with exactly 56 features |
| Returned functions | At most three | Top ten |
| Method | Acc. | Resc. | Harm | ||
| CoT, DeepSeek-R1 | |||||
| Direct | 90.64 | – | – | – | – |
| Function-RAG | 90.32 | 199 | 223 | .263 | |
| FunctionGraph-RAG | 90.87 | 213 | 195 | .400 | |
| Oracle ceiling | 94.39 | 286 | 0 | – | |
| PoT, GPT-4o | |||||
| Function RAG | FunctionGraph- RAG | Resc. | Harm | ||||
| Full-Coverage Track ( ) | |||||||
| 0 | 7,002 | 72.08 | 70.98 | 310 | 387 | .004 | |
| 1 | 2,225 | 60.31 | 63.24 | 213 | 148 | .001 | |
| 2 | 479 | 55.53 | 56.99 | 40 | 33 | .483 | |
| 3 | 492 | 58.74 | 59.15 | 31 | 29 | .897 | |
| Context-Complete Reasoning Track ( ) | |||||||
| Variant | Feat. | Branch inv. | OOF | Held. |
|---|---|---|---|---|
| Pairwise selector | 23 cross | 3.00 | 68.45 | 71.36 |
| Three-class selector | 27 cross | 3.00 | 66.79 | 70.46 |
| Per-arm binary | 27 cross | 3.00 | 68.83 | 71.21 |
| Direct-conditioned gate | 27 direct | 1.08 | 68.85 | 71.23 |
| Feature group | Count | Included signals |
|---|---|---|
| Direct state | 3 | Unparsed prediction, executor success, and parser success. |
| Direct errors | 4 | Call not allowed, nested function not allowed, missing function return, and disallowed assignment target. |
| Direct usage | 4 | Input and output token summaries, log latency, and HTTP attempts. |
| Predicted option | 4 | Indicators for Direct predictions A, B, C, and D. |
| Examination and stage | 6 | CFA indicator and indicators for CFA Levels I–III and FRM Parts I–II. |
| Item form and cues | 6 | Option count, log stem length, numeric option cue, compute cue, judgment cue, and digit density. |
| Direct | FunctionGraph- RAG | Target | Weight | # Public |
| Correct | Correct | 0 | 0.15 | 3,118 (61.0%) |
| Correct | Incorrect | 0 | 1.00 | 352 (6.9%) |
| Incorrect | Correct | 1 | 1.00 | 275 (5.4%) |
| Incorrect | Incorrect | 0 | 0.15 | 1,365 (26.7%) |
| Total | 5,110 (100%) | |||
| Selector | Acc. | Invocations | ||
|---|---|---|---|---|
| Legacy pairwise (23 features, ) | 71.36 | +0.53 | 0.107 | 3 |
| Multiclass argmax (27 features) | 70.46 | 0.475 | 3 | |
| Per-condition binaries (27 features) | 71.21 | +0.37 | 0.252 | 3 |
| Direct-conditioned gate (27 features) | 71.23 | +0.3931 | 0.0446 |
| Probe | Population | Outcome | Statistical result |
|---|---|---|---|
| Post-execution verification | 369 Context-Complete Hard items with a produced program | Flags 13.6%; revises 12.7%; 11 rescues and 10 harms | Endpoint points; exact paired |
| Abstention detection | 1,199 items | Accepted-item accuracy: 57.6% baseline, 85.9% selective | Matched-random selective accuracy: 57.6%; answerable-item FPR: 53.3% |
| Plan then solve | 300 items | Endpoint points; Easy ; Hard | Paired ; below chance on the subset failed by every static condition |
| Pred. answerable | Pred. unanswerable | |
|---|---|---|
| Expert answerable | 280 | 320 |
| Expert unanswerable | 4 | 595 |
| Band | Direct | Plan-then-solve | |
|---|---|---|---|
| Easy | 50.00 | 76.92 | |
| Medium | 50.00 | 42.86 | |
| Hard | 50.00 | 24.39 |
| Proprietary, API-served | ||
|---|---|---|
| Model | Model identifier | Reasoning setting |
| Claude-Sonnet-5 | anthropic/claude-sonnet-5 | provider default |
| DeepSeek-V4-Pro | deepseek/deepseek-v4-pro | high |
| DeepSeek-R1 | deepseek/deepseek-reasoner | provider default |
| Gemini-3.1-Pro | google/gemini-3.1-pro-preview | low |
| GPT-5.6-Sol | openai/gpt-5.6-sol | provider default |