{
  "id": "v20-ca-stress-test",
  "version": "20.16.0",
  "name": "Canadian Mortgage Stress-test Calculator — Canada",
  "shortName": "Canadian Mortgage Stress-test",
  "description": "Apply the OSFI uninsured-mortgage qualifying-rate floor and buffer, using Canadian nominal semi-annual compounding for a level monthly payment. CAD planning view; stated limitations apply.",
  "category": "Finance",
  "categorySlug": "finance",
  "keywords": [
    "stress-test",
    "ca",
    "tax-authority"
  ],
  "status": "live",
  "workStatus": "pending",
  "reviewStatus": "pending",
  "migrationStatus": "new",
  "engine": "native",
  "creator": null,
  "reviewer": null,
  "quality": {
    "availability": "live",
    "technicalReviewRecord": "/reviews/v20-ca-stress-test.json",
    "qualifiedReview": "pending",
    "qualifiedReviewer": null,
    "qualifiedReviewDate": null,
    "formulaVersion": "20.16.0",
    "referenceCoverage": "references-listed",
    "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
    "historicalMetadataDate": "",
    "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
  },
  "notice": "Illustrative defaults are not local quotes or verified legal rules. Dated reference components and user-entered assumptions are explicitly distinguished. Professional review is pending.",
  "urls": {
    "page": "/ca/stress-test/",
    "definition": "/ca/stress-test/definition.json",
    "schema": "/ca/stress-test/schema.json",
    "llms": "/ca/stress-test/llms.txt",
    "legacyDefinition": "/ca/stress-test/definition.json"
  },
  "queryExample": "https://askcalculators.com/ca/stress-test/?principal=280000&contractRate=4.5&years=25&income=80000&housingOther=400&debt=200&gdsLimit=39&tdsLimit=44",
  "queryParameters": {
    "principal": {
      "label": "Mortgage principal",
      "type": "money",
      "required": true,
      "default": 280000
    },
    "contractRate": {
      "label": "Contract nominal annual rate",
      "type": "percent",
      "required": true,
      "default": 4.5
    },
    "years": {
      "label": "Amortization years",
      "type": "number",
      "required": true,
      "default": 25
    },
    "income": {
      "label": "Gross annual household income",
      "type": "money",
      "required": true,
      "default": 80000
    },
    "housingOther": {
      "label": "Monthly property tax, heating and assessed condo allowance",
      "type": "money",
      "required": true,
      "default": 400
    },
    "debt": {
      "label": "Other monthly debt payments",
      "type": "money",
      "required": true,
      "default": 200
    },
    "gdsLimit": {
      "label": "Verified lender GDS limit",
      "type": "percent",
      "required": true,
      "default": 39
    },
    "tdsLimit": {
      "label": "Verified lender TDS limit",
      "type": "percent",
      "required": true,
      "default": 44
    }
  },
  "inputs": [
    {
      "id": "principal",
      "label": "Mortgage principal",
      "type": "money",
      "defaultValue": 280000,
      "required": true,
      "min": 0,
      "max": 1000000000000,
      "step": 0.01,
      "prefix": "CAD",
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "contractRate",
      "label": "Contract nominal annual rate",
      "type": "percent",
      "defaultValue": 4.5,
      "required": true,
      "min": 0,
      "max": 30,
      "step": 0.1,
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "years",
      "label": "Amortization years",
      "type": "number",
      "defaultValue": 25,
      "required": true,
      "min": 1,
      "max": 40,
      "step": 1,
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "income",
      "label": "Gross annual household income",
      "type": "money",
      "defaultValue": 80000,
      "required": true,
      "min": 0,
      "max": 1000000000000,
      "step": 0.01,
      "prefix": "CAD",
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "housingOther",
      "label": "Monthly property tax, heating and assessed condo allowance",
      "type": "money",
      "defaultValue": 400,
      "required": true,
      "min": 0,
      "max": 1000000000000,
      "step": 0.01,
      "prefix": "CAD",
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "debt",
      "label": "Other monthly debt payments",
      "type": "money",
      "defaultValue": 200,
      "required": true,
      "min": 0,
      "max": 1000000000000,
      "step": 0.01,
      "prefix": "CAD",
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "gdsLimit",
      "label": "Verified lender GDS limit",
      "type": "percent",
      "defaultValue": 39,
      "required": true,
      "min": 0,
      "max": 100,
      "step": 0.1,
      "help": "Illustrative starting value; replace with your own evidence."
    },
    {
      "id": "tdsLimit",
      "label": "Verified lender TDS limit",
      "type": "percent",
      "defaultValue": 44,
      "required": true,
      "min": 0,
      "max": 100,
      "step": 0.1,
      "help": "Illustrative starting value; replace with your own evidence."
    }
  ],
  "outputs": [
    {
      "id": "qualifyingRate",
      "label": "Qualifying nominal annual rate",
      "format": "percent",
      "digits": 2
    },
    {
      "id": "payment",
      "label": "Stressed monthly mortgage payment",
      "format": "currency",
      "digits": 2,
      "primary": true,
      "currency": "CAD"
    },
    {
      "id": "gds",
      "label": "Gross debt-service ratio",
      "format": "percent",
      "digits": 2
    },
    {
      "id": "tds",
      "label": "Total debt-service ratio",
      "format": "percent",
      "digits": 2
    },
    {
      "id": "assessment",
      "label": "Entered-limit comparison",
      "format": "text",
      "digits": 2
    }
  ],
  "formula": {
    "expression": "Qualifying rate = max(contract + 2 percentage points, 5.25%). Monthly rate = (1 + nominal/2)^(1/6) − 1.",
    "note": "Inputs are converted to canonical units before evaluating this stated formula."
  },
  "examples": [
    {
      "label": "Illustrative defaults; required verification checks remain unconfirmed",
      "inputs": {
        "unitSystem": "metric",
        "principal": 280000,
        "contractRate": 4.5,
        "years": 25,
        "income": 80000,
        "housingOther": 400,
        "debt": 200,
        "gdsLimit": 39,
        "tdsLimit": 44
      }
    }
  ],
  "sources": [
    {
      "label": "CA income authority",
      "url": "https://www.canada.ca/en/revenue-agency/services/tax/individuals/tax-rates-brackets/current-year.html"
    },
    {
      "label": "OSFI uninsured mortgage qualifying rate",
      "url": "https://www.osfi-bsif.gc.ca/en/supervision/financial-institutions/banks/minimum-qualifying-rate-uninsured-mortgages"
    }
  ],
  "publicSlug": "stress-test",
  "namespace": "ca",
  "countries": [
    "ca"
  ]
}
