← 전체 결과로 돌아가기
Benchmark ELI5 · financial numerical reasoning

금융 상황을 읽고,
계산 프로그램으로 답을 낸다

FinanceReasoning Hard는 문서나 상황 설명에서 숫자와 규칙을 찾아 계산하는 시험입니다. 우리는 모델에게 Python solution()을 쓰게 하고, 실행 결과가 숫자 정답과 맞는지 보는 PoT 방식을 고정했습니다.

우리 실행 105개strict 분석 105개PoT accuracy숫자 실행 비교

놀이로 비유하면

가계부와 세금 규칙을 읽고 계산기를 누르는 시험입니다. 답만 찍는 대신 “어떤 숫자를 어떤 순서로 계산했는지”를 Python 프로그램으로 남기게 합니다.

01금융 context상황, 표, 금액, 비율 같은 근거를 줍니다.
02질문최종적으로 구해야 할 숫자와 반올림 조건을 줍니다.
03Python program모델이 solution() 함수로 계산 절차를 씁니다.
04실행값 비교코드를 실행한 숫자가 ground truth와 같으면 통과합니다.

실제로 나온 문제

동결된 실험 데이터의 FinanceReasoning/test-2097입니다. TFSA 초과 납입에 대한 세금 벌금을 계산합니다.

Emma의 TFSA penalty 계산FinanceReasoning/test-2097
Source context 요약

Emma의 연도별 납입액은 2015년 6,000 CAD, 2016년 7,500 CAD, 2017년 6,000 CAD입니다. 각 연도의 한도는 모두 5,500 CAD이고, 초과 납입액에는 매달 1%의 벌금이 붙습니다. 문제는 각 초과분에 1년 내내 벌금이 적용된다고 가정합니다.

정답 계산: 초과분은 500 + 2,000 + 500 = 3,000 CAD. 연 12% 벌금이므로 3,000 × 0.01 × 12 = 360.00 CAD입니다.
원본 영어 context 전문 보기
Emma has been contributing to her Tax-Free Savings Account (TFSA) over several years. However, due to a miscalculation, she exceeded her contribution limits in some years. The Canadian Revenue Agency (CRA) imposes a 1% monthly tax penalty on any over-contributions. The following details Emma's contributions in CAD over the years:

- 2015: 6,000 CAD
- 2016: 7,500 CAD
- 2017: 6,000 CAD

The annual contribution limits for each year are as follows:

- 2015: 5,500 CAD
- 2016: 5,500 CAD
- 2017: 5,500 CAD

Calculate the total tax penalties Emma incurs due to her over-contributions, assuming penalties apply for a full year on any over-contributions within the year they were made.
Original EN question

What is the total tax penalty Emma incurs on her TFSA over-contributions? Provide your answer in Canadian dollars, rounded to two decimal places.

EN

What is the total tax penalty Emma incurs on her TFSA over-contributions? Provide your answer in Canadian dollars, rounded to two decimal places.

KO

Emma가 자신의 TFSA 초과 납입에 대해 부담하는 총 세금 벌금은 얼마입니까? 답은 캐나다 달러로 소수점 둘째 자리까지 반올림하여 제시하십시오.

MIX1

Emma가 자신의 TFSA 초과 납입에 대해 부담하는 총 세금 벌금은 얼마입니까? 답은 캐나다 dollar로 소수점 둘째 자리까지 반올림하여 제시하십시오.

MIX2

Emma가 자신의 TFSA excess contribution에 대해 부담하는 총 tax penalty는 얼마입니까? 답은 캐나다 dollar로 decimal point 둘째 자리까지 반올림하여 제시하십시오.

MIX3

Emma가 자신의 TFSA excess contribution에 대해 부담하는 총 tax penalty는 얼마입니까? 답은 캐나다 dollar로 decimal point 둘째 자리까지 round하여 present하세요.

모델의 실제 계산 코드

두 번째 독립 실행에서 EN은 360을 냈고 MIX1은 720을 냈습니다. 둘 다 실행 가능한 Python이지만 계산 논리가 달랐습니다.

Replicate 2 · EN output · 360.0 · PASS
```python
def solution():
    # Define variables name and value
    contributions = {
        2015: 6000,
        2016: 7500,
        2017: 6000
    }

    limits = {
        2015: 5500,
        2016: 5500,
        2017: 5500
    }

    monthly_penalty_rate = 0.01
    months_in_year = 12
    annual_penalty_rate = monthly_penalty_rate * months_in_year

    total_penalty = 0
    for year in contributions:
        over_contribution = max(0, contributions[year] - limits[year])
        total_penalty += over_contribution * annual_penalty_rate

    answer = round(total_penalty, 2)
    return answer
```
Replicate 2 · MIX1 output · 720.0 · FAIL
```python
def solution():
    # Define variables name and value
    contributions = [6000, 7500, 6000]
    limits = [5500, 5500, 5500]
    monthly_penalty_rate = 0.01
    months_per_year = 12

    cumulative_contribution = 0
    cumulative_limit = 0
    total_penalty = 0.0

    for contrib, limit in zip(contributions, limits):
        cumulative_contribution += contrib
        cumulative_limit += limit
        excess = max(0, cumulative_contribution - cumulative_limit)
        annual_penalty = excess * monthly_penalty_rate * months_per_year
        total_penalty += annual_penalty

    answer = round(total_penalty, 2)
    return answer
```
720 ≠ 360

MIX1 코드는 연도별 초과분을 각각 계산하지 않고, 누적 초과분 500 → 2,500 → 3,000에 매번 벌금을 붙였습니다. 그래서 같은 초과금을 여러 번 세어 두 배가 됐습니다.

같은 샘플을 세 번 실행한 결과
조건
Run 1
Run 2
Run 3
EN
360 ✓
360 ✓
720 ✕
KO
720 ✕
360 ✓
360 ✓
MIX1
360 ✓
720 ✕
360 ✓
MIX2
360 ✓
360 ✓
360 ✓
MIX3
360 ✓
720 ✕
720 ✕

이 시험의 성격

좋은 점

  • 정답 숫자뿐 아니라 실행 가능한 계산 절차를 얻습니다.
  • tax, return, risk, valuation 같은 전문 개념이 풍부해 C2 밀도가 높습니다.
  • context와 숫자는 그대로 두고 질문만 다섯 조건으로 바꿀 수 있습니다.

주의할 점

  • 우리 선택 표본은 평균 89%대로 높아 조건 차이가 잘 드러나지 않는 천장 효과가 있습니다.
  • 실행 가능한 코드라도 금융 규칙을 잘못 해석하면 숫자가 틀립니다.
  • FinanceReasoning에는 CoT 방식도 있지만, 우리 연구는 재현성을 위해 PoT 실행 채점을 고정했습니다.

실제 풀에는 이런 문제도 있습니다

test-2000기업 인수가 없었다면 2012년 발행주식 수가 몇 백만 주였을지 계산
test-20012012년부터 2017년까지 CME Group의 연환산 수익률 계산
test-2009Brazilian Real 기준 carry trade의 이익 계산
이 페이지의 핵심: FinanceReasoning 점수는 “설명이 설득력 있다”가 아니라, 생성된 프로그램을 실행했을 때 정답 숫자가 나왔다는 뜻입니다. 이 샘플처럼 같은 조건도 다시 생성하면 계산 전략이 바뀔 수 있습니다.