Time Value
startup_valuation.tv
¶
Time value of money calculations.
Chapter 2: Mathematical Foundations — Time Value of Money
Classes¶
Functions¶
present_value(future_value, rate, periods)
¶
Calculate present value of a single future cash flow.
Formula: PV = C / (1 + r)^t
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
future_value
|
float
|
Future cash flow (C). |
required |
rate
|
float
|
Discount rate (r). |
required |
periods
|
float
|
Number of periods (t). |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with present value. |
Example
result = present_value(11000, 0.08, 1) round(result.value, 2) 10185.19
Source code in src/startup_valuation/tv.py
net_present_value(cash_flows, rate)
¶
Calculate net present value of a series of cash flows.
Formula: NPV = Σ Cₜ / (1 + r)^t
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cash_flows
|
list[float]
|
Cash flows at each period (C₀, C₁, ..., Cₜ). |
required |
rate
|
float
|
Discount rate (r). |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with NPV. |
Example
result = net_present_value([-100000, 30000, 40000, 50000], 0.10) round(result.value, 0) -2103.0
Source code in src/startup_valuation/tv.py
annuity_present_value(payment, rate, periods)
¶
Calculate present value of an annuity.
Formula: PV = C × [(1 - (1 + r)^(-n)) / r]
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
payment
|
float
|
Periodic payment (C). |
required |
rate
|
float
|
Discount rate per period (r). |
required |
periods
|
int
|
Number of periods (n). |
required |
Returns:
| Type | Description |
|---|---|
ValuationResult
|
ValuationResult with present value. |
Example
result = annuity_present_value(50000, 0.10, 4) round(result.value, 0) 158495.0