Time Value of Money and Interest Rates › Present Value and Discounting

Michael BrenndoerferUpdated February 6, 20267 min read
Quantitative FinanceAll chapters
Part 1 of 15Mathematical Foundations
Chapter 1Time Value of Money and Interest Rates › Present Value and Discounting
Reading section 3 of 9 · Present Value and Discounting · 7 minSection 3 of 9 · 7 min

Book contents

Section 3 of 9 · 7 min read

Time Value of Money and Interest Rates › Present Value and DiscountingOne section · Sections in this chapter3 / 9 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

While future value answers "what will this be worth later?", present value addresses the inverse question: "what is a future payment worth today?" Pricing a bond, evaluating an investment project, and calculating how much to invest today for a future retirement payment all involve present value calculations.

The Discounting Process

Discounting is the reverse of compounding. If compounding moves money forward in time by multiplying by growth factors, discounting moves money backward in time by dividing by those same factors. Algebraically, we unwrap the future value formula to find the present value:

PV=FV(1+r)tPV = \frac{FV}{(1 + r)^t}

where:

  • PVPV: present value (value today)
  • FVFV: future value (amount to be received)
  • rr: effective annual discount rate
  • tt: time until payment (years)
  • (1+r)−t(1 + r)^{-t}: the discount factor

Use r>−1r>-1 so the annual growth factor is positive. For fractional years, this expression uses the effective-annual-rate interpolation; a contract may instead specify completed periods or a stub-period rule.

The discount factor (1+r)−t(1 + r)^{-t} answers a simple question: what fraction of a future dollar is worth today? For a positive interest rate and a strictly positive horizon, this fraction is less than one, which reflects the fundamental principle that a dollar today is worth more than a dollar tomorrow. Holding the other variable fixed, a higher discount rate or longer horizon produces a smaller discount factor. Distant or heavily discounted cash flows then contribute less to present value.

For continuous compounding, the discounting formula takes an even more elegant form:

PV=FV⋅e−rtPV = FV \cdot e^{-rt}

where:

  • PVPV: present value
  • FVFV: future value
  • rr: continuously compounded discount rate
  • tt: time in years
  • e−rte^{-rt}: the continuous discount factor, strictly between 0 and 1 when r>0r>0 and t>0t>0, and equal to 1 at t=0t=0

The negative exponent in e−rte^{-rt} reflects that we are reversing the compounding process. Just as erte^{rt} grows money forward in time by a factor that increases with time, e−rte^{-rt} shrinks it backward by a factor that decreases with time. The symmetry works as follows: if continuous compounding with rate rr takes $1 today to erte^{rt} at time tt, then discounting takes erte^{rt} at time tt back to $1 today. The discount factor decays exponentially with time, meaning distant cash flows are worth progressively less today. The decay is steeper for higher discount rates.

Present Value

Present value is the current worth of a future sum of money, calculated by discounting the future amount at an appropriate interest rate. It answers the question: how much would you need to invest today to receive a specified amount in the future?

The term (1+r)−t(1 + r)^{-t} or e−rte^{-rt} is called the discount factor. It represents the present value of $1 received at time tt. The discount factor is the "exchange rate" between future dollars and present dollars. If the 5-year discount factor is 0.78, then $1 received in 5 years is worth only $0.78 today, or equivalently, you would need to invest $0.78 today to have $1 in 5 years.

In[11]:
Code
import numpy as np


def discount_factor(r, t, continuous=False):
    """Calculate discount factor for rate r and time t."""
    t = np.asarray(t, dtype=float)
    if continuous:
        return np.exp(-r * t)
    return (1.0 + r) ** (-t)


# Example: What is $1,000 in 5 years worth today at 6%?
FV = 1000
r = 0.06
t = 5

PV_discrete = FV * discount_factor(r, t, continuous=False)
PV_continuous = FV * discount_factor(r, t, continuous=True)
Out[12]:
Console
Future value: $1,000.00 in 5 years
Discount rate: 6.0%

Present value (discrete):   $747.26
Present value (continuous): $740.82

Discount factor (discrete):   0.747258
Discount factor (continuous): 0.740818

For a positive future payment, a positive discount rate and a strictly positive horizon give a present value below the future amount. The discount factor tells you what fraction of a future dollar is worth today. At an effective annual rate of 6% for 5 years, each future dollar is worth about 75 cents today. The code holds the numerical quote at 6% under both conventions, so it compares different economic rates. Converting 6% effective annual to its equivalent continuous quote, ln⁡(1.06)\ln(1.06), would make the two present values identical.

The Discount Curve

In practice, interest rates vary by maturity. Short-term rates may differ substantially from long-term rates. A discount curve (or discount function) maps each maturity to its corresponding discount factor. This curve is a key building block of fixed-income analysis. Once the currency, collateral or funding setup, and discounting conventions are fixed, it contains the discount factors needed to value deterministic cash flows compatible with that setup. Contingent or floating cash flows can require additional projection or model inputs.

The shape of a discount-factor curve encodes the term structure of spot rates and, through ratios of discount factors, implied forward rates. A steep decline means that discounting over those maturities is strong; a slow decline means it is weak. Interpreting either shape as an expectation of future short rates requires a model that also accounts for term premia, so curve steepness alone does not establish that rates are expected to rise or fall. The field of term-structure modeling focuses on constructing and interpreting these relationships.

Out[13]:
Visualization
Declining curve showing discount factors from 1.0 at year 0 to about 0.6 at year 10.
Discount curve showing the present value of $1 received at different future dates. At a constant 5% rate, the discount factor declines exponentially with time, reaching about 0.61 at year 10.

Discount curves are fundamental inputs to fixed-income analysis because they supply maturity-specific discount factors. A complete valuation may also require credit and liquidity adjustments, separate discount and projection curves, rate dynamics, volatility, and contract or collateral conventions. We will explore term structure modeling in depth in later chapters.

Out[14]:
Visualization
Multiple declining curves showing discount factors at different rates from 2% to 10%.
Impact of discount rate on present value across different time horizons. Higher discount rates dramatically reduce present values, especially for distant cash flows. A 10% rate reduces a 20-year cash flow to less than 15% of its nominal value.