Using XIRR over the security's actual cash flows on the dates the cash moves: the price paid on the settlement date, one business day after the trade (T+1), each dividend or coupon on its pay date, and par (or the call price) on the maturity or call date, or the next business day when that is a weekend or holiday. XIRR finds the annual rate r where
Σ cash flow / (1 + r)^(days / 365) = 0
YTW is the lowest of YTM, YTC and, for perpetual preferreds, EAY. Yield is not XIRR: it is the annual dividend over the price. A perpetual's EAY is the dividend per payment over the price less the dividend accrued since the last pay date, compounded over the payments in a year, which is the XIRR of the perpetual's cash flows.
Both are the same return, stated differently. XIRR gives an effective annual yield (EAY). Bloomberg's standard YTM is a nominal rate, the bond-equivalent yield (BEY): the per-period rate times the payments per year, with no compounding. For a security paying n times a year:
EAY = (1 + BEY / n)^n − 1
An 8% BEY is 8.16% effective when paid semi-annually and 8.24% when paid quarterly, as most preferreds are. The gap grows with the yield and the payment frequency.
No, this is a common misconception. The yield is the discount rate that makes the present value of the cash flows equal the price; it says nothing about what you do with a dividend once paid. "Effective annual" describes how the rate is quoted, not a reinvestment assumption. See Magni and Martin, The two sides of the reinvestment assumption fallacy in IRR and NPV, The Engineering Economist (2025).
Duration is the approximate percent change in price for a 1 percentage point change in yield.
Callable, fixed rate: effective duration, which allows for the issuer calling the security. Starting from the yield that matches the market price, we build a tree of possible future yields, one step per quarter. In each quarter the security is callable, the issuer calls with a probability that rises the further its value is above the call price. We price the security through the tree with every yield shifted 0.01% down and then up:
effective duration = (P(y − Δ) − P(y + Δ)) / (2 × Δ × P)
The tree rests on three assumptions: the yield has 15% annual volatility, it drifts back toward today's level with a 5-year half-life, and the call probability rises 25% a year for each 1% the value is above the call price. These are the values that best fit how preferred prices moved from 2019 to 2026.
Not callable, or already called: Macaulay duration of the cash flows to maturity or the redemption date, divided by (1 + YTM), or 1 / Stripped Yield for a perpetual, where Stripped Yield is the annual dividend over the price less the accrued dividend.
Floating: once floating, the duration until the rate next resets, or an earlier call or maturity, as if repaid at par then: under 0.25 for a 3-month SOFR floater. Before it floats, the same using the fixed coupon until the floating start date.
It is the yield at the next projected coupon for a floating, reset, or fixed-to-float security, including one still paying its fixed coupon:
reset coupon = projected index rate + index adjustment + spread
Projected Reset Yield = reset coupon × par / price
Projected index rate: the market forward rate for the reset date, the first floating date for an issue still fixed and the next reset date otherwise. If a forward rate is not available, uses the current index rate.
Index adjustment: 0.26161% for former 3-month LIBOR issues that moved to SOFR, or the adjustment stated in the prospectus.
Spread: the fixed spread from the prospectus. Any stated floor or cap applies to the reset coupon.
Like Yield, it is a running yield at that coupon, not a yield to maturity.
Spread is YTW, converted to the semi-annual yield Treasuries are quoted in, minus the Treasury yield matching the security's duration. It is left blank for issues already floating, mandatory convertibles, and a negative YTW.
IPO Spread is the coupon minus the Treasury yield on the day the issue priced, at the Treasury matching its effective duration at issue. Priced at par, a callable security is cut short by the call if yields fall and runs to maturity, or forever for a perpetual, if they rise, so its effective duration falls between the two. It is the price change for a 0.01% yield shift, pricing at the lower of the price to the first call and the price to maturity:
effective duration = (P(y − Δ) − P(y + Δ)) / (2 × Δ × P)
A 6.5% perpetual callable after 5 years has a duration of 4.3 to the call and 15.4 as a perpetuity, and an effective duration of 9.8, matched to the 10-year Treasury. A call less than a year after issue is ignored, and a fixed-to-float issue runs to its floating start date. It is left blank for an issue floating within a year of issue.
Spread vs IPO is Spread minus the spread at issue, each over its own matching Treasury, so the two can use different benchmarks (a 20-year at IPO, a 10-year today); positive means wider than at IPO. It is left blank when YTW is a YTC and the matching Treasury is shorter than at IPO, where the low yield reflects call risk rather than credit.
Something else? Ask us at [email protected].