Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Effective Annual Rate Comparator (Multiple Loans/Cards) mechanism

The inspectable method record for Effective Annual Rate Comparator (Multiple Loans/Cards), kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The educational estimate label is appropriate, but the instrument cannot honestly claim a unique true-cost comparison until principal, fee timing, payment schedule, payment frequency, nominal-versus-effective rate semantics, and partial-period treatment are specified. The third vector uses a stated prorated-period convention for the annually compounded six-month offer solely to demonstrate the unit-conversion ambiguity; a production implementation must choose and document one convention or use dated cash-flow IRR.

  • EAR=(1+r/n)^n-1 is correct only when r is a nominal annual rate, n is the number of equal compounding periods per year, and the rate is compounded periodically.
  • The specification does not define how origination fees are converted into effective cost. True fee-inclusive cost generally requires an IRR/APR calculation from dated cash flows, not simply adding or amortizing the fee arithmetically.
  • The inputs omit principal amount, fee timing, repayment schedule, payment frequency, and whether the quoted rate is nominal or already effective; therefore a unique true-cost ranking cannot be computed.
  • The term is listed as an input but the stated EAR formula does not use it. Term is required for fee-inclusive annualization and cash-flow-based effective cost.

Units and conventions

  • r is a decimal nominal annual rate, so 12% is entered as 0.12.
  • n is a positive integer representing compounding periods per year.
  • Term is measured in years; a six-month term is 0.5 years.
  • For the test vectors, principal is the amount stated, origination fees are paid upfront, and repayment is a single bullet payment at maturity.
  • For the test vectors, fee-inclusive effective annual cost is annualized from net proceeds received: (maturity repayment divided by principal minus upfront fee) raised to the power 1/term, minus 1.
  • All rates in expected outputs are decimal fractions, not percentage-point values.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "offers": [
      {
        "id": "A",
        "principal": 10000,
        "nominal_annual_rate": 0.12,
        "origination_fee": 0,
        "term_years": 1,
        "compounding_periods_per_year": 12
      },
      {
        "id": "B",
        "principal": 10000,
        "nominal_annual_rate": 0.118,
        "origination_fee": 0,
        "term_years": 1,
        "compounding_periods_per_year": 4
      }
    ]
  },
  "expected_outputs": {
    "ranked_by_ear": [
      "B",
      "A"
    ],
    "offers": {
      "A": {
        "ear": 0.12682503
      },
      "B": {
        "ear": 0.123324947
      }
    }
  },
  "working": "A: (1+0.12/12)^12-1 = (1.01)^12-1 = 1.126825030-1 = 0.126825030, or 12.682503%. B: (1+0.118/4)^4-1 = (1.0295)^4-1 = 1.123324947-1 = 0.123324947, or 12.332495%. Therefore B ranks below A."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

A zero-principal offer makes fee amortization undefined, so the instrument must reject it. The specification also leaves fee sign and fee-amortization basis ambiguous, producing materially different effective costs.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche5/tranche5-results.json
  • BOUNDARY_HAZARD_CATALOG.json