{
  "id": "tvm",
  "version": "2586099c1e17",
  "status": "published",
  "name": "TVM Calculator",
  "question": "What is the missing TVM value?",
  "summary": "Solves the time value of money (TVM) equation for the number of periods, the interest rate, the present value, the payment or the future value.",
  "category": "finance",
  "subcategory": "investing",
  "url": "https://www.acalculator.org/finance/tvm-calculator",
  "markdown": "https://www.acalculator.org/finance/tvm-calculator.md",
  "kind": "function",
  "method": "PV × (1 + i)^N + PMT × (1 + i × t) × ((1 + i)^N − 1) ÷ i + FV = 0, with i = (1 + I/Y ÷ (100 × C/Y))^(C/Y ÷ P/Y) − 1 and t = 1 for payments at the start of each period (BGN), 0 at the end (END). Money received is positive, money paid is negative.",
  "assumptions": [
    "The interest rate is the same in every period, and every payment is the same size.",
    "The yearly rate is nominal, compounded as many times a year as set; payments are made as many times a year as set.",
    "No fees or taxes are included. This is an estimate for planning, not financial advice."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "solve": {
        "title": "Compute",
        "description": "Which of the five values to work out; type the other four.",
        "type": "string",
        "enum": [
          "n",
          "rate",
          "pv",
          "pmt",
          "fv"
        ]
      },
      "n": {
        "title": "N (number of periods)",
        "description": "The number of payment periods.",
        "type": "number",
        "exclusiveMinimum": 0,
        "maximum": 12000
      },
      "rate": {
        "title": "I/Y (yearly interest rate)",
        "description": "The nominal yearly interest rate in percent, compounded C/Y times a year.",
        "type": "number",
        "x-unit": "percent",
        "exclusiveMinimum": -100,
        "maximum": 1000
      },
      "pv": {
        "title": "PV (present value)",
        "description": "The amount at the start. Money you receive is positive; money you pay or deposit is negative.",
        "type": "number",
        "x-unit": "USD",
        "minimum": -1000000000000,
        "maximum": 1000000000000
      },
      "pmt": {
        "title": "PMT (payment)",
        "description": "The payment each period, with the same sign rule. 0 for a single sum.",
        "type": "number",
        "x-unit": "USD",
        "minimum": -1000000000000,
        "maximum": 1000000000000
      },
      "fv": {
        "title": "FV (future value)",
        "description": "The amount after the last period, with the same sign rule.",
        "type": "number",
        "x-unit": "USD",
        "minimum": -1000000000000,
        "maximum": 1000000000000
      },
      "py": {
        "title": "P/Y (payments a year)",
        "description": "How many payments are made in a year: 12 for monthly.",
        "type": "integer",
        "minimum": 1,
        "maximum": 365
      },
      "cy": {
        "title": "C/Y (compounding a year)",
        "description": "How many times a year interest compounds. Usually the same as P/Y.",
        "type": "integer",
        "minimum": 1,
        "maximum": 365
      },
      "due": {
        "title": "Payments at the",
        "description": "The end of each period (END, an ordinary annuity) or the start of each period (BGN, an annuity due).",
        "type": "string",
        "enum": [
          "end",
          "begin"
        ]
      }
    }
  },
  "outputs": {
    "n": {
      "label": "N (number of periods)",
      "description": "The number of payment periods.",
      "format": "number"
    },
    "rate": {
      "label": "I/Y (yearly interest rate)",
      "description": "The nominal yearly interest rate in percent, compounded C/Y times a year.",
      "format": "percent"
    },
    "pv": {
      "label": "PV (present value)",
      "description": "The amount at the start. Money you receive is positive; money you pay or deposit is negative.",
      "format": "money"
    },
    "pmt": {
      "label": "PMT (payment)",
      "description": "The payment each period, with the same sign rule. 0 for a single sum.",
      "format": "money"
    },
    "fv": {
      "label": "FV (future value)",
      "description": "The amount after the last period, with the same sign rule.",
      "format": "money"
    },
    "periodRate": {
      "label": "Rate per period",
      "description": "The interest rate for one payment period, i = (1 + I/Y ÷ C/Y)^(C/Y ÷ P/Y) − 1.",
      "format": "percent"
    },
    "ear": {
      "label": "Effective yearly rate",
      "description": "The rate over a whole year once interest compounds: (1 + i)^(P/Y) − 1.",
      "format": "percent"
    },
    "totalPmt": {
      "label": "Total of payments",
      "description": "N × PMT, with the payment’s sign.",
      "format": "money"
    },
    "interest": {
      "label": "Net interest",
      "description": "PV + N × PMT + FV: interest you earn (positive) or pay (negative) over the whole time, from the signs of the cash flows.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "solve": "fv",
      "py": 12,
      "cy": 12,
      "due": "end",
      "fv": 106639.02,
      "n": 120,
      "rate": 7,
      "pv": -10000,
      "pmt": -500
    },
    "outputs": {
      "fv": 106639.01748372431,
      "periodRate": 0.5833333333333334,
      "ear": 7.229008085623567,
      "totalPmt": -60000,
      "interest": 36639.01748372431
    },
    "text": "N = 120, I/Y = 7%, PV = -$10,000.00, PMT = -$500.00, FV = $106,639.02."
  },
  "examples": [
    {
      "given": {
        "solve": "fv",
        "n": 12,
        "rate": 12,
        "pv": 0,
        "pmt": -1000,
        "py": 12,
        "cy": 12,
        "due": "end"
      },
      "expect": {
        "fv": 12682.503013196965,
        "totalPmt": -12000,
        "interest": 682.503013196965
      },
      "source": "Microsoft Excel FV function, example 2: $12,682.50 (https://support.microsoft.com/en-us/office/fv-function-2eef9f44-a084-4c61-bdd8-4fe4bb1b71b3); Python 3 cross-check"
    },
    {
      "given": {
        "solve": "fv",
        "n": 35,
        "rate": 11,
        "pv": 0,
        "pmt": -2000,
        "py": 12,
        "cy": 12,
        "due": "begin"
      },
      "expect": {
        "fv": 82846.2463718997
      },
      "source": "Microsoft Excel FV function, example 3: $82,846.25 (https://support.microsoft.com/en-us/office/fv-function-2eef9f44-a084-4c61-bdd8-4fe4bb1b71b3); Python 3 cross-check"
    },
    {
      "given": {
        "solve": "pv",
        "n": 240,
        "rate": 8,
        "pmt": 500,
        "fv": 0,
        "py": 12,
        "cy": 12,
        "due": "end"
      },
      "expect": {
        "pv": -59777.14585118838
      },
      "source": "Microsoft Excel PV function example: ($59,777.15) (https://support.microsoft.com/en-us/office/pv-function-23879d31-0e02-4321-be01-da16e8168cbd); Python 3 cross-check"
    },
    {
      "given": {
        "solve": "pmt",
        "n": 216,
        "rate": 6,
        "pv": 0,
        "fv": 50000,
        "py": 12,
        "cy": 12,
        "due": "end"
      },
      "expect": {
        "pmt": -129.08116086799265
      },
      "source": "Microsoft Excel PMT function, example 3: ($129.08) (https://support.microsoft.com/en-us/office/pmt-function-0214da64-9a63-4996-bc20-214433fa6441); Python 3 cross-check"
    },
    {
      "given": {
        "solve": "fv",
        "n": 10,
        "rate": 0,
        "pv": -1000,
        "pmt": -100,
        "py": 12,
        "cy": 12,
        "due": "end"
      },
      "expect": {
        "fv": 2000,
        "interest": 0
      },
      "source": "the 0% case of the TVM equation, PV + PMT × N + FV = 0 (Microsoft Excel PV function, https://support.microsoft.com/en-us/office/pv-function-23879d31-0e02-4321-be01-da16e8168cbd); hand calculation in content.mdx"
    }
  ],
  "sources": [
    "Texas Instruments, BA II PLUS Guidebook: the Time-Value-of-Money worksheet and its formulas. https://education.ti.com/html/eguides/financials/pdfs/EN/BA-II-PLUS_EN.pdf",
    "Microsoft, Excel FV, PV and PMT functions, with worked examples. https://support.microsoft.com/en-us/office/fv-function-2eef9f44-a084-4c61-bdd8-4fe4bb1b71b3",
    "S. A. Broverman (2017), Mathematics of Investment and Credit, 7th edition, chapters 1 and 2."
  ],
  "related": [
    "financial",
    "future-value",
    "present-value",
    "compound-interest",
    "annuity"
  ],
  "changelog": []
}
