Present Value Calculations
Learn to calculate the current worth of future cash flows using appropriate discount rates.
Discounting
Cash Flows
Valuation
Present value is the current worth of a future sum of money or stream of cash flows given a specified rate of return. It's the foundation of all financial valuation, allowing comparison of cash flows occurring at different times.
# Present Value Calculation Framework
present_value = {
"formula": "PV = FV / (1 + r)^n",
"components": {
"PV": "Present value (what we're solving for)",
"FV": "Future value (cash flow to be received)",
"r": "Discount rate (required rate of return)",
"n": "Number of periods until payment"
},
"applications": {
"bond_valuation": "PV of coupon payments + principal",
"stock_valuation": "PV of expected dividends",
"capital_budgeting": "PV of project cash flows",
"loan_payments": "PV of payment stream"
},
"multiple_cash_flows": {
"formula": "PV = Σ(CFt / (1 + r)^t)",
"approach": "Sum PV of each individual cash flow",
"consideration": "Each cash flow discounted separately"
}
}
Future Value Analysis
Understand how money grows over time through the process of compounding.
Future Value Concepts:
• Simple interest: Interest earned only on principal
• Compound interest: Interest earned on interest
• Compounding frequency: Annual, semi-annual, quarterly, daily
• Rule of 72: Approximate doubling time
Compounding Power:
The frequency of compounding significantly affects future values. Daily compounding yields more than annual compounding, but the difference diminishes as frequency increases beyond daily.
# Future Value Calculations
def calculate_future_value(principal, rate, periods, compounding=1):
"""Calculate future value with different compounding frequencies"""
if compounding == "continuous":
import math
return principal * math.exp(rate * periods)
else:
effective_rate = rate / compounding
total_periods = periods * compounding
return principal * (1 + effective_rate) ** total_periods
# Future Value Applications
fv_applications = {
"savings_growth": {
"example": "$1,000 at 5% for 10 years",
"calculation": "1000 * (1.05)^10 = $1,628.89"
},
"retirement_planning": {
"monthly_deposits": "Regular contributions with compounding",
"formula": "FV_annuity = PMT * [((1+r)^n - 1) / r]"
},
"rule_of_72": {
"approximation": "Years to double = 72 / interest_rate",
"example": "At 8%, money doubles in ~9 years"
}
}
Annuities and Perpetuities
Master valuation of regular payment streams, both finite and infinite duration.
Annuity Types:
• Ordinary annuity: Payments at end of period
• Annuity due: Payments at beginning of period
• Growing annuity: Payments increase at constant rate
• Perpetuity: Infinite payment stream
Common Applications:
• Mortgage and loan payments
• Retirement income streams
• Bond coupon payments
• Preferred stock dividends (perpetuities)
# Annuity and Perpetuity Formulas
annuity_formulas = {
"ordinary_annuity_pv": {
"formula": "PV = PMT * [(1 - (1+r)^-n) / r]",
"components": ["PMT = payment", "r = rate", "n = periods"]
},
"annuity_due_pv": {
"formula": "PV = PMT * [(1 - (1+r)^-n) / r] * (1+r)",
"difference": "Multiply ordinary annuity by (1+r)"
},
"perpetuity_pv": {
"formula": "PV = PMT / r",
"assumption": "Constant payments forever"
&