# fixed-income.wiki - full corpus > A machine-readable reference for fixed income mechanics: every common day-count convention with its exact algorithm and worked accrual, price and yield arithmetic from a cash-flow schedule, duration and convexity checked against exact repricing, curve bootstrapping and the four spread measures, settlement and quotation conventions by market, and the reset mechanics of floating-rate and inflation-linked instruments. Reviewed: 2026-08-27 License: CC BY 4.0 Source: https://fixed-income.wiki Change feed: https://fixed-income.wiki/changes.json ## Day count and accrual Reviewed: 2026-08-27 Canonical: https://fixed-income.wiki/day-count/ (JSON: https://fixed-income.wiki/day-count.json) Every interest calculation in fixed income begins with a day-count fraction: a numerator D counting the days in a period under a stated rule, over a denominator B standing for the days in a year under the same rule. The rules are not interchangeable. On the reference bond's own accrual period the eight conventions below produce four different accrued-interest figures, and three conventions that all call themselves 30/360 produce three different answers on month-end dates. The convention is a term of the instrument, not a modelling choice. ### Day count fraction The quantity that converts a calendar period into a fraction of a year, or of a coupon period, so that a rate can be turned into an amount. It is a term of the instrument. Two otherwise identical bonds with different bases pay different amounts on the same dates. Formula: Interest = notional * rate * D/B, where D is the convention's day count for the period and B its denominator ACT/ACT (ICMA) is the odd one out structurally: it is defined per coupon period, not per year, so it has no fixed denominator. Code that models it as D/B with B = 365 or 366 will be wrong on any period that is not exactly half a year, which for a 15 May / 15 November schedule is every period.,The four ACT-numerator conventions differ only in the denominator, so on any single period they scale each other exactly. The three 30-numerator conventions differ only in the month-end adjustment, so they agree on most dates and diverge precisely where semiannual schedules land.,A basis mismatch shows up as a settlement break, not a valuation error, which is why it is usually caught by operations rather than by trading. The cheapest control is to reconcile the accrued figure, not the price, on every new issue.,Confirm the basis against the offering document or the ISDA confirmation, not against a data vendor's default. Vendors carry a basis field and they carry it wrong often enough to matter. ### 30/360, Bond Basis (30U/360) Every month is treated as 30 days and every year as 360. The US variant adds three month-end adjustments, two of which concern February, and it is the presence or absence of those adjustments that separates this convention from the two others sharing the 30/360 name. Formula: D = 360*(Y2-Y1) + 30*(M2-M1) + (D2-D1), applying in order: if D1 is the last day of February and D2 is the last day of February then D2 = 30; if D1 is the last day of February then D1 = 30; if D1 is 31 then D1 = 30; if D2 is 31 and D1 is now 30 then D2 = 30. B = 360 The asymmetry in the last field is real and is the single most common 30/360 bug. A bond with 28 February and 31 August coupon dates accrues 180/360 in one half and 178/360 in the other, so its annual coupon on a strict day-count basis is 358/360 of the stated rate. Bond documentation resolves this by paying an exact half-coupon regardless; swap documentation does not, and pays the day-count amount.,The order of the adjustments matters. Applying the D2 = 31 rule before the D1 = 31 rule changes the answer on a 31st-to-31st pair, and both orders appear in production code.,The February rules are the US addition and are absent from 30E/360. If a system produces 182 where another produces 180 on a February-to-August period, the difference is almost always this, not a bug.,This is the default basis for US corporate, agency and municipal bonds and for the fixed leg of a USD swap, which means a corporate bond and its asset swap usually share the basis while the bond and a Treasury do not. ### 30E/360, Eurobond Basis The same 30-day-month arithmetic with a single, symmetric adjustment: any 31st becomes a 30th, at either end of the period, unconditionally. February is not special. Formula: D = 360*(Y2-Y1) + 30*(M2-M1) + (D2-D1), where D1 = min(D1, 30) and D2 = min(D2, 30). B = 360 Because it has no February rule, 30E/360 gives a longer count than Bond Basis for a February-to-month-end period and the same count for the reverse. The bias is directional, not random.,The name is unhelpful. This is the older ICMA 30/360, and ICMA's own current recommendation for new Eurobond issuance is ACT/ACT (ICMA), so a bond described as Eurobond Basis is usually an older one.,Of the three 30-day variants this is the only one that never inspects whether a date is a month end, which makes it the cheapest to implement correctly and the easiest to confuse with the other two. ### 30E/360 (ISDA), German basis The 30-day-month arithmetic with the month-end test generalised: any date that is the last day of its month becomes a 30th, whatever that date happens to be. The single exception is a termination date falling in February, which is left alone. Formula: D = 360*(Y2-Y1) + 30*(M2-M1) + (D2-D1), where D1 = 30 if D1 is the last day of its month, and D2 = 30 if D2 is the last day of its month unless D2 is the termination date and falls in February. B = 360 This is the only 30-day variant under which a full year of month-end periods sums to exactly 360. That is the point of it, and it is why German domestic instruments use it.,The February termination carve-out exists so that the final period ends on the real maturity date rather than a notional 30 February. It makes the last coupon a different length from every other coupon, which is correct and still surprises people.,The month-end test needs a calendar, not a comparison against 31. Code that tests D == 31 implements 30E/360 and not this convention, and the two agree on most dates, so the bug survives testing. ### ACT/ACT (ICMA), Rule 251 Accrual measured against the coupon period rather than against the year: actual days elapsed in the period, over actual days in the period, times one coupon. It is the only common convention that guarantees the sum of a year's accruals equals the stated annual coupon. Formula: Accrued = (C/f) * A/E, where A is actual days from the last coupon date to settlement and E is actual days in the current coupon period. Expressed as a year fraction, D/B = A/(E*f) The denominator changes every period. On this bond the same 30 days of holding accrues 0.366848 in the 184-day period and 0.372928 in the 181-day period. Daily accrual is not a constant, and any system that caches a per-day amount is wrong twice a year.,This is the accrual convention for US Treasury notes and bonds, gilts, and most sovereign and modern Eurobond issuance. It is also the reason a Treasury and a US corporate bond of identical coupon and dates report different accrued interest.,For irregular first or last periods the rule constructs notional quasi-coupon periods of the regular length and sums the fractions, which is what makes a long first coupon computable at all. See the entry on irregular periods.,ICMA's formulation is stated per period, so it does not need to know what a year is. That is a feature: no leap-year handling is required anywhere in the calculation. ### ACT/ACT (ISDA) Actual days split at each 31 December, with days falling in a leap year divided by 366 and days in a non-leap year by 365. It shares its name and numerator with ACT/ACT (ICMA) and is a different function. Formula: D/B = (days in the period falling in non-leap years)/365 + (days falling in leap years)/366 The last field is the reason this convention is not used for coupon accrual. It measures a fraction of a calendar year, and half a calendar year is not half a coupon period, so it does not reproduce the coupon. Applying it to a bond produces a coupon that varies period to period.,It is exact over any whole number of years, which is the property it was designed for and which ACT/365F lacks.,The split happens at each 31 December inclusive, so a period spanning three calendar years has three terms. Implementations that handle only two are common and only fail on periods longer than about a year.,When a confirmation says ACT/ACT with no qualifier, the question of which one is a real ambiguity with a real cash consequence, and it should be resolved against the document rather than assumed from the asset class. ### ACT/360 Actual days over a 360-day year. Because the calendar year has 365 or 366 days and the denominator has 360, a full year accrues more than the stated rate. Formula: D/B = actual days / 360. Over a 365-day year the fraction is 365/360 = 1.013889 This is the USD and EUR money-market basis and the basis for SOFR and EURIBOR floating legs, repo, and commercial paper. A SOFR coupon quoted at 4.000 percent is an ACT/360 rate and is not directly comparable with a bond yield quoted on ACT/ACT.,The 365/360 factor of 1.013889 is the single most useful number in cross-basis comparison. A quoted money-market rate must be multiplied by it before being set against a 365-basis rate, and the correction is worth about 5.6 basis points on a 4 percent rate.,The denominator does not change in a leap year, so a leap year accrues 366/360 of the stated rate. That is intentional and is the definition, not an error to correct.,Because the numerator is actual days, an ACT/360 period ending on an adjusted business day accrues over the adjusted length. Business-day adjustment therefore changes the interest amount on a floating leg, which it does not do on a bond paying an exact half-coupon. ### ACT/365F, Actual/365 Fixed Actual days over a fixed 365-day denominator, in leap years as well as ordinary ones. The word Fixed distinguishes it from ACT/ACT (ISDA), which is sometimes also written Actual/365. Formula: D/B = actual days / 365, always The Fixed suffix is load-bearing. Actual/365 without it is ambiguous and has been read both ways in production systems.,This is the money-market and floating-leg basis for GBP, AUD, CAD, JPY and HKD. A SONIA leg and a SOFR leg of the same quoted spread are not economically equal, and the wedge is the 365/360 factor.,Cross-currency basis quoting conventions inherit this split, so a basis spread quoted against SOFR and one quoted against SONIA are on different denominators before any spread is compared. ### NL/365, Actual/365 No Leap Actual days with every 29 February inside the period deleted, over a fixed 365-day denominator. It exists so that a period of a given calendar length always produces the same interest amount regardless of where it sits. Formula: D = actual days minus the count of 29 February dates in (start, end]. B = 365 Appears in some US agency documentation and in mortgage and loan servicing systems, and rarely in traded bonds. If a bond claims this basis, confirm it against the document rather than the vendor field.,The rule is stated on the half-open interval, so a period starting on 29 February does not lose the day and one ending on it does. Both readings exist in code and they differ by one day of interest once every four years.,It is the only common convention under which a borrower pays nothing on a specific calendar date, which is worth knowing before explaining a servicing statement to anyone. ### Accrued interest The share of the coming coupon that has economically been earned by the seller as at settlement date. It is compensation for holding period, not part of the negotiated price, and it is why the number a bond trades at is not the number that settles. Formula: AI = (C/f) * (A/E) on ACT/ACT (ICMA), or AI = C * D/B on a fraction-of-year convention. Settlement date counts as a day of the buyer, not the seller The convention is that accrual runs from the last coupon date up to but excluding settlement date. A one-day error in that boundary is the most common accrued break and is worth a full day of coupon, which on 10,000,000 of this bond is about 122.,Accrued interest is not a component of yield. Yield is computed from the full price; accrued is the bridge between the quoted price and the full price. Adding accrued into a price and then quoting it as a price is a category error that produces a yield roughly a basis point wrong here.,Because accrued is linear in time while the full price compounds, the quoted price of a bond trading exactly at its own coupon yield is slightly below par between coupon dates. On this bond at a yield of exactly 4.500 percent the quoted price is not 100 but roughly 99.9938. That gap is a convention artefact, not a mispricing.,Defaulted, deferred-coupon and pay-in-kind instruments trade flat, meaning no accrued changes hands. Whether a distressed bond trades flat is a negotiated point and it moves the settlement amount by the whole accrued figure. ### Clean price, dirty price and invoice amount Three numbers that are routinely conflated. The clean or quoted price is what is negotiated and what appears on a screen. The dirty or full price is clean plus accrued and is the number every valuation formula uses. The invoice amount is the dirty price scaled to the traded par amount, and is the only one that moves cash. Formula: P_full = P + AI. Invoice = par * P_full/100. Yield, duration, DV01 and convexity are all functions of P_full, never of P The quoted price is quoted because it is the part the market has an opinion about. Accrued is arithmetic, so quoting it would add noise to the negotiation without adding information. That is the whole reason the clean convention exists.,A clean price is comparable across settlement dates and a dirty price is not, because the dirty price sawtooths upward through each coupon period and drops by the coupon on payment. Any time series of dirty prices contains that sawtooth and it is not a return.,Rounding is a settlement matter with its own conventions: many markets round the invoice amount to the cent and some round accrued per 1,000 or per 1,000,000 of par before scaling. Which rounding applies is a documented term, and the difference is real money on a large ticket.,Some markets quote dirty. Certain money-market instruments, most short bills, and a number of emerging-market conventions trade on a full-price or discount basis, so the assumption that a quoted number is clean is itself market-specific. ### Ex-dividend dates and negative accrued interest Where a market fixes the coupon recipient a few days before payment, a trade settling inside that window transfers the bond without the coming coupon. The buyer is compensated by paying negative accrued: the invoice amount falls below the quoted price. Formula: Inside the ex-dividend period, AI = (C/f) * (A/E) - (C/f) = -(C/f) * (E-A)/E, which is negative and grows toward zero as settlement approaches the coupon date US Treasuries and US corporates have no ex-dividend period; the coupon follows the position on the payment date, so accrued is never negative. The concept is a gilt, JGB and some-European convention and code written only against US instruments will reject a negative accrued as invalid input.,The sign convention makes the arithmetic continuous: accrued jumps from just under a full coupon to minus a small amount at the ex-date, and the full price therefore drops by exactly one coupon on the ex-date rather than on the payment date. Marking a gilt through its ex-date without this produces a spurious one-day loss equal to the coupon.,Special ex and special cum trades let the parties override the default, which means the ex-dividend status of a specific trade is a trade term and not purely a function of the settlement date.,The window is in business days, so a holiday inside it moves the ex-date. Deriving it with a fixed seven calendar days is wrong roughly whenever it matters. ### Irregular first and last coupon periods A bond whose issue date does not fall on its coupon schedule has a first period that is shorter or longer than the rest, and its first coupon is correspondingly short or long. ACT/ACT (ICMA) handles this by constructing notional quasi-coupon periods of the regular length and summing fractions across them. Formula: Short first period: coupon = (C/f) * A/E, where E is the regular quasi-coupon period containing the issue date. Long first period: coupon = (C/f) * [A1/E1 + A2/E2], summed over each quasi-coupon period the long period touches The quasi-coupon period is notional: no payment occurs at its start, and it exists only to supply a denominator. It is generated from the schedule anchor, which is normally the maturity date rolled backwards, not the issue date rolled forwards.,The yield calculation for the first period uses the same w exponent machinery as any other period, with w measured against the quasi-period. A pricing routine that derives w from the actual first period length will misprice a new issue for its entire first period and then be correct forever afterwards, which makes the bug hard to find.,Schedule generation direction matters independently of the day count. A forward-generated schedule from a 31 January issue date and a backward-generated one from a 30 April maturity produce different intermediate dates, hence different E, hence different accrued.,A long first coupon is a small financing decision by the issuer and shows up as a first-period yield that differs from the bond's quoted yield. It is not a mispricing and it does not persist. #### The conventions, and what each one counts D is the numerator in days and B the denominator. The day-count fraction is D/B, except for ACT/ACT (ICMA), which is defined per coupon period rather than per year. Y, M and D with subscripts 1 and 2 are the year, month and day of the period start and end. | Convention | Also written | Numerator D | Denominator B | Typically applied to | |---|---|---|---|---| | 30/360 (Bond Basis) | 30/360, 30U/360, 30/360 US, ISDA Bond Basis | 360*(Y2-Y1) + 30*(M2-M1) + (D2-D1), after the US month-end adjustments | 360 | US corporate, agency and municipal bonds; USD fixed swap legs | | 30E/360 | Eurobond Basis, 30/360 ICMA, 30S/360 | Same expression with D1 and D2 each capped at 30 | 360 | Eurobonds under the older ICMA basis; some EUR fixed legs | | 30E/360 (ISDA) | 30E/360 ISDA, German, 30/360 German | Same expression, but any month-end date becomes 30, except a February termination date | 360 | German domestic instruments; specified ISDA transactions | | ACT/ACT (ICMA) | ACT/ACT ISMA, ACT/ACT (Rule 251), A/A ICMA | Actual days accrued A, measured within the coupon period | Actual days in the coupon period E, times the frequency f | US Treasury notes and bonds, gilts, most sovereign and Eurobond coupon accrual | | ACT/ACT (ISDA) | ACT/ACT Historical, A/A ISDA | Actual days, split at each 31 December | 365 for days falling in a non-leap year, 366 for days in a leap year | Derivative accrual where the 2006 ISDA Definitions specify it; not coupon accrual | | ACT/360 | A/360, French, money-market basis | Actual days | 360 | USD and EUR money markets, SOFR and EURIBOR floating legs, repo, commercial paper | | ACT/365F | ACT/365 Fixed, A/365F, English | Actual days | 365, in leap years as well | GBP, AUD, CAD, JPY and HKD money markets and floating legs | | NL/365 | ACT/365 No Leap, Actual/365 NL, NL365 | Actual days, less one for every 29 February inside the period | 365 | Some US agency and mortgage calculations; occasional loan documents | #### The same period, eight ways The reference bond's current accrual period runs 2026-05-15 to 2026-11-15, and settlement is 2026-08-27. The coupon is 4.500 percent paid semiannually, so a full coupon is 2.250 per 100 of par. Actual days accrued A = 104; actual days in the period E = 184. The spread between the largest and smallest accrued figure is 0.028261 per 100 of par, or 2,826.09 on a 10,000,000 par trade. | Convention | D | B | D/B | Accrued per 100 of par | |---|---|---|---|---| | ACT/ACT (ICMA) | 104 | 184 x 2 | 0.565217391 of one period | 1.271739 | | 30/360 (Bond Basis) | 102 | 360 | 0.283333333 | 1.275000 | | 30E/360 | 102 | 360 | 0.283333333 | 1.275000 | | 30E/360 (ISDA) | 102 | 360 | 0.283333333 | 1.275000 | | ACT/360 | 104 | 360 | 0.288888889 | 1.300000 | | ACT/365F | 104 | 365 | 0.284931507 | 1.282192 | | NL/365 | 104 | 365 | 0.284931507 | 1.282192 | | ACT/ACT (ISDA) | 104 days | 365 | 0.284931507 | 1.282192 | #### Where the three 30/360 variants disagree All three conventions agree on any pair of dates that avoids the 31st and the end of February, which is why the reference bond's own 15 May to 27 August period gives 102 on all three. They diverge only at month end, and that is exactly where semiannual and annual schedules land. The last row is a control: a 31st to a 30th inside the same convention gives 30 everywhere. | Period | 30/360 (Bond Basis) | 30E/360 | 30E/360 (ISDA) | Actual days | |---|---|---|---|---| | 2026-01-31 to 2026-02-28 | 28 | 28 | 30 | 28 | | 2026-01-30 to 2026-02-28 | 28 | 28 | 30 | 29 | | 2026-02-28 to 2026-08-31 | 180 | 182 | 180 | 184 | | 2026-08-31 to 2027-02-28 | 178 | 178 | 180 | 181 | | 2026-05-31 to 2026-11-30 | 180 | 180 | 180 | 183 | | 2024-02-29 to 2024-08-31 | 180 | 181 | 180 | 184 | | 2026-08-31 to 2026-09-30 | 30 | 30 | 30 | 30 | #### ACT/ACT (ICMA) against ACT/ACT (ISDA) on the reference bond's own coupon periods The two conventions share a name and a numerator and are not the same function. ACT/ACT (ICMA) is defined against the coupon period, so a regular period is exactly one period and pays exactly the stated coupon. ACT/ACT (ISDA) is defined against the calendar year, splits the period at 31 December, and does not reproduce the coupon on any semiannual period. The final column is what the coupon would be if the ISDA fraction were applied to the annual rate. | Coupon period | Actual days | ICMA fraction of a period | ICMA coupon | ISDA split | ISDA fraction | Coupon if ISDA were used | |---|---|---|---|---|---|---| | 2026-05-15 to 2026-11-15 | 184 | 1.000000000 | 2.250000 | 184/365 | 0.504109589 | 2.268493 | | 2026-11-15 to 2027-05-15 | 181 | 1.000000000 | 2.250000 | 47/365 + 134/365 | 0.495890411 | 2.231507 | | 2027-05-15 to 2027-11-15 | 184 | 1.000000000 | 2.250000 | 184/365 | 0.504109589 | 2.268493 | | 2027-11-15 to 2028-05-15 | 182 | 1.000000000 | 2.250000 | 47/365 + 135/366 | 0.497619582 | 2.239288 | | 2028-05-15 to 2028-11-15 | 184 | 1.000000000 | 2.250000 | 184/366 | 0.502732240 | 2.262295 | | 2028-11-15 to 2029-05-15 | 181 | 1.000000000 | 2.250000 | 47/366 + 134/365 | 0.495538588 | 2.229924 | #### Clean, dirty and invoice on 10,000,000 par of the reference bond The quoted price is a price; the invoice amount is a cash amount. Only the second one settles. | Line | Per 100 of par | On 10,000,000 par | Source of the number | |---|---|---|---| | Quoted (clean) price | 98.750000 | 9,875,000.00 | 98-24 in thirty-seconds, converted | | Accrued interest | 1.271739 | 127,173.91 | 2.250 x 104/184 on ACT/ACT (ICMA) | | Full (dirty) price | 100.021739 | 10,002,173.91 | Clean plus accrued | | Invoice amount | 100.021739 | 10,002,173.91 | What leaves the buyer's account on settlement date | | Accrued if 30/360 applied | 1.275000 | 127,500.00 | 102/360 instead of 104/184 | | Difference | 0.003261 | 326.09 | The cost of the wrong basis on one trade | ## Price and yield Reviewed: 2026-08-27 Canonical: https://fixed-income.wiki/price-yield/ (JSON: https://fixed-income.wiki/price-yield.json) A bond price is the present value of a known schedule; a yield is the single rate that reproduces that price. Everything else in this section is a variation on which rate, on what compounding basis, to which date, against which redemption amount. The reference bond is priced and inverted here once, and the resulting figures are reused in the risk and curve sections. ### Present value from a cash-flow schedule The primitive under every other calculation here. A bond is a known list of dated amounts; its full price is the sum of those amounts multiplied by discount factors. Whether the discount factors come from one yield or from a curve is the only structural choice. Formula: P_full = sum over k of CF_k * DF(t_k). Discounting at a single yield: DF = (1 + y/f)^-n_k, with n_k = (k-1) + w The last field is why duration on a par-ish medium bond sits near two thirds of its maturity rather than at its midpoint: the principal dominates the present value, so the schedule's centre of mass is pulled toward the end.,Discounting at a single yield and discounting on a curve give the same price only if the curve is flat. Everything called a spread in the curves section is a measure of the gap between those two calculations.,The schedule must be generated from the maturity date backwards, not from the issue date forwards, or the intermediate dates will be wrong for any bond whose dates fall near a month end. That error changes both the flow dates and E, so it moves the price and the accrued together and can look self-consistent.,For a bond in its final coupon period, US street convention switches to simple interest rather than compounding the single remaining flow. Systems that keep compounding produce a small yield error that grows as maturity approaches and is largest on the last day. ### Street-convention yield to maturity The single nominal rate, compounded at the coupon frequency, that discounts a bond's remaining cash flows back to its full price. There is no closed form; it is found by iteration. Street convention refers to the specific choice of compounding the fractional first period rather than treating it with simple interest. Formula: Solve for y: P_full = sum over k of CF_k * (1 + y/f)^-((k-1)+w), where w = (days from settlement to the next coupon) / E Yield is a summary of a price, not an input to it. Two bonds with the same yield and different coupons do not have the same exposure, the same reinvestment profile, or the same tax treatment, which is why yield comparisons across coupons need a spread measure rather than a yield difference.,The convention is not universal. Street convention compounds the fractional period; true or ICMA yield does the same but some systems apply simple interest over the fractional period, and Japanese, Italian and certain other markets have their own quoted measures. On this bond the variants sit within a basis point or so, which is small enough to be missed and large enough to matter on a large position.,Bisection is slow but cannot diverge, and a bond's price is monotonic in yield, so it always converges. Newton iteration on the analytic derivative is faster and can overshoot into a negative discount factor on a deeply distressed price; a bracketed method is the safer default for production.,The reinvestment assumption embedded in yield is that every coupon is reinvested at y until maturity. Nothing enforces that, so realised return equals yield only under a condition nobody controls. Yield is a discount rate, not a forecast. ### The fractional first period, w Between coupon dates the first cash flow is less than a full period away, so every exponent in the discounting is shifted by a fraction. That fraction, w, is the single mechanism connecting a settlement date to a price, and it is the source of most off-by-one pricing errors. Formula: w = (days from settlement to the next coupon date) / E, with both counts on the bond's own day-count basis. Then n_k = (k-1) + w, and the accrued fraction is A/E = 1 - w w and the accrued fraction are complements computed from the same two day counts. If a system computes them independently, on different bases, the price and the accrued disagree and the resulting quoted price is wrong by the difference. This is a real and common defect and it is invisible on a coupon date.,The day-count basis used for w should be the bond's own. Using ACT/ACT for accrued and 30/360 for w, or the reverse, produces a yield error of a fraction of a basis point on this bond and considerably more on a short one.,In the final coupon period there is only one flow and w is the whole exposure, so the choice between compounding and simple interest over w dominates the yield. That is precisely where street convention and true yield diverge most.,The identity w + A/E = 1 is the cheapest available unit test for a pricing library, and it fails immediately if the schedule was generated in the wrong direction. ### Current yield Annual coupon over quoted price. It measures cash income against capital employed and nothing else: no capital gain, no timing, no compounding. Formula: Current yield = C / P Current yield is above yield to maturity for a premium bond and below it for a discount bond, always, and the two coincide only at par. That makes it a useful sanity check on which side of par a price sits and a poor basis for a purchase decision.,It is still the right number for a specific question: how much cash the position generates against the money tied up in it. For an entity funding a portfolio out of coupon income, current yield is the operative constraint and yield to maturity is not.,Because it ignores maturity it makes long premium bonds look attractive and short discount bonds look poor. Screens ranked on current yield systematically select instruments with the largest embedded capital loss. ### Simple yield to maturity Current yield plus the pull to par amortised in a straight line over the remaining life, with no compounding anywhere. Widely used in the Japanese government bond market and as a quick mental approximation elsewhere. Formula: Simple yield = (C + (100 - P)/n) / P, where n is the years to maturity On this bond the approximation is within 2.7 basis points, which is good enough for a conversation and not for a trade. The error grows with the distance of the price from par and with maturity.,The n in the numerator is years to maturity on whatever basis the market uses, and the choice of ACT/365 against 30/360 against exact period count moves the answer. For a quoted convention the basis is specified; for a mental approximation it is not.,It is the standard quoted measure for Japanese government bonds, so a JGB yield taken from one source and a Treasury yield from another may not be the same kind of number. ### Running yield and the income component of return The coupon income earned over a holding period, expressed as a rate on the capital employed. It is the part of return that arrives whether or not the price moves, and the part that funding cost is set against. Formula: Running yield over h days = (C * h/B) / P_full, annualised. Net of funding at rate r on the full price, the carry is (C * h/B_bond - r * P_full * h/360) per 100 of par Carry is positive here because the coupon rate exceeds the assumed financing rate, which is the ordinary state of a positively sloped funding position. It reverses when short rates rise above the coupon, and the reversal is arithmetic rather than a market view.,The income and the financing are on different day-count bases: the coupon on ACT/ACT, the repo on ACT/360. Netting them without converting overstates carry by roughly the 365/360 factor on the financing leg.,Carry is not return. A position can have positive carry and negative return over the same window, and the decomposition in the curves section separates the two explicitly.,Special-collateral repo changes the financing leg without touching the bond, so two holders of the same bond have different carry. That difference is the whole economics of the specials market. ### Yield to call and yield to worst Yield to call is the yield computed to a call date and its call price rather than to maturity and par. Yield to worst is the minimum over maturity and every call date, and it exists to give a conservative floor on a callable bond's yield. Formula: For each redemption date j: solve P_full = sum of CF_k*(1+y_j/f)^-n_k with the final flow equal to (C/f + call price_j). Yield to worst = min over all j including maturity For a bond trading at a discount to every call price, the maturity yield is the worst and yield to worst carries no information. The measure only bites on premium bonds, which is exactly when a call is likely to be exercised, so the coincidence is not accidental.,The crossover prices in the last field are exact and worth computing once per bond. They tell you at what price the reported yield to worst will silently switch to a different date, which is the moment a screen's duration figure jumps.,Yield to worst is not a valuation. It prices the bond as if the worst outcome were certain, which understates value for the holder who is short the option only probabilistically. Option-adjusted spread in the curves section is the measure that prices the optionality rather than assuming it.,Duration reported alongside yield to worst is normally the duration to the worst date, so a small price move across a crossover changes reported duration discontinuously. Effective duration does not have that discontinuity, which is one reason it is the risk number and yield to worst is the quoted one.,The call schedule used here is illustrative and attached to the reference bond only to make the arithmetic concrete. A make-whole call, which redeems at a spread to Treasuries rather than a fixed price, is not a call for this purpose and should not be run through this formula. ### Discount rate to price on a money-market instrument A US Treasury bill, banker's acceptance or commercial paper quoted on a discount basis is quoted as a rate applied to face value, not to the amount invested. The price follows directly and is always above the price a same-numbered add-on yield would give. Formula: P = 100 * (1 - d * t/360), where d is the quoted discount rate and t the actual days to maturity The discount rate understates the return because it divides the discount by face value rather than by the money actually invested. That is not a quirk to be corrected in the price formula; the price formula is correct and the rate is simply defined that way.,Bills are quoted in discount terms on the secondary market and auctioned on a discount basis, while the Treasury separately publishes an investment rate on a bond-equivalent basis. Two published numbers on the same security differ by roughly 10 basis points here, and both are correct.,The denominator is 360 and the numerator actual days, so a 360-day holding period accrues exactly the quoted rate and a 365-day one accrues more. On a discount instrument that surfaces as a price below the naive expectation.,Never compare a discount rate with a bond yield directly. Convert to bond-equivalent yield first; the entry below gives the closed form. ### Bond-equivalent yield from a discount rate The conversion that makes a discount-quoted instrument comparable with a coupon bond: restate the return against the amount invested rather than face value, and against a 365-day year rather than 360. Formula: BEY = (100 - P)/P * 365/t, which simplifies to BEY = 365*d / (360 - d*t) with no reference to price Two separate corrections are folded into one formula: the denominator change from face to price, worth about 4 basis points at 91 days here, and the 365/360 year-length change, worth about 5.6. Both move the same way, so the total is always an uplift.,The closed form is exact and does not need the price, which makes it the right thing to implement. Deriving it through the price and rounding the price first introduces an error at the fourth decimal of the yield.,This formula holds for instruments of one semiannual period or less. Beyond about 182 days a bond-equivalent measure has to account for one intervening compounding, and the United States Treasury publishes its own investment-rate formula for that case. The exact published form is not reproduced here; take it from the source rather than extending this expression.,A bill and a short coupon bond quoted on the same screen are on different conventions unless the screen has already converted. Whether it has is a data question with a 10-basis-point answer. ### Discount rate, add-on yield and money-market yield compared Three rates that can be quoted on the same instrument and are never equal. The discount rate divides by face and 360; the add-on or money-market yield divides by price and 360; the bond-equivalent yield divides by price and 365. Formula: d = (100-P)/100 * 360/t. Add-on = (100-P)/P * 360/t. BEY = (100-P)/P * 365/t. Add-on = 360/365 * BEY, always The interest amount is identical in every case. The three rates are three ways of dividing the same cash by different bases, which is why arguing about which is right is a category error and converting is not.,An instrument quoted add-on and one quoted discount at the same numeric rate are not the same price. On a 91-day trade the difference is roughly 4 basis points of yield, and on a large short-dated book that is not a rounding item.,Commercial paper is quoted discount in the United States and interest-bearing in some other markets, so a CP programme spanning both has two quoting conventions for one funding cost.,Certificates of deposit and interbank deposits are add-on instruments: interest is added to the principal at maturity rather than deducted from the face at issue. That is a structural difference, not a quoting one, and it changes the amount that settles at both ends. ### Converting between compounding frequencies A nominal rate is meaningless without its compounding frequency. Converting is a two-step operation through the effective annual rate, and skipping it is the most common way a genuine yield difference is manufactured out of nothing. Formula: Effective annual rate: EAR = (1 + y_m/m)^m - 1. Nominal at frequency k: y_k = k*[(1 + EAR)^(1/k) - 1]. Continuous: y_c = ln(1 + EAR) The direction of the effect is fixed: for a given effective rate, more frequent compounding means a lower nominal rate. A semiannual US Treasury yield is therefore numerically below the annual-equivalent yield a European convention would report on the same bond.,European government bonds are conventionally quoted on an annual basis and US Treasuries on a semiannual one. Comparing a bund yield and a Treasury yield without conversion introduces roughly 5 basis points of pure convention on a 4.7 percent level, and the size of the artefact grows with the level of rates.,Curve construction and option pricing normally run on continuously compounded rates because the algebra is cleaner, and then quote back out. Discount factors are basis-free, which is why passing discount factors between systems is safer than passing rates.,The conversion is exact, not an approximation, and the shortcut of adding a fixed number of basis points is only accurate near the level at which it was calibrated. ### Zero-coupon yield, discount factors and strips A zero-coupon instrument has one flow, so its price and its yield determine each other exactly with no reinvestment assumption and no iteration. It is the cleanest object in the market and the building block a curve is expressed in. Formula: P = 100 * (1 + z/f)^-n, so z = f * [(100/P)^(1/n) - 1]. DF = P/100. Macaulay duration = n/f exactly; convexity = n*(n+1)/(f^2 * (1+z/f)^2) A zero's Macaulay duration is its maturity, exactly, with no dependence on yield. That is the only instrument for which the statement is true, and it is why zeros are the natural basis for a key-rate framework.,The strip has both more duration and more convexity than the coupon bond of the same maturity. A duration-matched trade between a coupon bond and a strip is therefore not convexity-matched, and the residual is a long-gamma position that shows up in large moves.,Discount factors are the interchange format. A rate needs a compounding convention and a day count to be interpreted; a discount factor needs a date. Systems that exchange rates rather than factors accumulate convention errors at every boundary.,The formula assumes the quoted zero rate is on the same compounding frequency f as the rest of the calculation. A continuously compounded zero substituted into this expression will be out by the conversion in the entry above. ### What yield to maturity assumes, and when it is realised Yield to maturity is the internal rate of return of a bond's cash flows. It is realised as a holding-period return only if every coupon is reinvested at that same rate until maturity, which is an assumption about the future, not a property of the bond. Formula: Realised annualised return = f * [(terminal wealth / P_full)^(1/n) - 1], where terminal wealth = sum of CF_k * (1 + r/f)^(n - n_k) at the actual reinvestment rate r The reinvestment exposure is concentrated in the coupons, and the coupons are a minority of this bond's present value, which is why the realised-return range above is a few tens of basis points rather than hundreds. On a high-coupon long bond the range is far wider; on a strip it is zero.,This is the precise sense in which duration is a hedge and yield is not a forecast. Immunisation works by setting duration equal to the horizon so that the reinvestment gain and the price loss offset, and it works because the two effects have opposite signs.,A portfolio's yield is not the market-value-weighted average of its holdings' yields except by coincidence; the correct aggregate is the internal rate of return of the combined cash flows. The weighted average is a common shortcut and it drifts most when the holdings differ in maturity.,Holding to maturity does not remove interest-rate risk, it converts price risk into reinvestment risk. Both are real; only one is marked. #### The reference bond's cash-flow schedule, discounted Settlement 2026-08-27, yield 4.684070 percent nominal compounded semiannually. n_k = (k-1) + w, where w = 80/184 = 0.434783 is the fraction of the current coupon period still to run. The discount factor is (1 + y/2) raised to the power -n_k. The total is the full price; the quoted price is that less accrued interest of 1.271739. | Payment date | Cash flow | Periods n_k | Discount factor | Present value | |---|---|---|---|---| | 2026-11-15 | 2.250 | 0.434783 | 0.989985137 | 2.227467 | | 2027-05-15 | 2.250 | 1.434783 | 0.967329929 | 2.176492 | | 2027-11-15 | 2.250 | 2.434783 | 0.945193172 | 2.126685 | | 2028-05-15 | 2.250 | 3.434783 | 0.923563001 | 2.078017 | | 2028-11-15 | 2.250 | 4.434783 | 0.902427824 | 2.030463 | | 2029-05-15 | 2.250 | 5.434783 | 0.881776312 | 1.983997 | | 2029-11-15 | 2.250 | 6.434783 | 0.861597398 | 1.938594 | | 2030-05-15 | 2.250 | 7.434783 | 0.841880266 | 1.894231 | | 2030-11-15 | 2.250 | 8.434783 | 0.822614348 | 1.850882 | | 2031-05-15 | 2.250 | 9.434783 | 0.803789319 | 1.808526 | | 2031-11-15 | 2.250 | 10.434783 | 0.785395089 | 1.767139 | | 2032-05-15 | 2.250 | 11.434783 | 0.767421801 | 1.726699 | | 2032-11-15 | 2.250 | 12.434783 | 0.749859820 | 1.687185 | | 2033-05-15 | 2.250 | 13.434783 | 0.732699734 | 1.648574 | | 2033-11-15 | 2.250 | 14.434783 | 0.715932346 | 1.610848 | | 2034-05-15 | 2.250 | 15.434783 | 0.699548670 | 1.573985 | | 2034-11-15 | 102.250 | 16.434783 | 0.683539924 | 69.891957 | | Total | | | | 100.021739 | #### Yield measures on the reference bond Quoted price 98.750, full price 100.021739, n = 8.224658 years to maturity on ACT/365. The call schedule used for the last two rows is illustrative and is set out in its own table below. | Measure | Definition | Value | What it leaves out | |---|---|---|---| | Current yield | C / P | 4.556962 percent | Every capital gain or loss to maturity, and all timing | | Simple yield | (C + (100 - P)/n) / P | 4.710868 percent | Compounding; it amortises the pull to par in a straight line | | Yield to maturity, street convention | The y solving P_full = sum of CF/(1+y/2)^n_k | 4.684070 percent nominal semiannual | Nothing about the schedule, but it assumes reinvestment at y | | Yield to maturity, annual equivalent | (1 + y/2)^2 - 1 | 4.738922 percent | Comparability with a semiannual quote unless converted | | Yield to maturity, continuously compounded | 2 * ln(1 + y/2) | 4.630061 percent | Nothing; it is a restatement of the same rate | | Yield to first call | Solved to 2029-11-15 at 101.000 | 5.214105 percent | The chance the bond is not called | | Yield to worst | The minimum across maturity and every call date | 4.684070 percent, achieved at maturity | Optionality value; it is a floor, not a valuation | #### Price against yield Same settlement date throughout, so accrued interest is 1.271739 in every row and the full and quoted columns differ by exactly that. The row at 4.684070 percent is the base case. Note the row at exactly 4.500 percent: a bond yielding precisely its own coupon rate quotes below par between coupon dates, because accrued accumulates linearly while the full price compounds. | Yield, nominal semiannual | Full price | Quoted price | Change in quoted price from the base case | |---|---|---|---| | 3.000000 percent | 112.120304 | 110.848565 | +12.098565 | | 3.500000 percent | 108.354850 | 107.083111 | +8.333111 | | 4.000000 percent | 104.738750 | 103.467011 | +4.717011 | | 4.500000 percent | 101.265585 | 99.993846 | +1.243846 | | 4.684070 percent | 100.021739 | 98.750000 | +0.000000 | | 5.000000 percent | 97.929225 | 96.657486 | -2.092514 | | 5.500000 percent | 94.723824 | 93.452085 | -5.297915 | | 6.000000 percent | 91.643798 | 90.372059 | -8.377941 | | 7.000000 percent | 85.838801 | 84.567062 | -14.182938 | #### Money-market conventions on an illustrative 4.000 percent discount rate A discount rate d is quoted against face value and an add-on yield against price, so the two are never equal and the gap widens with maturity. The last two columns are the same number computed two ways, which is the check that the conversion formula is right. The 4.000 percent input is chosen for legibility and is not a market level. | Days to maturity t | Price per 100 | Add-on yield, ACT/360 | Bond-equivalent yield, ACT/365 | Closed form 365d/(360 - d*t) | |---|---|---|---|---| | 28 | 99.688889 | 4.012483 percent | 4.068212 percent | 4.068212 percent | | 91 | 98.988889 | 4.040858 percent | 4.096981 percent | 4.096981 percent | | 182 | 97.977778 | 4.082558 percent | 4.139261 percent | 4.139261 percent | #### The same yield on five compounding bases All six rows describe the identical cash flows. The reference bond's yield is the semiannual row, 4.684070 percent; its effective annual rate is 4.738922 percent. A yield compared across markets without converting the basis is being compared across a spread of 5.40 basis points that has nothing to do with credit or curve. | Compounding | Periods per year m | Nominal rate | Effective annual rate | |---|---|---|---| | Annual | 1 | 4.738922 percent | 4.738922 percent | | Semiannual | 2 | 4.684070 percent | 4.738922 percent | | Quarterly | 4 | 4.656961 percent | 4.738922 percent | | Monthly | 12 | 4.639005 percent | 4.738922 percent | | Daily | 365 | 4.630354 percent | 4.738922 percent | | Continuous | infinite | 4.630061 percent | 4.738922 percent | #### Illustrative call schedule, yield to call, and the crossover price The schedule is illustrative and attached to the reference bond for the arithmetic; the bond as defined elsewhere in this corpus is not callable. At the base quoted price of 98.750 every yield to call exceeds the yield to maturity, so yield to worst equals yield to maturity. The last column is the exact quoted price at which each call date takes over as the worst, computed by solving yield to call equal to yield to maturity. | Redemption date | Redemption price | Yield to that date | Quoted price at which this call becomes the worst outcome | |---|---|---|---| | 2029-11-15 | 101.000 | 5.214105 percent | 101.534366 | | 2031-11-15 | 100.500 | 4.858008 percent | 101.224606 | | 2033-11-15 | 100.000 | 4.705210 percent | 99.993846 | | 2034-11-15 | 100.000 | 4.684070 percent | Worst outcome at any price below the lowest crossover | ## Risk measures Reviewed: 2026-08-27 Canonical: https://fixed-income.wiki/risk/ (JSON: https://fixed-income.wiki/risk.json) Every risk measure here is a derivative of the price function with respect to something. Duration is the first derivative with respect to yield, scaled; convexity the second; key-rate durations the partial first derivatives with respect to individual points on a curve; spread duration the first derivative with respect to a spread. Because they are derivatives they are local, and the table comparing the second-order approximation with an exact reprice shows exactly how local. Everything below is computed on the reference bond at its base yield of 4.684070 percent. ### Macaulay duration The present-value-weighted average time to a bond's cash flows, in years. It is a property of the schedule and the discount rate, not a sensitivity, and it becomes one only after the modification in the next entry. Formula: D_mac = sum over k of (n_k/f) * PV_k / P_full, where PV_k = CF_k * (1 + y/f)^-n_k On this bond 83.7 percent of the duration comes from the single redemption payment. That is why duration is insensitive to the coupon schedule and highly sensitive to maturity, and why a strip and a coupon bond of the same maturity have such different numbers.,Macaulay duration is measured in years and is the horizon at which a bond is immunised against a one-off parallel yield shift: the price loss and the reinvestment gain offset exactly, to first order. That is its original meaning and it is a different statement from the sensitivity interpretation.,It falls as yield rises, because higher discounting weights the near flows more heavily. Quoting a duration without the yield it was computed at is quoting an incomplete number.,The n_k/f conversion from periods to years is where frequency errors enter. A duration computed in periods and reported as years will be out by a factor of f, which on a semiannual bond is a factor of two and therefore usually noticed. ### Modified duration The percentage change in full price for a one-unit change in yield, taken with the opposite sign. It is Macaulay duration divided by one plus the periodic yield, and the division is the entire content of the word modified. Formula: D_mod = -(1/P_full) * dP/dy = D_mac / (1 + y/f) Modified duration is a percentage sensitivity of the full price, not of the quoted price. Applying it to a quoted price is a small error here, roughly the ratio of accrued to price, and a large one on a bond deep into a coupon period.,The linear estimate always overstates the loss from a rise and understates the gain from a fall, because the true price function is convex. The error is second order, so it is negligible at one basis point and material at one hundred, exactly as the comparison table shows.,The divisor (1 + y/f) makes modified duration smaller than Macaulay, so a portfolio matched on one is not matched on the other unless the yields are equal. Mixing the two across a hedge introduces a bias of roughly y/f, which is over two percent of the duration at these levels.,For a bond with embedded options this quantity is still computable and no longer answers the question, because the cash flows themselves move with yield. Effective duration is the replacement. ### Money duration, DV01 and PVBP The same sensitivity expressed in currency rather than percent. Money duration is the price change per unit of yield; DV01, also written PVBP or dollar value of a basis point, is the price change per basis point. These are the numbers a risk limit is set in. Formula: Money duration = D_mod * P_full. DV01 = money duration * 0.0001. On a notional N: DV01_position = DV01 * N/100 DV01 is the only one of these measures that is additive across instruments without a weighting scheme, which is why risk systems carry DV01 by bucket and derive duration from it rather than the other way round.,The last field is the practical conversion on a Treasury desk: the bond ticks in thirty-seconds and risk is run in basis points, and on this bond a tick is a little under half a basis point. The ratio changes with duration, so it is instrument-specific and worth knowing per line.,DV01 quoted per 100 of par and DV01 quoted per million of par differ by a factor of 10,000, and both appear in production systems. The units are the most common source of a hedge that is out by four orders of magnitude, which at least fails loudly.,Because DV01 is proportional to full price, a position's DV01 changes as the market moves even with the notional held constant. A hedge set once and not rebalanced drifts, and the drift is second order in the move, which is the same quantity convexity measures. ### Convexity The second derivative of price with respect to yield, scaled by price. It measures how much duration itself changes as yield moves, and therefore how far the linear estimate will be wrong over a given shift. Formula: Cx = (1/P_full) * d2P/dy2 = sum over k of n_k*(n_k+1)*PV_k / (f^2 * (1+y/f)^2 * P_full) Convexity is a second-order term, so its contribution scales with the square of the move. It is worth nothing at one basis point and over one percent of price at two hundred, which is why it is invisible in daily marks and decisive in a repricing.,For an option-free bond convexity is always positive: the holder gains more from a fall in yields than they lose from an equal rise. That asymmetry is worth paying for, and the price paid is a lower yield, which is why a convexity comparison is only meaningful at equal yield.,Convexity rises with maturity and falls with coupon, so among bonds of equal duration the long low-coupon one has the most. That is the basis of a barbell against a bullet: match duration, harvest the convexity difference, pay for it in yield.,The scaling convention varies. Some systems report the raw second derivative, some divide by 100, and some report convexity in years squared. A convexity number of 53.8 and one of 0.538 may be the same quantity, and the only way to know is to reprice. ### The second-order price approximation, and where it fails The standard Taylor expansion of price in yield. Two terms are enough for almost any move a risk system needs to represent, and the residual error is a precise, computable quantity rather than a mystery. Formula: dP/P = -D_mod * dy + 0.5 * Cx * dy^2, plus terms of order dy^3 The third-order residual is around six hundredths of a percentage point at two hundred basis points on this bond. For any purpose short of pricing a large option book, two terms is the right stopping point and the third term is noise against the uncertainty in the inputs.,The approximation is a function of yield, so it is a single-instrument statement. Applied to a portfolio it silently assumes every yield moves by the same dy, which is a parallel-shift assumption and the reason key-rate durations exist.,Sign conventions bite here. dy in decimal against dy in basis points changes the second term by a factor of a hundred million, and the resulting number is either absurdly large or indistinguishable from zero, which makes the error easy to spot and easy to introduce.,Reprice rather than approximate whenever the exact function is available and cheap, which for a fixed-rate bond it always is. The approximation exists for aggregation across a book and for attribution, not for pricing a single line. ### Effective duration Duration measured by shifting the whole yield curve, revaluing with a model that lets the cash flows respond, and taking the symmetric difference. For an option-free bond it reproduces modified duration; for a callable or putable bond it is the only meaningful duration. Formula: Effective duration = (P_minus - P_plus) / (2 * P_0 * dr), where P_minus and P_plus are model revaluations under a downward and upward curve shift of dr The first two fields are the test that a bumping implementation is correct: on an option-free bond effective duration must converge on modified duration as the shift shrinks. If it does not, the bug is in the revaluation, not in the concept.,The size of the shift is a real choice. Too small and model noise dominates; too large and the measure averages over a region where the option's behaviour changes. 25 to 50 basis points is the usual compromise and the number should be disclosed alongside the duration.,Effective duration for a callable is always below its option-free duration, because the call truncates the upside as rates fall. For a putable bond the inequality reverses. Neither statement needs a model to establish; only the magnitude does.,The two model prices are model output, and a duration built on them inherits every assumption in the model, notably the volatility surface and the assumed exercise rule. Two vendors will report materially different effective durations for the same callable and both will be internally consistent.,The 101.365 and 98.615 used above are illustrative inputs chosen to make the arithmetic legible. They are not a valuation of anything. ### Effective convexity and negative convexity The same bumping applied to the second difference. Its distinguishing feature is that it can be negative, which no option-free bond's convexity can be: a callable bond gains less from a rally than it loses in a selloff. Formula: Effective convexity = (P_minus + P_plus - 2*P_0) / (P_0 * dr^2) Negative convexity means the position loses on a large move whichever way it goes. It is the arithmetic signature of being short an option, and it is why a callable bond's yield premium is not free money.,The numerator is a difference of large, nearly-equal numbers, so effective convexity is numerically delicate. A model with pricing noise of a few hundredths of a point produces a convexity that is wrong by tens of units at a 25 basis point shift. Widening the shift stabilises the estimate and biases it.,A duration-matched swap of a callable for an option-free bond is a short convexity position with no duration signature at all. It looks flat on a duration report and is not flat.,Mortgage pass-throughs are the largest population of negatively convex instruments and their negative convexity comes from prepayment rather than from a stated call schedule, so it is a behavioural model output rather than a contractual one.,The two model prices used here are illustrative inputs. They are not derived from any model in this corpus and should not be read as a valuation. ### Key-rate duration The partial sensitivity of price to a shift in one point of the curve, holding every other point fixed. It decomposes a single duration figure into where on the curve the exposure actually sits, which a parallel-shift duration cannot express at all. Formula: KRD_i = -(1/P) * dP/dz_i, computed by shocking key rate i by one basis point with a triangular weight that is 1 at maturity t_i and falls linearly to 0 at t_(i-1) and t_(i+1). Because the weights sum to 1 at every maturity, sum of KRD_i = parallel-shift duration The sum identity is the correctness test, and it holds only if the triangular weights partition unity across every maturity where the bond has a cash flow. A key-rate set that stops short of the bond's maturity leaks exposure and the sum comes out below the parallel duration.,The concentration in the last field is the reason a duration-matched hedge can lose money on a curve move. A 8.2-year bond hedged with a 2-year note has the same total duration and almost none of the same key-rate profile.,Key rates are a choice, not a property of the bond. Two systems using different key-rate sets report different decompositions of the same identical total, and neither is wrong. Compare decompositions only within one framework.,The triangular weighting is the standard construction but not the only one. Shocking a single zero rate in isolation, with no interpolation spillover, gives partial durations that do not sum to the parallel duration, and that discrepancy is sometimes mistaken for a modelling error. ### Spread duration Sensitivity of price to a parallel shift in the credit spread, holding the underlying curve fixed. For a fixed-rate bond it is numerically close to modified duration; for a floating-rate note the two are entirely different numbers, and that is the point of keeping them separate. Formula: Spread duration = -(1/P_full) * dP/ds, where s is the constant spread added to every zero rate. Spread DV01 = spread duration * P_full * 0.0001 For a fixed-rate bullet, spread duration and modified duration differ only because the spread is added to a curve while the yield is a single rate. The gap is small and structural, not an error.,The distinction is essential for floaters. A floating-rate note has almost no rate duration, because the coupon resets, and close to full-maturity spread duration, because the margin does not. A risk report that carries one number for both understates a floater book's credit exposure by a factor of twenty or more.,Spread duration says nothing about the probability of a spread move. It is a sensitivity, and multiplying it by an assumed spread volatility to get a risk figure imports an assumption that should be stated separately.,For a callable bond, spread duration is also model-dependent, because widening the spread changes the exercise decision. Bumping the spread in a static discounting model and calling the result spread duration ignores that. ### Aggregating duration across a portfolio Duration and convexity are market-value-weighted averages; yield is not. The distinction matters because the weighted-average yield is reported everywhere and is not the portfolio's internal rate of return. Formula: D_portfolio = sum of w_i * D_i, where w_i is holding i's full-price market value as a fraction of the total. DV01_portfolio = sum of DV01_i, with no weighting at all The weights must be full-price market values, not par amounts and not clean-price values. Par weighting is wrong by the ratio of prices, which across a portfolio of premium and discount bonds is a systematic distortion rather than noise.,DV01 aggregates by simple addition and is therefore the safer primitive. Build the portfolio DV01 from positions, then divide by market value to report a duration, rather than averaging durations and multiplying back.,The linearity is exact for a parallel shift and only for a parallel shift. Key-rate DV01s aggregate by addition within each bucket and preserve the curve information that a single portfolio duration destroys.,Convexity aggregates linearly too, which means a barbell and a bullet of identical portfolio duration can be compared directly on portfolio convexity. That comparison is the entire content of the barbell trade. ### The duration-neutral hedge ratio between two bonds The par amount of one bond that offsets the interest-rate exposure of another, to first order. It is the ratio of their DV01s, and nothing else enters. Formula: Hedge par amount = N_target * DV01_target / DV01_hedge, with both DV01s stated per the same unit of par. Equivalently N_hedge/N_target = (D_mod,target * P_full,target) / (D_mod,hedge * P_full,hedge) The hedge ratio exceeds one here because the hedge instrument is shorter: it takes almost three times the par amount of a 2.7-year bond to match the DV01 of an 8.2-year one. A hedge sized on par amount rather than DV01 would be under-hedged by roughly a factor of that ratio.,The residual in the last field is positive in both directions and is exactly the convexity difference. A DV01-neutral trade between bonds of different maturity is never convexity-neutral, and the resulting position is long gamma when the longer bond is held long.,The ratio is computed at today's prices and yields, so it changes as the market moves and as the two bonds age at different rates. The shorter leg's duration decays faster, so the hedge drifts toward under-hedged and needs rebalancing in one direction predictably.,First order means parallel. This hedge is neutral to a parallel shift and fully exposed to a change in curve slope, which for a 2.7-year against 8.2-year pair is the dominant risk that remains. Key-rate DV01s show that residual explicitly; the single-number hedge hides it. ### Yield-beta adjustment to a hedge ratio A refinement that drops the assumption that both yields move by the same amount. If the hedge instrument's yield historically moves by beta times the target's, the DV01 ratio is divided by beta. Formula: Hedge par amount = N_target * (DV01_target / DV01_hedge) / beta, where beta is the regression slope of the hedge yield change on the target yield change Beta is estimated, and every estimate carries a window choice, a differencing choice and a sample. Two desks will produce different betas on the same pair, and the difference between beta 0.90 and 1.00 is around eleven percent of the hedge size, which is larger than most of the effects the adjustment is meant to capture.,The adjustment is trying to do the job of a two-instrument hedge with one instrument. If the curve exposure matters enough to warrant a beta, it usually warrants hedging with two points on the curve and matching key-rate DV01s instead.,Beta estimated on yield changes and beta estimated on price returns are different numbers and are not interchangeable in this formula. The formula wants the yield-change slope.,A beta materially different from one is a statement that the curve is expected to move non-parallel in a specific, stable way. That is a view. Putting a view inside a hedge ratio makes it hard to see and harder to size. ### What a duration-matched trade leaves behind Two bonds matched on DV01 still differ in every higher derivative. The largest residual is convexity, and it is a real, sized, directional exposure that a duration report shows as zero. Formula: Net profit and loss on a DV01-neutral pair for a parallel shift dy = 0.5 * (Cx_long * MV_long - Cx_short * MV_short) * dy^2, to second order The exposure is nearly symmetric because it is second order, and it is therefore invisible in any risk measure that is first order. A book of duration-matched maturity swaps can be flat on every duration report and carry a substantial convexity position.,Long convexity is not free. The long leg's yield is lower than a convexity-adjusted comparison would justify, and the position pays for its gamma in carry. Whether the trade is good depends on whether the realised volatility exceeds what that yield concession implies.,The second-order estimate and the exact reprice differ here by a small amount that grows with the size of the shift, and the difference is the third-order term. For hedge sizing the second-order estimate is adequate; for profit and loss attribution it is not.,Curve risk usually dominates convexity risk on a two-point maturity swap of this shape. Compute both before deciding which one the trade is actually expressing. #### Duration and convexity on the reference bond Settlement 2026-08-27, quoted price 98.750, full price 100.021739, yield 4.684070 percent nominal semiannual. The last two rows are for scale: modified duration is 81.5 percent of the bond's remaining life, because the redemption payment dominates the present value. The bumped and analytic figures agree to five decimal places, which is the check that the closed forms are right. | Measure | Definition | Value | Units | |---|---|---|---| | Macaulay duration | PV-weighted average time to the cash flows | 6.863229 | years | | Modified duration | Macaulay / (1 + y/f) | 6.706168 | percent price change per 100 percent yield change | | Money duration | Modified duration * full price | 670.762576 | price units per unit of yield, per 100 of par | | DV01 (PVBP) | Money duration * 0.0001 | 0.067076 | price units per basis point, per 100 of par | | DV01 on 10,000,000 par | DV01 * par / 100 | 6,707.63 | currency per basis point | | Convexity | Second derivative of price scaled by price | 53.827761 | per unit of yield squared | | Effective duration, 1bp bump | (P_minus - P_plus) / (2 * P * 0.0001) | 6.706169 | years | | Effective convexity, 1bp bump | (P_minus + P_plus - 2P) / (P * 0.0001^2) | 53.827765 | per unit of yield squared | | Spread duration | Sensitivity to a parallel shift in the Z-spread | 6.698219 | years | | Years to maturity | Actual days / 365 | 8.224658 | years | #### The second-order approximation against an exact reprice First order is -D_mod * dy. Second order adds 0.5 * Cx * dy^2, with D_mod = 6.706168 and Cx = 53.827761. All figures are percentages of the full price of 100.021739. Note the asymmetry in the first-order column: it is symmetric by construction, while the exact reprice is not, and the entire difference is what convexity measures. | Yield shift, basis points | Exact full price | Exact percent change | First order only | First plus second order | Error of the second-order estimate | |---|---|---|---|---|---| | -200 | 114.579572 | +14.554669 | +13.412336 | +14.488891 | +0.065778 | | -100 | 107.006592 | +6.983335 | +6.706168 | +6.975307 | +0.008028 | | -50 | 103.443843 | +3.421360 | +3.353084 | +3.420369 | +0.000992 | | -25 | 101.715594 | +1.693486 | +1.676542 | +1.693363 | +0.000123 | | -10 | 100.695202 | +0.673316 | +0.670617 | +0.673308 | +0.000008 | | -1 | 100.088842 | +0.067089 | +0.067062 | +0.067089 | +0.000000 | | +1 | 99.954690 | -0.067035 | -0.067062 | -0.067035 | -0.000000 | | +10 | 99.353661 | -0.667933 | -0.670617 | -0.667925 | -0.000008 | | +25 | 98.361536 | -1.659843 | -1.676542 | -1.659721 | -0.000122 | | +50 | 96.734256 | -3.286768 | -3.353084 | -3.285799 | -0.000969 | | +100 | 93.575647 | -6.444691 | -6.706168 | -6.437029 | -0.007662 | | +200 | 87.623344 | -12.395700 | -13.412336 | -12.335781 | -0.059919 | #### Key-rate durations of the reference bond Computed on a flat zero curve at 4.684070 percent, which by construction reproduces the bond's full price of 100.021739 exactly. Each key rate is shocked by one basis point with a triangular weighting that is 1 at its own maturity and falls linearly to 0 at the neighbouring key rates, extended flat below 2 years and above 10. Because the weights sum to 1 at every maturity, the key-rate durations sum to the parallel-shift duration, and they do: 6.706168 against 6.706168. | Key rate | Key-rate duration | Partial DV01 per 100 of par | Partial DV01 on 10,000,000 par | Share of total | |---|---|---|---|---| | 2 years | 0.254369 | 0.002544 | 254.42 | 3.793 percent | | 5 years | 2.646749 | 0.026473 | 2,647.32 | 39.467 percent | | 10 years | 3.805051 | 0.038059 | 3,805.88 | 56.740 percent | | Sum | 6.706168 | 0.067076 | 6,707.63 | 100.000 percent | | Modified duration for comparison | 6.706168 | 0.067076 | 6,707.63 | | #### A DV01-neutral hedge, and what it leaves behind Long 10,000,000 par of the reference bond against a short of 27,425,126 par of the hedge instrument, an illustrative 2.750 percent bond maturing 2029-05-15 quoted at 95.000, yielding 4.730886 percent with a DV01 of 0.024458 per 100 of par. The ratio is 2.742513, set so the two DV01s match at 6,707.63 each. Both legs are shifted by the same amount in yield. The net column is not zero away from the origin because the reference bond has convexity of 53.827761 against the hedge's 7.940756, and the residual is long convexity in both directions. | Yield shift, basis points | Reference bond leg, 10,000,000 par long | Hedge leg, short | Net profit and loss | |---|---|---|---| | -200 | 1,455,783.29 | -1,384,266.81 | 71,516.48 | | -100 | 698,485.30 | -681,318.46 | 17,166.84 | | -50 | 342,210.42 | -338,004.32 | 4,206.10 | | -25 | 169,385.45 | -168,344.42 | 1,041.03 | | -10 | 67,346.24 | -67,180.67 | 165.57 | | -1 | 6,710.32 | -6,708.67 | 1.65 | | +1 | -6,704.93 | 6,706.58 | 1.65 | | +10 | -66,807.84 | 66,972.09 | 164.25 | | +25 | -166,020.34 | 167,040.79 | 1,020.44 | | +50 | -328,748.27 | 332,789.66 | 4,041.39 | | +100 | -644,609.25 | 660,457.88 | 15,848.64 | | +200 | -1,239,839.47 | 1,300,793.57 | 60,954.10 | #### Portfolio aggregation, 60 percent reference bond and 40 percent hedge instrument by market value Duration and convexity aggregate linearly in market-value weights; yield does not. The weighted-average yield in the third row is a convention, not the portfolio's internal rate of return, and the two differ whenever the holdings differ in maturity. | Quantity | Reference bond | Hedge instrument | Portfolio | |---|---|---|---| | Weight by full-price market value | 0.60 | 0.40 | 1.00 | | Full price per 100 of par | 100.021739 | 95.777174 | | | Yield, nominal semiannual | 4.684070 percent | 4.730886 percent | 4.702797 percent as a weighted average | | Modified duration | 6.706168 | 2.553631 | 5.045153 | | Convexity | 53.827761 | 7.940756 | 35.472959 | | DV01 per 1 of market value | 0.000670617 | 0.000255363 | 0.000504515 | | DV01 on 1,000,000 of market value | 670.62 | 255.36 | 504.52 | | Contribution to portfolio duration | 4.023701 | 1.021452 | 5.045153 | ## Curves and spreads Reviewed: 2026-08-27 Canonical: https://fixed-income.wiki/curves/ (JSON: https://fixed-income.wiki/curves.json) A single yield discounts every cash flow at the same rate. A curve discounts each flow at the rate appropriate to its own date, and the difference between those two calculations is what every spread measure in this section quantifies. The curve used throughout is illustrative and stated explicitly: semiannually compounded zero rates of 4.00 percent at six months, 4.25 at two years, 4.50 at five and 4.75 at ten, interpolated linearly in time and flat beyond ten years. It is chosen so the arithmetic is legible and is not a market observation. ### Spot rate, zero rate and discount factor A zero or spot rate is the yield of a single payment at one date. A discount factor is the same information with no compounding convention attached. The factor is the primitive; the rate is a presentation of it. Formula: DF(t) = (1 + z(t)/f)^(-f*t) on frequency f, or exp(-z_c(t)*t) continuously compounded. Inverting: z(t) = f*[DF(t)^(-1/(f*t)) - 1] Discount factors are the safe interchange format between systems because they are convention-free. A rate handed across a boundary without its compounding frequency and day count is ambiguous, and the resulting error is small enough to survive review.,Zero rates are not directly observable beyond the shortest maturities. They are inferred from coupon instruments by the bootstrap in the next entries, and the inference depends on the interpolation choice, which is why two curves built from the same inputs can differ by a basis point or two in the gaps.,The interpolation variable matters as much as the method. Linear in zero rates, linear in the logarithm of discount factors, and linear in forward rates all pass exactly through the same input points and disagree everywhere between them, sometimes producing negative implied forwards.,A curve is only as good as the instrument set it is fitted to. A gap in the input maturities is a region where the curve is an assumption, and any spread computed for a bond maturing in that gap inherits it. ### Par yield curve For each maturity, the coupon rate at which a bond of that maturity would price at par. It is the curve most often quoted and the least useful for discounting, because it mixes every maturity's zero rate into a single number. Formula: Par coupon c_n solves 100 = c_n/f * sum of DF(t_k) + 100 * DF(t_n), so c_n = f * (1 - DF(t_n)) / sum of DF(t_k) On an upward-sloping curve the par yield sits below the zero rate of the same maturity, because it is a weighted average of all the zero rates up to that point and the early ones are lower. The gap widens with the slope and with the coupon.,A par yield is only a par yield for a bond that actually prices at par. Applying a par curve to a discount or premium bond and calling the difference a spread introduces the coupon effect, which is exactly what the Z-spread avoids.,Government benchmark curves published by central banks and statistical agencies are usually par or fitted par curves, so a spread computed against a published curve is normally a spread to par yields, not to zeros. That is a difference of tens of basis points in some shapes.,Note the definitional subtlety off a coupon date: par can mean a quoted price of 100 or a full price of 100, and the two differ by the accrued interest. The figure quoted here uses a quoted price of 100, which is the market convention. ### Bootstrapping a zero curve The sequential extraction of zero rates from coupon instruments. Each new maturity contributes exactly one unknown discount factor, because every earlier flow is already discounted by factors already solved for. Formula: For a par instrument of maturity n with coupon c: DF_n = (1 - (c/f) * sum of DF_1..DF_(n-1)) / (1 + c/f). Then z_n follows from DF_n The first zero rate always equals the first par yield, because a one-period instrument has a single flow. That identity is the first check on any bootstrap implementation.,The method requires an instrument at every node. Real input sets have gaps, so a practical bootstrap interpolates the missing par yields first, which means the resulting zero curve depends on an interpolation applied before the bootstrap as well as after it.,Bootstrapping from coupon bonds rather than par instruments requires solving for the discount factor that reproduces the observed price rather than 100, which is the same algebra with a different right-hand side and no additional difficulty.,The procedure is exact and produces a curve that reprices every input instrument to the basis point. That is a fitting property, not an accuracy property: a curve that reprices its inputs perfectly can still be a poor description of the rates between them. ### Implied forward rate The rate for a future period that is implied by two present discount factors. It is the breakeven rate at which borrowing for the long period costs the same as borrowing short and rolling, and it contains no forecast of any kind. Formula: For the period t1 to t2: (1 + f/m)^(m*(t2-t1)) = DF(t1)/DF(t2). Annualised simply: f = (DF(t1)/DF(t2) - 1) * 1/(t2-t1) The amplification in the last field is the most useful property of the forward curve: a mildly sloped spot curve implies a steeply sloped forward curve. A modest view on the shape of the spot curve is a large view on forwards, and positions expressed in forward space are correspondingly leveraged.,Forwards are arithmetic, not expectation. Saying the market expects rates to reach the forward rate imports a term-premium assumption that the arithmetic does not contain. The forward is a breakeven, and whether it is also a forecast is a separate empirical question.,Rolling down an upward-sloping curve produces a capital gain if the curve is unchanged, precisely because the forward rate is above the spot rate. That gain is the roll-down component in the carry table, and it is what the curve prices in.,Forward rates computed from an interpolated curve inherit the interpolation's kinks and can turn negative between nodes even when every input zero rate is positive. Interpolating in forward space rather than zero space avoids that and distorts something else. ### Nominal spread The difference between a bond's yield to maturity and the yield of a benchmark government bond of comparable maturity. It is the simplest spread measure and the only one that requires no curve at all, which is both its appeal and its defect. Formula: Nominal spread = y_bond - y_benchmark, with both yields on the same compounding and day-count conventions Nominal spread compares two yields, and a yield depends on the coupon as well as the curve. Two bonds with identical credit risk and identical maturities but different coupons have different nominal spreads on the same curve, and the difference is not credit.,It also depends on which benchmark is chosen. An off-the-run government bond of the same maturity and the on-the-run issue trade at different yields, so the same corporate bond has two nominal spreads depending on the reference.,The measure is still what most cash markets quote and negotiate in, because it is unambiguous once the benchmark is named and requires no curve construction. Knowing its bias is more useful than refusing to use it.,The bias is largest when the curve is steep and the bond is far from par. In a flat curve at a par price, nominal spread, I-spread and Z-spread converge, and the table above shows exactly how they separate as the price moves. ### Interpolated spread, or I-spread The bond's yield less a swap rate interpolated to the bond's exact maturity. It removes the benchmark-selection problem in nominal spread by replacing a single bond with a continuous curve, and keeps the coupon problem. Formula: I-spread = y_bond - swap rate interpolated linearly between the two adjacent par swap tenors I-spread and Z-spread are frequently reported side by side and are close for a near-par bond on a gently sloping curve. The gap widens with curve curvature and with the bond's distance from par, and it is a curve artefact rather than information.,The interpolation is conventionally linear in the swap rate, which is not the same as linear in the zero rate or in the discount factor. That choice is a convention and it moves the answer by a fraction of a basis point on a smooth curve and more on a kinked one.,Because it references swaps rather than governments, I-spread on a government bond is not zero; it is the negative of the swap spread. That is often the intended measurement.,It is a yield difference, so it retains the single-discount-rate defect. Any measure built by subtracting one yield from another prices the bond's cash flows all at one rate, which no curve does. ### Zero-volatility spread, or Z-spread The constant amount added to every zero rate on a curve that makes the discounted value of the bond's cash flows equal its market full price. Unlike a yield difference it discounts each flow at its own maturity's rate, so it removes the coupon and shape distortions in nominal and I-spread. Formula: Solve for s: P_full = sum over k of CF_k / (1 + (z(t_k) + s)/f)^n_k Zero volatility does not mean the bond has no volatility. It means the measure assumes no interest-rate volatility and therefore assigns no value to any embedded option. For a bullet bond that is correct; for a callable it is the whole difference between Z-spread and option-adjusted spread.,The Z-spread is defined against a specific curve, so it is only comparable across bonds valued on the same curve. A Z-spread to a government curve and one to a swap curve differ by the swap spread and are routinely quoted without saying which was used.,It is a parallel spread by construction, so it cannot express a bond that is cheap at the front and rich at the back. That is a feature: the single number is the point. A term structure of credit spreads needs a curve, not a spread.,Because it discounts each flow at its own rate, Z-spread is the right measure for comparing bonds of different coupons and different distances from par, which the table above quantifies. ### Option-adjusted spread The spread over a curve that a model requires in order to reprice a bond once the embedded option has been valued and removed. For a bond with no options it is identical to the Z-spread; for a callable it is the Z-spread less the option cost. Formula: OAS = Z-spread - option cost, where the option cost is the model's value of the embedded optionality expressed in spread terms. Equivalently: OAS is the s solving market price = model price with every rate path shifted by s OAS is a model output, not a market observable. It depends on the interest-rate model, the volatility surface, the assumed exercise rule and, for mortgages, the prepayment model. Two vendors will report OAS figures for the same bond that differ by more than the spread differences traders act on.,The comparison that OAS is built for is between an option-free bond and a bond with options. Comparing two OAS figures from different models is not that comparison and is close to meaningless.,The volatility assumption is the dominant input. Higher assumed volatility makes the option more valuable, so it lowers OAS for a callable. An OAS quoted without the volatility it was computed at is incomplete.,For an option-free bullet the correct OAS is the Z-spread and any difference is model noise. That identity is the standard calibration test for an OAS engine. ### Par-par asset-swap spread The spread over the floating index that an investor earns by buying the bond and swapping its fixed coupon into floating, with the swap notional set at par. It converts a bond's credit compensation into a floating-rate margin directly comparable with a loan or a floater. Formula: To the standard par-par approximation: ASW = (P_curve - P_market) / (100 * A), where P_curve is the bond's full price discounted on the swap curve, P_market its market full price, and A = sum of delta_i * DF(t_i) the floating-leg annuity to maturity The par-par structure has a notional mismatch built into it: the investor pays par for a package whose bond is worth its market price, and the difference is funded across the swap. That mismatch is what makes the asset-swap spread diverge from the Z-spread, and the divergence grows with the distance of the price from par, exactly as the last two fields show.,A market-value asset swap sets the swap notional to the bond's dirty price instead and removes most of the mismatch, at the cost of an off-market swap and a different set of documentation. Which structure was traded changes the quoted spread materially on a bond far from par.,For a bond priced near par the asset-swap spread and the Z-spread are within a basis point or two. For a deeply discounted bond the gap is tens of basis points and is not credit information.,The asset swap does not remove default risk. If the bond defaults the investor is left with a live swap and no bond, which is an open interest-rate position at exactly the worst moment. That residual is priced into the spread and is not visible in the arithmetic. ### Discount margin The floating-rate analogue of a yield spread: the constant addition to the assumed index rate that discounts a floater's projected cash flows back to its market price. Quoted margin is a contractual term; discount margin is a market measure. Formula: Solve for DM: P_full = sum over k of [(I + QM)/f * 100] / (1 + (I + DM)/f)^k + 100 / (1 + (I + DM)/f)^n, where I is the assumed constant index rate and QM the contractual quoted margin A floater trading at par has a discount margin equal to its quoted margin, exactly. Any deviation of the price from par shows up entirely in the difference between the two, which makes discount margin the natural measure of whether a floater is cheap.,The assumption that the index is flat at its current level is doing real work, and it is wrong whenever the curve is not flat. A more careful discount margin projects the coupons off the forward curve, and the two versions differ by more than a basis point in a steep curve.,For a floater the discount margin is a credit measure and the rate duration is near zero, so a floater book's risk is almost entirely spread risk. Reporting a single duration for such a book conveys nothing about its actual exposure.,Simple margin is a further simplification that amortises the price discount linearly and applies no discounting, in the same relation to discount margin as simple yield is to yield to maturity. It is still quoted in some loan markets. ### Carry and roll-down The return a bond position generates from the passage of time alone, with the curve unchanged. Carry is coupon income net of financing; roll-down is the price change from the bond's remaining maturity shortening along a sloped curve. They are separate effects and are routinely conflated. Formula: Carry = coupon accrued over the horizon - financing cost on the full price. Roll-down = P(horizon, unchanged curve) - P(today). Total = carry + roll-down, before any change in the curve or spread Roll-down is positive here because the curve slopes upward: a shorter bond is discounted at a lower rate, so the price rises even with nothing changing. On an inverted curve roll-down is negative and can exceed positive carry.,Carry and roll-down are what a position must beat to be worth financing. A trade with negative total carry-and-roll needs a directional move to break even, and quantifying that hurdle is the point of the decomposition.,The income and the financing legs are on different day-count bases, ACT/ACT against ACT/360, and netting them without conversion overstates carry by roughly the 365/360 factor applied to the financing.,The coupon reinvestment term is small over three months and is the sort of thing that is dropped and then forgotten. Here it is under a tenth of a basis point of the total; over a year on a high coupon it is not. ### Decomposing a holding-period return Any realised return over a horizon splits into terms that were known at the outset and terms that were not. Carry and roll-down were known; the yield and spread changes were not. Separating them is the difference between attribution and narrative. Formula: Total return = carry + roll-down + (-D_mod * dy + 0.5 * Cx * dy^2) * P + spread effect, where dy is the change in the bond's own yield beyond the roll and the spread effect is -spread duration * ds * P The breakeven in the fourth field is the number that decides whether a position is worth holding: it states how much the market has to move against you before time stops paying you. It is computable at the outset and requires no view.,The decomposition is not unique. Attributing the same return to curve, spread and carry depends on the order in which the effects are applied, and the interaction terms have to be assigned to something. Any attribution system embeds a convention here and should state it.,Second order matters for large moves and not for small ones. Over a quarter with a 25 basis point move the convexity term is a rounding item; over a quarter with a 200 basis point move it is a material part of the answer.,A decomposition that reconciles to the actual profit and loss to the last decimal is usually hiding a plug. Reporting the unexplained residual is more useful than eliminating it. #### Bootstrapping a zero curve from an illustrative annual par curve Each par bond is priced at 100 with annual coupons. Working outward one maturity at a time: DF_n = (1 - c*sum of DF_1..DF_(n-1)) / (1 + c), then z_n = (1/DF_n)^(1/n) - 1. The par yields 4.00 through 5.00 are illustrative round numbers chosen to make the bootstrap visible, not observed levels. Because the par curve rises, the zero curve sits above it at every maturity beyond the first, and the forwards sit above the zeros. | Maturity | Par coupon | Sum of prior coupon PVs | Discount factor | Zero rate, annual compounding | Implied one-year forward | |---|---|---|---|---|---| | 1 year | 4.0000 percent | 0.000000 | 0.961538462 | 4.000000 percent | 4.000000 percent, the spot | | 2 years | 4.2500 percent | 0.040865 | 0.920033204 | 4.255326 percent | 4.511278 percent | | 3 years | 4.5000 percent | 0.084671 | 0.875913182 | 4.515246 percent | 5.037031 percent | | 4 years | 4.7500 percent | 0.130981 | 0.829612859 | 4.780660 percent | 5.580955 percent | | 5 years | 5.0000 percent | 0.179355 | 0.781566776 | 5.052594 percent | 6.147406 percent | #### Forward rates implied by the bootstrapped zero curve A forward rate is not a forecast; it is the rate that makes borrowing long indifferent to borrowing short and rolling. It follows from two discount factors by arithmetic alone, with no expectation embedded. On an upward-sloping curve the forwards always sit above the spot rates, which is a property of the slope and not a prediction. | Forward period | From discount factors | Value | From zero rates | |---|---|---|---| | 1 to 2 years | DF_1/DF_2 - 1 = 0.961538462/0.920033204 - 1 | 4.511278 percent | (1+z_2)^2/(1+z_1)^1 - 1 | | 2 to 3 years | DF_2/DF_3 - 1 = 0.920033204/0.875913182 - 1 | 5.037031 percent | (1+z_3)^3/(1+z_2)^2 - 1 | | 3 to 4 years | DF_3/DF_4 - 1 = 0.875913182/0.829612859 - 1 | 5.580955 percent | (1+z_4)^4/(1+z_3)^3 - 1 | | 4 to 5 years | DF_4/DF_5 - 1 = 0.829612859/0.781566776 - 1 | 6.147406 percent | (1+z_5)^5/(1+z_4)^4 - 1 | | 0 to 1 years | 1/DF_1 - 1 | 4.000000 percent | z_1 by definition | | 0 to 5 years, annualised | (1/DF_5)^(1/5) - 1 | 5.052594 percent | z_5 by definition | #### The illustrative discount curve applied to the reference bond The curve values the bond at 100.379194 against a market full price of 100.021739, so the bond is 0.357455 cheap to the curve. Adding a constant 5.3240 basis points to every zero rate closes the gap exactly, and that constant is the Z-spread. | Payment date | Years to payment | Zero rate on the curve | Discount factor | Present value | PV at the market Z-spread | |---|---|---|---|---|---| | 2026-11-15 | 0.217391 | 4.000000 percent | 0.991427121 | 2.230711 | 2.230458 | | 2027-05-15 | 0.717391 | 4.036232 percent | 0.971739737 | 2.186414 | 2.185596 | | 2027-11-15 | 1.217391 | 4.119565 percent | 0.951570301 | 2.141033 | 2.139674 | | 2028-05-15 | 1.717391 | 4.202899 percent | 0.931059346 | 2.094884 | 2.093009 | | 2028-11-15 | 2.217391 | 4.268116 percent | 0.910605854 | 2.048863 | 2.046497 | | 2029-05-15 | 2.717391 | 4.309783 percent | 0.890591294 | 2.003830 | 2.000995 | | 2029-11-15 | 3.217391 | 4.351449 percent | 0.870661644 | 1.958989 | 1.955708 | | 2030-05-15 | 3.717391 | 4.393116 percent | 0.850831172 | 1.914370 | 1.910667 | | 2030-11-15 | 4.217391 | 4.434783 percent | 0.831113699 | 1.870006 | 1.865903 | | 2031-05-15 | 4.717391 | 4.476449 percent | 0.811522584 | 1.825926 | 1.821446 | | 2031-11-15 | 5.217391 | 4.510870 percent | 0.792363616 | 1.782818 | 1.777982 | | 2032-05-15 | 5.717391 | 4.535870 percent | 0.773804226 | 1.741060 | 1.735886 | | 2032-11-15 | 6.217391 | 4.560870 percent | 0.755494969 | 1.699864 | 1.694372 | | 2033-05-15 | 6.717391 | 4.585870 percent | 0.737438801 | 1.659237 | 1.653447 | | 2033-11-15 | 7.217391 | 4.610870 percent | 0.719638417 | 1.619186 | 1.613117 | | 2034-05-15 | 7.717391 | 4.635870 percent | 0.702096262 | 1.579717 | 1.573387 | | 2034-11-15 | 8.217391 | 4.660870 percent | 0.684814534 | 70.022286 | 69.723596 | | Total | | | | 100.379194 | 100.021739 | #### Four spread measures on the reference bond, across five prices Same bond, same illustrative curve, five market prices. The nominal spread is measured against a benchmark bond with the reference bond's own dates whose quoted price is 100 on the curve, which requires a coupon of 463.114521 percent and yields 4.630183 percent. The I-spread is measured against par swap rates on the curve interpolated to the bond's 8.217391-year maturity, which gives 4.630276 percent from 4.620792 percent at eight years and 4.664416 percent at nine. The four measures agree closely near par and diverge as the price moves away from it, which is the coupon effect. | Quoted price | Yield to maturity | Nominal spread | I-spread | Z-spread | Par-par asset-swap spread | |---|---|---|---|---|---| | 92.000 | 5.733247 percent | +110.3064 bp | +110.2971 bp | +110.3687 bp | +100.2690 bp | | 96.000 | 5.100942 percent | +47.0759 bp | +47.0666 bp | +47.0611 bp | +43.8387 bp | | 98.750 | 4.684070 percent | +5.3887 bp | +5.3795 bp | +5.3240 bp | +5.0428 bp | | 102.000 | 4.208742 percent | -42.1441 bp | -42.1534 bp | -42.2647 bp | -40.8068 bp | | 106.000 | 3.647654 percent | -98.2529 bp | -98.2621 bp | -98.4382 bp | -97.2371 bp | #### Carry and roll-down over a three-month horizon Horizon 2026-08-27 to 2026-11-27, 92 days. The curve and the Z-spread of 5.3240 basis points are held constant, so every number here is a consequence of the passage of time alone. The bond's yield falls from 4.684070 percent to 4.673086 percent purely because it has rolled 92 days down an upward-sloping curve. The repo rate is illustrative. | Component | Per 100 of par | On 10,000,000 par | Where it comes from | |---|---|---|---| | Coupon received 2026-11-15 | 2.250000 | 225,000.00 | Scheduled payment | | Reinvestment of that coupon to the horizon | 0.003000 | 300.00 | 12 days at an illustrative 4.000 percent ACT/360 | | Accrued interest at the horizon | 0.149171 | 14,917.13 | 12/181 of the new period | | Accrued interest given up at the start | -1.271739 | -127,173.91 | 104/184 paid away on purchase | | Financing cost | -1.022444 | -102,244.44 | 100.021739 at 4.000 percent for 92 days ACT/360 | | Net carry | 0.107988 | 10,798.77 | Income less funding, before any price change | | Roll-down, quoted price | +0.107997 | 10,799.72 | Quoted price moves from 98.750 to 98.857997 on an unchanged curve and spread | | Total return | +0.215985 | 21,598.49 | Net carry plus roll-down | | Total return, annualised | 0.844975 percent | | 92 days ACT/360 on a full price of 100.021739 | ## Settlement and market conventions Reviewed: 2026-08-27 Canonical: https://fixed-income.wiki/settlement/ (JSON: https://fixed-income.wiki/settlement.json) The arithmetic in the other sections assumes a settlement date, a set of payment dates and a price. All three are produced by conventions that vary by market, by instrument and sometimes by issue. A price is not a number until the quoting convention is known, a schedule is not a schedule until the business-day rule and the holiday calendar are known, and a settlement date is not derivable from a trade date without both. The reference bond settles 2026-08-27 from a trade date of 2026-08-26 on a T+1 cycle. ### T+1 settlement in US securities The standard US settlement cycle is one business day after the trade date. The cycle counts business days in the relevant market calendar, so the number of calendar days between trade and settlement varies from one to four. Formula: Settlement date = the first business day strictly after the trade date, in the market's own calendar The US moved from T+2 to T+1 by amendment to SEC Rule 15c6-1, with a compliance date of 28 May 2024, covering equities, corporate bonds and municipal securities. Canada and Mexico moved on the same date.,US Treasuries were already on a next-day cycle by market convention rather than by that rule, and same-day settlement remains routine in the Treasury secondary market. Two Treasury trades done minutes apart can settle on different days by agreement.,Because the cycle counts business days, the accrued interest on a trade depends on the calendar and not just on the cycle length. A Thursday trade before a Monday holiday carries three more days of accrued than a Monday trade in the same week.,Cross-border trades face two calendars. A US bond bought by a European account can face a settlement date that is a business day in one market and not the other, which is the ordinary cause of a fail that nobody did anything wrong to create. ### Settlement conventions by instrument, and why the default is not enough A settlement cycle is a market default. It is overridden routinely, and for new issues it does not apply at all: a new bond settles on its stated closing date regardless of when it was priced. Formula: Regular way settlement = T + n business days for the instrument's market. Skip-day, cash, and forward settlement are all documented overrides on a per-trade basis Forward settlement changes the economics, not just the paperwork: a trade settling a month out is a financing trade as well as an outright, and the price should reflect the carry over that month. Quoting a forward-settling trade at the spot price gives away the carry.,When-issued trading happens between the auction announcement and the issue date, and those trades settle on the issue date, so a whole population of trades shares one settlement date and no cycle applies.,The bond's own coupon date can fall between trade date and settlement date. Where that happens the buyer settles without that coupon and the accrued restarts from it, which is a case that catches a naive accrued calculation.,Where a market is mid-transition between cycles, both conventions exist simultaneously and the applicable one may be the counterparty's rather than the instrument's. This is worth confirming rather than assuming during any transition window. ### Following and modified following business day conventions Rules for what happens when a scheduled date is not a business day. Following moves it forward to the next business day. Modified following does the same unless that crosses into the next calendar month, in which case it moves backward instead. Formula: Following: advance to the next business day. Modified following: advance to the next business day, but if the month changes, retreat to the last business day of the original month Modified following is the market standard for swaps precisely because it keeps every period inside its own month, which keeps a monthly or quarterly schedule from drifting. Plain following allows a period to spill over and the next one to start late.,The two rules coincide on the large majority of dates, which means a system implementing the wrong one is correct almost always. The failures cluster on month ends, and month ends are where most schedules land.,The convention governs payment dates. Whether it also governs the accrual period is a separate documented question: an adjusted accrual period changes the interest amount on an ACT basis and does not change it on a bond paying a fixed half-coupon.,Preceding and modified preceding are the mirror images and are far less common. Preceding appears where a payment must not be later than a stated date, typically for regulatory or tax reasons. ### The end-of-month convention A schedule rule, separate from the business-day rule: if the first date in a schedule is the last day of a month, every subsequent date is the last day of its month, whatever the day number happens to be. Formula: With the end-of-month convention: date_k = the last calendar day of the month k periods after the anchor. Without it: date_k = the same day number, capped at the length of the target month The end-of-month convention and the 30/360 month-end adjustments are independent and interact. Getting one right and the other wrong produces a schedule with correct dates and incorrect accrual, or the reverse, and both look plausible in isolation.,Schedule generation direction interacts with it too. Generating forward from an issue date and generating backward from maturity give different intermediate dates for a 31st anchor, and the market convention for bonds is backward from maturity.,In practice the convention is often implicit: a bond issued on the last day of a month is assumed to be on an end-of-month schedule without the term appearing anywhere. Confirm against the actual published payment dates for the first two periods.,The rule applies to unadjusted dates. The business-day convention is then applied on top, which is why modified following exists: it stops a month-end date from being pushed into the next month and breaking the pattern the end-of-month rule established. ### Holiday calendars and calendar unions A business day is defined by a named calendar, and a transaction can reference more than one. Where two calendars apply, a date is a business day only if it is a business day in both, which is a union of the holiday sets rather than an intersection. Formula: Business days under calendars A and B = business days in A intersected with business days in B. Holidays under A and B = holidays in A united with holidays in B The calendar is a documented term with a name, such as New York or London or TARGET2, and not a matter of geography. A USD trade between two London counterparties may still reference New York.,Holiday calendars change. Jurisdictions add and move public holidays with a year or two of notice, and a stale calendar produces a settlement date that is wrong in a specific year and correct in every other, which is close to the worst possible failure mode for testing.,The SOFR calendar is the US Government Securities Business Day calendar, which is not identical to the New York banking calendar. A SOFR compounding calculation run on the wrong one produces a different number of observations and therefore a different rate.,For a bond, the payment calendar and the settlement calendar can differ, and the accrual calendar can differ from both. These are three separate terms and only one of them is usually stated prominently. ### Thirty-seconds, plusses and the finer Treasury fractions US Treasury notes and bonds are quoted in points and thirty-seconds of a point, with the fraction written after a hyphen. Sub-32nd precision is expressed by a trailing character rather than by more digits, and the notation is positional rather than decimal. Formula: Price = whole points + (thirty-seconds + fraction)/32, where the trailing character maps: nothing = 0, 1 = one quarter, + = one half, 3 = three quarters. Some venues use eighths of a 32nd, giving increments of 1/256 The trailing 1 and 3 are quarters, not tenths, and the plus is a half. Parsing 98-241 as 98 and 241/1000 or as 98 and 24.1/32 both give plausible-looking prices and both are wrong, which is why quote parsing is a place to be paranoid.,The convention persists because the tick size maps onto the market's actual price resolution rather than onto decimal convenience. A 32nd on a 10-year note is roughly half a basis point, which is a sensible minimum increment.,Treasury futures use their own variants: the 10-year note contract trades in halves of a 32nd and the 2-year in eighths, so the contract and the underlying cash bond do not share a tick.,Bills are the exception in the Treasury complex and are quoted on a discount rate rather than a price, which means the Treasury market has two entirely different quoting conventions inside it. ### Decimal quotation and minimum increments outside Treasuries Corporate, municipal, agency and Eurobond markets quote decimal prices, typically to two or three decimal places, and some quote yield or spread instead of price. The increment is smaller than a Treasury 32nd by more than an order of magnitude. Formula: Price = the quoted decimal directly. Value of the minimum increment on notional N = N * increment / 100 A market that quotes yield rather than price has a price increment that varies by instrument, because a basis point is worth more on a long bond than a short one. That is a feature for the trader and an inconvenience for anyone reconciling prices.,Municipal secondary trades are reported to a public tape with a price and a yield, and the two are computed on the bond's stated conventions, including yield to worst rather than yield to maturity for callable issues. Comparing a reported municipal yield with a corporate yield to maturity compares two different measures.,Rounding a decimal price and then computing accrued from it, rather than the reverse, moves the invoice amount. The documented order of operations matters on a large ticket and is the kind of thing that is only discovered in a break.,Minimum denomination is a separate constraint from minimum increment: many corporate and municipal issues trade in minimum blocks, and a computed hedge par amount must be rounded to a tradeable size before it is a real hedge. ### Unadjusted accrual with adjusted payment The standard bond convention: the payment date moves to a business day, the accrual period does not. The holder receives exactly the stated half-coupon on the adjusted date and no interest for the delay. A floating leg on an actual day count behaves differently. Formula: Bond: amount = C/f regardless of adjustment; payment date = adjusted coupon date. Floating leg with adjusted periods: amount = notional * rate * (adjusted period days)/360, so adjustment changes the amount The convention costs the bondholder the time value of the delay, which for a weekend is a day or two of interest on one coupon. It is small and it is systematic, and it is the reason a bond's stated yield is very slightly above the yield actually realised.,Whether accrual periods are adjusted is a separate documented term from whether payment dates are adjusted. The four combinations all exist and produce four different interest amounts on the same schedule.,For swaps the ISDA default adjusts both the payment date and the calculation period, so a swap and a bond with identical nominal schedules pay on the same dates and accrue over different periods.,A bond whose coupon dates habitually fall on weekends, such as a 15th-of-the-month schedule, has a predictable pattern of delayed payments. It is worth checking whether a cash-flow forecasting system knows about it. ### Record date, payment date and who receives the coupon The coupon is paid to whoever is the registered holder on the record date, which is not the same as whoever bought the bond most recently. Where the record date sits relative to the settlement cycle determines whether a buyer receives the next coupon. Formula: The buyer receives the coupon if settlement occurs on or before the record date. Otherwise the seller receives it and, in markets with an ex-dividend convention, the price is adjusted by negative accrued In a T+1 market with no ex-dividend period, a trade done on the business day before the coupon date settles on the coupon date and the buyer receives the coupon. That is correct and it means a bond can change hands on its own payment date.,Where a coupon date falls between trade date and settlement date, the seller receives the coupon and the accrued calculation restarts from that date. A calculation that measures accrued from the previous coupon date in that case produces almost a full extra coupon of accrued.,Special ex and special cum trading lets counterparties override the default entitlement, so the ex-dividend status of a specific trade is a trade term.,The record date is a registrar concept and the settlement date a clearing concept. Where a bond is held through a depository the depository is the registered holder and passes the coupon on according to its own records, which introduces a further set of internal deadlines. ### From a quote to a settled amount The chain from a screen price to a cash amount has four steps and a rounding convention at each. Every step is a place where two counterparties can produce different numbers from the same trade. Formula: quoted fraction -> decimal price -> principal = par * price/100 -> accrued = par * AI/100 -> invoice = principal + accrued, with a documented rounding at each stage The rounding convention is a documented term and it differs by market. Rounding accrued per 1,000 of par and then scaling, against computing on the full par amount and rounding once, give different answers on a large ticket, and the difference is a settlement break rather than a valuation dispute.,The order of rounding matters more than the precision of any single step. Two systems each rounding correctly at different points in the chain will disagree persistently by small amounts.,Accrued is conventionally the number that gets reconciled, not the price, because it is pure arithmetic with no market opinion in it. A break in accrued is a convention error and a break in principal is usually a price error, and knowing which tells you which desk to call.,For a bond quoted in yield rather than price, there is a further step: converting yield to price, which involves the full pricing convention and therefore the day count, the schedule, and the treatment of the final period. That is the step most likely to differ between counterparties. ### When-issued trading and its settlement Trading in a security between its announcement and its issue date. Trades are struck on a yield or price basis and all settle on the issue date, so no settlement cycle applies and the accrued interest is zero or set from the dated date. Formula: Settlement date = the issue date, for every when-issued trade regardless of trade date. Accrued at issue = (C/f) * (days from the dated date to the issue date)/E, which is zero when they coincide When-issued prices are the market's live view of where the auction will clear, and a when-issued yield is directly comparable with the outstanding curve. It is a price discovery mechanism rather than a settlement quirk.,Because everything settles on one date, a large when-issued book creates a single concentrated settlement, which is a operational risk rather than a market one.,A reopening of an existing issue is not when-issued in the same sense: the security already exists, has a coupon and a dated date, and accrues from it. The distinction matters for the accrued on the first settlement.,Failing to deliver on a when-issued settlement has the same consequences as any other fail, and the concentration means fails cluster on issue dates. ### Failure to deliver and its cost A settlement fail occurs when the seller does not deliver on the settlement date. The trade stays open, the buyer keeps its cash, and in the US Treasury market a market-wide fails charge reduces the amount the buyer eventually pays. Formula: The Treasury Market Practices Group recommended fails charge accrues at max(0, 3 percent - the target federal funds rate) on the contract value, on an ACT/360 basis, for each day of the fail The economic point of the charge is that failing is otherwise free when short rates are near zero: the seller keeps the security and pays no interest on the cash it did not receive. The charge restores a cost to failing and was introduced after prolonged fails episodes.,Because the charge is a function of the policy rate, its bite varies through the cycle. Fails behaviour observed in a low-rate period is not a guide to a high-rate one.,Fails are usually operational rather than strategic, and the largest single cause is a chain: one fail upstream causes a fail downstream on the same security. That is why fails cluster by issue rather than by counterparty.,This is a Treasury-market recommended practice rather than a rule, and other markets have their own mechanisms, including mandatory buy-in and cash penalty regimes with quite different economics. #### Settlement cycles by instrument T+n counts business days in the relevant market's calendar, not calendar days. A cycle is a market default that a specific trade can override by agreement, and a trade that settles away from the default is a documented term of that trade rather than a failure. | Instrument | Standard cycle | Note | |---|---|---| | US Treasury notes, bonds and bills | T+1 | Same-day and next-day settlement are both routine in the secondary market; T+1 is the regular way convention | | US corporate, municipal and agency bonds | T+1 | Moved from T+2 by amendment to SEC Rule 15c6-1, compliance date 28 May 2024 | | US equities and corporate bonds generally | T+1 | The same rule change covers both | | Canadian and Mexican securities | T+1 | Aligned with the US move in May 2024 | | EU and UK securities | T+2 | The EU and UK have each announced a move to T+1; confirm the current state against the regulator rather than this table | | Japanese government bonds | T+1 | Moved from T+2 in May 2018 | | New issue bonds | Stated in the offering document | Commonly T+2 to T+5; a new issue settles on its closing date, not on a cycle from the trade date | | Repo, general collateral | T+0 or T+1 | Negotiated per trade | | USD commercial paper and CDs | T+0 or T+1 | Money-market instruments settle same day far more often than bonds | | Interest rate swaps | T+2 effective date | The effective date is a documented term, not a settlement cycle | #### Trade date to settlement date, T+1 and T+2 Calendar used: Saturday and Sunday non-business, plus an illustrative US holiday set of 1 January, 3 July, 7 September, 26 November and 25 December 2026. A Friday trade on T+1 settles Monday, and a Thursday trade before a Monday holiday settles on T+2 the following Tuesday, four calendar days later. | Trade date | Day | T+1 settlement | Calendar days to T+1 | T+2 settlement | Calendar days to T+2 | |---|---|---|---|---|---| | 2026-08-26 | Wednesday | 2026-08-27 | 1 | 2026-08-28 | 2 | | 2026-08-27 | Thursday | 2026-08-28 | 1 | 2026-08-31 | 4 | | 2026-08-28 | Friday | 2026-08-31 | 3 | 2026-09-01 | 4 | | 2026-09-03 | Thursday | 2026-09-04 | 1 | 2026-09-08 | 5 | | 2026-09-04 | Friday | 2026-09-08 | 4 | 2026-09-09 | 5 | | 2026-11-25 | Wednesday | 2026-11-27 | 2 | 2026-11-30 | 5 | #### Business day conventions applied to the same unadjusted dates Same calendar as above. Following and modified following differ only where following would cross into the next month, which is exactly the month-end rows. Preceding and modified preceding differ only where preceding would cross into the previous month, which none of these rows do. The 31 October and 31 May rows are the cases that matter. | Unadjusted date | Day | Following | Modified following | Preceding | Modified preceding | |---|---|---|---|---|---| | 2026-09-05 | Saturday | 2026-09-08 | 2026-09-08 | 2026-09-04 | 2026-09-04 | | 2026-09-07 | Monday | 2026-09-08 | 2026-09-08 | 2026-09-04 | 2026-09-04 | | 2026-08-29 | Saturday | 2026-08-31 | 2026-08-31 | 2026-08-28 | 2026-08-28 | | 2026-10-31 | Saturday | 2026-11-02 | 2026-10-30 | 2026-10-30 | 2026-10-30 | | 2026-05-31 | Sunday | 2026-06-01 | 2026-05-29 | 2026-05-29 | 2026-05-29 | | 2026-02-28 | Saturday | 2026-03-02 | 2026-02-27 | 2026-02-27 | 2026-02-27 | | 2027-01-31 | Sunday | 2027-02-01 | 2027-01-29 | 2027-01-29 | 2027-01-29 | | 2026-11-28 | Saturday | 2026-11-30 | 2026-11-30 | 2026-11-27 | 2026-11-27 | #### Quotation conventions and minimum increments A 32nd is 0.03125 of a point, so the Treasury tick is coarser than the corporate one by a factor of about 31. The reference bond's quoted price of 98.750 is 98-24 exactly: 98 points plus 24/32. | Instrument | Quoted as | Conventional increment | Value of one increment on 10,000,000 par | |---|---|---|---| | US Treasury notes and bonds | Points and thirty-seconds, written 98-24 | 1/32 of a point | 3,125.00 | | US Treasury notes, active issues | Thirty-seconds and halves, written 98-24+ | 1/64 of a point | 1,562.50 | | US Treasury notes, finer quotes | Thirty-seconds and quarters, written 98-241 and 98-243 | 1/128 of a point | 781.25 | | US Treasury bonds, some venues | Thirty-seconds and eighths | 1/256 of a point | 390.6250 | | US Treasury bills | Discount rate in percent | Basis point, or finer | Depends on maturity; see the money-market entries | | US corporate bonds | Decimal price to three decimals | 0.001 of a point | 100.00 | | US municipal bonds | Decimal price, or yield | 0.001 of a point, or a basis point | 100.00 | | Eurobonds | Decimal price to two or three decimals | 0.01 or 0.001 of a point | 1,000.00 | | Floating-rate notes | Decimal price, or discount margin in basis points | 0.01 of a point, or a basis point | 1,000.00 | | Interest rate swaps | Fixed rate in percent | Basis point or finer | The swap DV01, not a price increment | #### Reading a Treasury quote On the reference bond, whose DV01 is 0.067076 per 100 of par, one 32nd is 0.4659 basis points of yield and one basis point is 2.1464 thirty-seconds. That ratio is instrument-specific: it falls as duration rises. | Quote | Reads as | Decimal price | Difference from 98-24 | |---|---|---|---| | 98-16 | 98 plus 16/32 | 98.5000000 | -0.2500000 | | 98-24 | 98 plus 24/32 | 98.7500000 | +0.0000000 | | 98-241 | 98 plus 24.25/32, the trailing 1 meaning one quarter of a 32nd | 98.7578125 | +0.0078125 | | 98-24+ | 98 plus 24.5/32, the plus meaning half a 32nd | 98.7656250 | +0.0156250 | | 98-243 | 98 plus 24.75/32, the trailing 3 meaning three quarters of a 32nd | 98.7734375 | +0.0234375 | | 98-25 | 98 plus 25/32 | 98.7812500 | +0.0312500 | | 98-31+ | 98 plus 31.5/32 | 98.9843750 | +0.2343750 | | 99-00 | 99 exactly | 99.0000000 | +0.2500000 | #### Unadjusted accrual against adjusted payment on the reference bond The reference bond's 15 November 2026 coupon date is a Sunday and its 15 May 2027 date is a Saturday, so both are paid on the following business day. Accrual is nonetheless measured to the unadjusted date, which is the standard convention for a bond paying a fixed half-coupon: the payment moves and the amount does not. A floating leg on ACT/360 behaves differently, because its numerator is actual days and the adjustment therefore changes the interest amount. | Scheduled coupon date | Day | Actual payment date, following convention | Accrual measured to | Days in the accrual period | |---|---|---|---|---| | 2026-11-15 | Sunday | 2026-11-16 | 2026-11-15 | 184 | | 2027-05-15 | Saturday | 2027-05-17 | 2027-05-15 | 181 | | 2027-11-15 | Monday | 2027-11-15 | 2027-11-15 | 184 | | 2028-05-15 | Monday | 2028-05-15 | 2028-05-15 | 182 | | 2028-11-15 | Wednesday | 2028-11-15 | 2028-11-15 | 184 | ## Floaters, index-linked and structures Reviewed: 2026-08-27 Canonical: https://fixed-income.wiki/floaters/ (JSON: https://fixed-income.wiki/floaters.json) A floating-rate coupon is not one number but the output of a documented observation procedure, and the procedures are not equivalent: the same instrument over the same interest period produces five materially different rates depending on whether the reference rate is compounded or averaged, observed in arrears or in advance, and whether a lookback shifts the observation window, the rates alone, or neither. An inflation-linked coupon adds an index ratio computed from published index values with a three-month lag and a linear interpolation rule. All of it is arithmetic; none of it is guessable. ### Coupon reset mechanics A floating coupon is defined by five separate terms: the reference rate, the observation method, the timing of observation relative to the interest period, the quoted margin, and any cap, floor or multiplier. Changing any one of them changes the coupon on the same instrument over the same period. Formula: Coupon rate for period j = multiplier * R_j + QM, bounded by any floor and cap, where R_j is the reference rate determined by the documented observation procedure over the period's observation window The observation procedure is where the money is and it is the least prominent term in the documentation. Two notes from the same issuer referencing the same index can pay different coupons for the same period, and the difference is in a definitions section rather than on the term sheet.,A zero floor on the reference rate is a strip of options written by the issuer to the holder, and it has value whenever the forward curve implies any probability of a negative index. Pricing a floored floater as an unfloored one understates its value.,The multiplier is rarely one for structured notes and rarely anything else for plain floaters. A multiplier above one creates leverage in the coupon and correspondingly larger rate duration, which the usual near-zero-duration reasoning about floaters does not apply to.,Reset frequency and payment frequency need not match. A note can observe daily, compound over a quarter and pay quarterly, and a note can observe once and pay monthly. The three frequencies are three separate terms. ### SOFR compounded in arrears The standard convention for a SOFR-referencing floating leg: each overnight fixing is compounded daily across the interest period, weighted by the number of calendar days it applies for, and the result is annualised on an ACT/360 basis. Formula: Compounded rate = [product over i of (1 + r_i * n_i/360) - 1] * 360/d_c, where r_i is the fixing on business day i, n_i the calendar days until the next business day, d_b the number of business days and d_c the calendar days in the period The interest amount is the product minus one, multiplied by the notional. Annualising to a rate and then re-applying the day-count fraction returns the same number and adds two rounding opportunities, which is why the compounded-balance formulation is preferred in operations.,The n_i weights are what make a Friday fixing count three times and a pre-holiday fixing count four. A calculation that weights every business day equally is a simple average of fixings, not a compounded rate, and the difference is largest around long weekends.,The calendar is the US Government Securities Business Day calendar, which is not the New York banking calendar. Using the wrong one changes the number of observations and therefore the rate.,The final rate is not known until one business day before the period ends, which is the whole operational problem in arrears creates and the reason lookbacks, lockouts and payment delays exist.,The rates used here are illustrative, chosen so the compounding is visible in the digits. They are not observed fixings and no inference about the level of SOFR should be drawn from them. ### Simple average against compounded average Two ways of turning a series of overnight fixings into one period rate. The simple average weights each fixing by its calendar days and divides; the compounded average multiplies daily growth factors. Compounding is larger whenever rates are positive. Formula: Simple average = sum of (r_i * n_i) / d_c. Compounded = [product of (1 + r_i * n_i/360) - 1] * 360/d_c. The difference is the interest-on-interest term and grows with the level of rates and the length of the period Over a 7-day period at these levels the difference is a small fraction of a basis point. Over a three-month period at the same levels it is a few basis points, and over a year it is close to the difference between a nominal and an effective rate.,SOFR Averages published by the Federal Reserve Bank of New York are compounded averages, not simple averages, despite the name. Substituting a published SOFR Average into a simple-average formula double-counts the compounding.,US loan markets have historically favoured simple averaging for operational reasons and derivatives markets compounding, so a loan hedged with a swap can carry a small systematic basis that is pure convention.,Because the gap is a function of the rate level, a convention mismatch that was immaterial in a near-zero-rate period becomes visible when rates rise. It is worth re-checking rather than relying on a historical judgement. ### In advance against in arrears In arrears determines the coupon from fixings inside the interest period, so it reflects the period's actual rates and is not known until the period is nearly over. In advance uses the preceding period's rate, so it is known at the start and reflects a window that has already passed. Formula: In arrears: R_j = compounded rate over period j itself. In advance: R_j = compounded rate over period j-1, or a term rate fixed at the start of period j The choice is a trade between economic accuracy and operational certainty. In arrears tracks the period's actual funding cost; in advance lets the borrower know its payment in advance, which some borrowers require.,Term SOFR is an in-advance rate derived from derivatives markets rather than from realised overnight fixings, so it is forward-looking rather than backward-looking. That makes it operationally similar to LIBOR and economically different from compounded in arrears.,An in-advance leg hedged with an in-arrears swap carries a timing basis that is not a spread and cannot be hedged away with a spread. It is a one-period lag and it shows up as tracking error whenever the rate path is not flat.,The illustrative rate path used here is monotonically rising, which maximises the gap and makes the direction of the bias legible. A flat path would make the two conventions coincide, which is exactly why the bias is easy to overlook in a calm market. ### Lookback, and the difference between a rate shift and an observation shift A lookback moves the observation window earlier so the rate is known before the period ends. There are two ways to do it and they give different answers: shifting only which rates are read, or shifting the whole observation period including the calendar-day weights. Formula: Rate shift: use the fixing from k business days before each date, weighted by the interest period's own n_i and d_c. Observation shift: shift the entire period back k business days and use that period's n_i and d_c The two methods coincide whenever the interest period and the shifted observation period have the same weekend and holiday structure, which is most of the time. They diverge around holidays and month ends, which is where the exposure sits.,Under observation shift the calendar-day count comes from the observation period, so an interest period of one length can pay interest calculated over a different length. That is not an error and it does surprise people the first time.,Whether the resulting rate is then applied over the interest period's day count or the observation period's is a further documented term, and the two produce different cash amounts. Confirm it against the note's calculation provisions.,ISDA's observation period shift and the ARRC's recommended lookback with observation shift are the same construction described in different documents. A lookback without observation shift is the ARRC's alternative and is also in use.,The rate path and calendar used here are illustrative. The structural point is that the two conventions are not interchangeable, and the size of the difference depends entirely on where the holidays fall. ### Lockout, or the suspension period The rate for the final few business days of an interest period is frozen at the last observed fixing before the lockout begins. It buys the same operational certainty as a lookback by a different route, and introduces a different distortion. Formula: For the final k business days of the period, r_i = the fixing on the (k+1)th-to-last business day. All other terms are unchanged, and d_c is still the interest period's calendar days A lockout is directionally biased in a way a lookback is not: it freezes the most recent rate rather than reading an older one, so it always propagates the level at the lockout date forward. Over a period containing a policy move that lands inside the lockout, the move is simply not reflected.,The distortion is concentrated at the end of the period, which is where a hedging swap is most likely to be using the actual fixings. That mismatch is not hedgeable with a spread.,Lockouts are more common in the securitisation and structured markets than in vanilla notes, where lookbacks have become the norm. The ARRC's recommended conventions favour a lookback.,A long lockout on a short period is close to an in-advance rate. A five-business-day lockout on a weekly period leaves almost no live observations at all. ### Payment delay The payment date is set a stated number of business days after the end of the interest period, leaving the calculation entirely alone. It is the only one of the operational fixes that does not distort the rate. Formula: Payment date = the interest period end date plus k business days. The rate, the observation window and the day-count fraction are all unchanged Because payment delay leaves the rate untouched, it is the cleanest solution to the in-arrears timing problem from a valuation standpoint. Its cost is a small, uncompensated financing item rather than a distortion of the coupon.,It creates a mismatch on the final period, where the payment falls after maturity. Documentation has to say explicitly that the final payment is made after the redemption, and some structures shorten the final period instead.,For a note held against a swap with no payment delay, the delay produces a genuine funding mismatch on each payment date. It is small and it is real.,The delay interacts with the settlement of a sale: a bond sold between the period end and the payment date has a payment in flight, and who receives it is determined by the record date rather than by the trade. ### Statutory LIBOR spread adjustments under Regulation ZZ For contracts that lacked a workable fallback when USD LIBOR ceased, the Adjustable Interest Rate (LIBOR) Act substituted a Board-selected benchmark replacement by operation of law. That replacement is a SOFR-based base rate plus a fixed tenor spread adjustment, and the five adjustment values are set in the regulation itself. Formula: Board-selected benchmark replacement = base rate + tenor spread adjustment, where the base rate depends on the contract type and the adjustment depends only on the LIBOR tenor the contract referenced The values above were checked against the current text of 12 CFR Part 253 and match the statutory definition at 12 U.S.C. 5802(20) word for word. They are exact decimal figures, not rounded basis-point approximations, and reproducing them as 11.4, 26.2, 42.8 and 71.5 basis points loses precision that the regulation specifies.,The base rate is not uniform. Derivative transactions and Federal Home Loan Bank advances take the ISDA Fallback Rate (SOFR); FHFA-regulated-entity contracts other than FHLB advances take 30-day Average SOFR even for the term tenors; FFELP asset-backed securities take 30-day Average SOFR for one-month LIBOR; and everything else takes the corresponding tenor of CME Term SOFR. The same tenor spread adjustment applies on top of all of them.,Consumer loans are handled differently again: the spread transitions linearly each business day across the one year following the LIBOR replacement date, starting from the actual observed difference on the day before, and only reaches the full statutory adjustment after that year.,The ARRC's recommended spread adjustments carry the same five numbers but rest on a different legal basis: they apply where the contract's own fallback language incorporates them, whereas Regulation ZZ operates by statute on contracts that had no workable fallback. Citing one when the other applies is a legal error even though the arithmetic is identical.,The statute provides a safe harbour for using the Board-selected replacement, which is why the values matter operationally rather than merely historically: they are still the governing rate on a large population of long-dated contracts. ### Rate duration and spread duration of a floating-rate note A floater has almost no interest-rate duration, because its coupon resets, and close to full-maturity spread duration, because its margin does not. Carrying one duration number for a floater misstates its risk in both directions at once. Formula: Rate duration is approximately t_1/(1 + (I + DM)*t_1), where t_1 is the time to the next reset, because only the already-fixed coupon is exposed. Spread duration is the sensitivity to the discount margin and runs to maturity The ratio in the fourth field is the whole point: on this floater a report that used one duration figure would either overstate rate risk by a factor of 22 or understate spread risk by the same factor, depending on which number it chose.,The near-zero rate duration is why floaters are held for capital preservation in a rising-rate environment, and the full spread duration is why that protection does not extend to a credit selloff. The two risks are separable in a floater and largely are not in a fixed-rate bond.,A floater with a coupon floor is not duration-free. Once the index is at or below the floor the coupon has stopped resetting and the instrument behaves like a fixed-rate bond, so its rate duration jumps discontinuously as the index approaches the floor.,A leveraged floater with a multiplier above one has rate duration in the opposite direction from intuition, because the coupon overshoots. The near-zero-duration reasoning is specific to a multiplier of one. ### Index ratio for an inflation-linked bond The factor by which principal and coupons are scaled to reflect cumulative inflation since the bond's dated date. It is a ratio of two reference index values, each interpolated linearly within the settlement month from published index levels lagged three months. Formula: Reference Index(D) = Index(M-3) + (day(D) - 1)/(days in month M) * [Index(M-2) - Index(M-3)]. Index Ratio = Reference Index(settlement) / Reference Index(dated date), conventionally rounded to five decimal places The three-month lag exists because the index is published with a lag and the bond needs a known reference value at settlement. It means an inflation-linked bond's index ratio today reflects price levels from two to three months ago, so the instrument has a built-in indexation lag that is a genuine economic feature, not an artefact.,The lag also means the near-term index ratio path is already fully determined by published data. Two to three months of a linker's accretion is known with certainty at any moment, which is the basis of the carry calculation on the asset.,The interpolation weight is (day - 1) over days in the month, not day over days in the month. The off-by-one produces a small error that reverses each month and is therefore hard to spot in aggregate.,Rounding to five decimal places is the US Treasury convention for the index ratio. Other markets round differently or not at all, and the rounding is applied before scaling the principal, so it is not a display convention.,The index values used here are illustrative round numbers. They are not published index levels and imply nothing about actual inflation. ### Inflation accretion and the deflation floor The inflation adjustment applies to principal, so it flows into both the coupon and the redemption. A deflation floor guarantees that redemption is not below original par even if the cumulative index ratio falls below one, which makes the floor an option written to the holder. Formula: Coupon payment = par * IR * (C/f). Redemption = par * max(IR_maturity, 1) where a deflation floor applies, and par * IR_maturity where it does not US Treasury inflation-protected securities carry a deflation floor on the redemption but not on the coupons: coupons are paid on the deflated principal even when it is below par, and only the final redemption is floored. That asymmetry is easy to miss and changes the cash-flow profile in deflation.,The floor is worth more on a newly issued linker than on a seasoned one, because a seasoned bond's accumulated index ratio is far above one and would need years of deflation to breach it. The option is therefore a new-issue feature economically, whatever the documentation says.,Tax treatment of accretion is jurisdiction-specific and can require the holder to recognise income on the inflation uplift before receiving it in cash. That is a real cash-flow consideration for a taxable holder and is one reason linkers are disproportionately held in tax-deferred accounts in some markets.,The real yield of a linker and the nominal yield of a comparable conventional bond differ by a breakeven inflation rate, which is a market-implied quantity and not a forecast. Comparing a real yield with a nominal yield directly, without that adjustment, compares two incompatible numbers. #### SOFR compounded in arrears, daily schedule Interest period 2026-09-04 to 2026-09-11, 7 calendar days, 4 US Government Securities business days. Monday 7 September 2026 is a holiday in this illustrative calendar, so the 2026-09-04 rate applies for 4 calendar days. The compounded rate is (product - 1) * 360/7 = 4.365423 percent, and the interest on 10,000,000 is notional times (product - 1) = 8,488.32. The overnight rates are illustrative values chosen to make the compounding visible and are not observed fixings. | Observation date | Day | Rate r_i | Calendar days n_i | Daily factor 1 + r_i*n_i/360 | Running product | |---|---|---|---|---|---| | 2026-09-04 | Fri | 4.3500 percent | 4 | 1.000483333333 | 1.000483333333 | | 2026-09-08 | Tue | 4.3500 percent | 1 | 1.000120833333 | 1.000604225069 | | 2026-09-09 | Wed | 4.4000 percent | 1 | 1.000122222222 | 1.000726521141 | | 2026-09-10 | Thu | 4.4000 percent | 1 | 1.000122222222 | 1.000848832161 | | Total | | | 7 | | 1.000848832161 | #### The same interest period under six conventions One instrument, one interest period, six documented procedures, six answers. The spread from lowest to highest is 13.58 basis points of rate and 264.02 of interest on 10,000,000 for a single 7-day period. The observation-shift row uses 6 calendar days rather than 7, which is a direct consequence of shifting across the holiday and is why its interest amount is the smallest; some documentation instead applies the observation-shift rate over the interest period's own day count, which on these numbers gives 8,233.43 rather than 7,057.22. Which applies is a term of the instrument. | Convention | Observation window | Calendar days used | Rate | Interest on 10,000,000 | |---|---|---|---|---| | Compounded in arrears, no lookback | 2026-09-04 to 2026-09-11 | 7 | 4.365423 percent | 8,488.32 | | Simple average in arrears, no lookback | 2026-09-04 to 2026-09-11 | 7 | 4.364286 percent | 8,486.11 | | Five-business-day lookback, rate shift only | rates from 2026-08-28 onward, weighted by the interest period's days | 7 | 4.229642 percent | 8,224.30 | | Five-business-day lookback with observation shift | 2026-08-28 to 2026-09-03 | 6 | 4.234333 percent | 7,057.22 | | Two-business-day lockout | 2026-09-04 to 2026-09-11, last two days frozen at the 2026-09-08 rate | 7 | 4.351126 percent | 8,460.52 | | Compounded in advance, prior period | 2026-08-28 to 2026-09-04 | 7 | 4.244147 percent | 8,252.51 | #### Regulation ZZ tenor spread adjustments Set by the Board of Governors of the Federal Reserve System in 12 CFR 253.4(c), implementing the Adjustable Interest Rate (LIBOR) Act; the same five values appear in the statute at 12 U.S.C. 5802(20). The Board-selected benchmark replacement is the base rate plus the tenor spread adjustment, and the base rate differs by contract type: derivative transactions and Federal Home Loan Bank advances use the ISDA Fallback Rate (SOFR); FHFA-regulated-entity contracts other than FHLB advances use 30-day Average SOFR for the term tenors; FFELP ABS use 30-day Average SOFR for one-month LIBOR; consumer loans transition linearly to the full adjustment over the one-year period from the LIBOR replacement date. The LIBOR replacement date is the first London banking day after 30 June 2023. These values were checked against the current eCFR text of Part 253. | LIBOR tenor | Spread adjustment, percent | Basis points | Board-selected base rate | |---|---|---|---| | Overnight LIBOR | 0.00644 | 0.644 | SOFR | | One-month LIBOR | 0.11448 | 11.448 | One-month CME Term SOFR, for contracts other than consumer loans, FHFA-regulated-entity contracts and FFELP ABS | | Three-month LIBOR | 0.26161 | 26.161 | Three-month CME Term SOFR, same carve-outs | | Six-month LIBOR | 0.42826 | 42.826 | Six-month CME Term SOFR, same carve-outs | | 12-month LIBOR | 0.71513 | 71.513 | 12-month CME Term SOFR, same carve-outs | #### Inflation index ratio and accretion The index values 300.00000, 301.20000 and 250.00000 are illustrative round numbers chosen so the interpolation is visible. They are not published index levels and no inference about actual inflation should be drawn from them. The three-month lag and the day-count interpolation are the convention; the numbers are not. | Step | Expression | Value | |---|---|---| | Reference index, three months before the settlement month | Published index for May 2026, illustrative | 300.00000 | | Reference index, two months before | Published index for June 2026, illustrative | 301.20000 | | Day of settlement month | 2026-08-27 | 27 | | Days in the settlement month | August 2026 | 31 | | Interpolation weight | (27 - 1)/31 | 0.838709677 | | Reference index at settlement | 300.00000 + 0.838709677 * (301.20000 - 300.00000) | 301.00645 | | Reference index at the dated date | Illustrative base value | 250.00000 | | Index ratio, rounded to five places | 301.00645 / 250.00000 | 1.20403 | | Inflation-adjusted principal on 1,000,000 par | 1,000,000 * 1.20403 | 1,204,030.00 | | Accrued on the adjusted principal | 1,204,030.00 * 0.04500/2 * 104/184 | 15,312.12 | | Real coupon payment at the next coupon date | 1,204,030.00 * 0.04500/2 | 27,090.67 | Reference information only. Not investment, legal, tax, or accounting advice. Day-count, settlement, quotation and reset conventions vary by market, by instrument class and by individual issue, and the convention that applies to a specific security is a term of that security. Verify every convention against the offering document, prospectus, indenture or confirmation before relying on any calculation here. All prices, rates, curve levels, index values and model outputs in worked examples are illustrative inputs chosen for arithmetic clarity and are not market levels, typical levels, or benchmarks.