Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- SWP Forward Rate Mode
-
Default Derive from discount factors Allowed Enter forward rates, Derive from discount factors
About this input
Uses entered forwards plus a visible spread or derives each forward from adjacent discount factors.
- SWP Position
-
Default Pay fixed / receive floating Allowed Pay fixed / receive floating, Receive fixed / pay floating
About this input
Sets the sign of net present value and bumped net present value.
- SWP Notional
-
Unit user currency Default 10000000 Range 0.01 to 1000000000
About this input
Reference notional multiplied by each period's notional factor.
- SWP Fixed Rate
-
Unit fraction/year Default 0.05 Range -1 to 1
About this input
Annual fixed coupon rate applied to every active accrual period.
- SWP Active Term Periods
-
Unit periods Default 5 Range 1 to 10
About this input
Number of leading grid rows included in both legs.
- SWP Manual Forward Spread Conditional
-
Unit fraction/year Default 0 Range -1 to 1
About this input
Added to every entered forward only in Enter forward rates mode.
- Ten periods - forward-rate column is shown but ignored
-
Default 10 rows
About this input
Submit exactly ten complete ordered rows; rows after the active term are validated but numerically inert.
Column Range or allowed values Payment label Not declared Period 1 to 10 Accrual fraction 0.01 to 2 Entered forward rate -1 to 1 Discount factor 1E-06 to 2 Notional factor 0 to 1
Outputs
- SWP Fixed Leg PV
-
Unit user currency
About this output
Present value of active fixed coupons before position sign.
- SWP Floating Leg PV
-
Unit user currency
About this output
Present value of active forward-based floating coupons before position sign.
- SWP Net Present Value
-
Unit user currency
About this output
Signed fixed-minus-floating or floating-minus-fixed value according to the selected position.
- SWP Par Swap Rate
-
Unit fraction/year
About this output
Fixed rate that equates coupon-leg present values on the entered schedule.
- SWP Weighted Annuity
-
Unit discounted years
About this output
Sum of notional factor times accrual fraction times discount factor.
- SWP Coupon DV01
-
Unit user currency per basis point
About this output
Notional times weighted annuity times one basis point.
- SWP Market DV01
-
Unit user currency per basis-point scenario
About this output
Absolute change in signed net PV under the transparent forward-and-discount-factor bump.
- SWP Bumped Net Present Value
-
Unit user currency
About this output
Signed net PV after the one-basis-point parallel scenario.
- SWP Active Periods
-
Unit periods
About this output
Leading grid rows included in valuation.
- SWP Position Used
-
No unit declared
About this output
Selected pay-fixed or receive-fixed position.
- Model Status
-
No unit declared
About this output
OK identifies a finite active schedule; CHECK flags increasing discount factors; NOT VALID identifies intake or arithmetic failure.
Methodology
Purpose and model boundary
This model values fixed and floating coupon legs on a user-entered ten-period discount schedule. Floating coupons use entered forward rates plus a spread or forwards implied from adjacent discount factors. The workbook reports leg present values, signed swap value, par rate, coupon DV01, and a transparent parallel market-curve bump. It is not a dealer mark, collateral valuation, hedge-accounting result, or regulatory capital model.
Inputs and units
The scalar inputs select the forward-rate route and the pay-fixed or receive-fixed position. Notional is a positive user-currency amount, fixed rate and optional manual spread are annual fractions, and active term is from one through ten periods. The spread is active only in Enter forward rates mode.
The fixed six-column grid contains exactly ten rows: text payment label, ordered period number, accrual fraction, entered forward rate, discount factor, and notional factor. Accrual fractions are years, entered forwards are annual fractions, discount factors are present value per unit, and notional factors scale the reference notional. Rows after the active term are still checked but do not affect the calculation.
Governing relationships
For active period i, let N be notional, n_i notional factor, a_i accrual fraction, D_i discount factor, r_f fixed coupon rate, and F_i active forward rate. With D_0 = 1:
F_i = entered forward_i + manual spread in entered-forward mode
F_i = (D_(i-1)/D_i - 1) / a_i in discount-factor-derived mode
The discounted annuity weight and coupon present values are:
w_i = n_i × a_i × D_i
PV_fixed,i = N × r_f × w_i
PV_float,i = N × F_i × w_i
A = sum(w_i)
PV_fixed = sum(PV_fixed,i) and PV_float = sum(PV_float,i)
Net present value is PV_float - PV_fixed for pay-fixed/receive-floating and the opposite sign for receive-fixed/pay-floating. Par rate and fixed-coupon DV01 are:
Par rate = PV_float / (N × A)
Coupon DV01 = N × A × 0.0001
For the market bump, cumulative time is t_i = sum(a_j, j = 1...i). The workbook applies:
D_i,bump = D_i / 1.0001^(t_i)
F_i,bump = F_i + 0.0001
Both legs are repriced with those values. Market DV01 is the absolute difference between bumped and original signed net PV.
Calculation sequence
- Validate route, position, scalar values, and all ten complete curve rows.
- Mark the leading active-term rows. Later rows remain present but contribute zero.
- Select entered-plus-spread or discount-implied forward for each active row.
- Calculate annuity weights and discounted fixed and floating coupon values, then sum both legs.
- Apply the selected position sign, solve par rate, and calculate coupon DV01.
- Accumulate period time, apply the one-basis-point forward and discount-factor bump, reprice both legs, and calculate market DV01.
- Build the fixed-versus-floating coupon chart from active workbook rows and evaluate discount-factor monotonicity.
Outputs and interpretation
Fixed-leg and floating-leg PV are unsigned coupon-leg totals. Net present value follows the selected position. Par swap rate is the fixed rate that equalizes the modeled coupon-leg values. Weighted annuity is the discounted time/notional-factor basis. Coupon DV01 changes only the fixed coupon; market DV01 reprices both legs under the workbook's stated parallel scenario. Bumped net PV exposes that scenario result, and active periods and position used make the calculation basis explicit.
The chart compares discounted fixed and floating coupons by discrete payment period. No principal exchange is included.
Validation and status logic
The workbook evaluates status in this order:
| Condition | Returned status |
|---|---|
| A selector, scalar, text label, ordered period, or complete ten-row curve rule fails | NOT VALID: correct swap selectors, scalars, or all ten complete ordered curve rows |
| The active annuity is nonpositive or an active price/bump array is nonnumeric | NOT VALID: active swap schedule produces a nonfinite annuity, price, or bump result |
An active discount factor exceeds its predecessor by more than 0.000000000001, with D_0 = 1 |
CHECK: active discount factors are not nonincreasing |
| None of the preceding conditions applies | OK |
Input and derived failures take precedence over the monotonicity check. An increasing discount-factor segment remains calculable and may imply a negative forward, so it returns CHECK rather than being overwritten.
Assumptions and limitations
- The swap exchanges coupons only; no principal exchange is modeled.
- Discount factors and accrual fractions are positive; bounded negative fixed and forward rates are allowed.
- Implied forwards assume each row spans its entered accrual from the previous node.
- The market bump is a transparent parallel scenario, not a calibrated key-rate shock.
- There is no calendar, generated day count, reset lag, fixing, compounding-in-arrears, collateral, multi-curve, credit, funding, settlement, or counterparty adjustment.
- DV01 does not capture optionality, basis, volatility, or large-shock nonlinearity.
Restrictions and non-computing states
The request must retain ten complete six-column rows. Payment labels must be nonblank text of at most 40 characters. Period numbers must equal their row positions 1 through 10. Accrual fraction must be 0.01 through 2, entered forward and active manual spread -1 through 1, discount factor 0.000001 through 2, and notional factor 0 through 1. Notional must be 0.01 through 1,000,000,000. A zero or underflowed active weighted annuity prevents a result even when individual inputs passed their bounds.
Errors and warnings
This calculator refuses unknown options, malformed grid shape, blank cells, quoted numerics, and values outside their allowed ranges before calculation. Workbook NOT VALID separates intake failure from an unusable active annuity or bump. Workbook CHECK preserves a computable nonmonotonic discount schedule. A connection or calculation-service failure is not a zero-valued swap and must be reported separately.
References
Swap, notional, fixed/floating obligation, and derivatives-risk context follows the CFTC Glossary. Present-value and fixed-versus-floating valuation context follows the BIS paper The Valuation of US Dollar Interest Rate Swaps. The workbook independently implements the stated identities and embeds no live curve or transaction data.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.