Coupon bonds are quoted on a price basis, and the day-count convention that turns calendar days into a fraction of a coupon period is set by the market a bond trades in rather than by any universal rule. Three conventions cover most of what you will meet. Actual/actual counts real days over the real length of the period and is the US Treasury convention, and the Indian government-securities convention as well. 30/360 treats every month as thirty days and every year as 360, and is the convention for US corporate and municipal bonds and for most Indian corporate issues. Actual/365, with actual/360 as its close relative, is a money-market convention. FI1.05 owns the accrual arithmetic each of these drives, so carry no default into it: read the term sheet * *. The 365-day framing appears again two paragraphs below, where it belongs to the India money-market contrast and is correct there. Short-dated, pure-discount money-market instruments (T-bills, commercial paper (CP), certificates of deposit (CDs)) are historically quoted on entirely different, older conventions, and an analyst who does not know the conversion chain will materially misjudge a short-paper return relative to a coupon bond's. Build the chain from first principles, because memorizing the "converter" formulas without the underlying logic is exactly the kind of thing an AI tool will recite fluently and get subtly wrong on an edge case (a leap year, an odd day-count).
Advertisement
How are the money market yields calculated?
Let F be face value, P the price paid, D = F − P the dollar discount, and t the number of days to maturity.
- Bank discount yield (rBD): the classic US T-bill quoting convention:
rBD = (D/F) × (360/t). It divides by face value, not the price you actually paid, and annualizes on a 360-day year, both choices understate the true return, and both are historical artifacts of how bills were quoted before hand calculators, not a considered "true yield." - Holding period yield (HPY): the plain, un-annualized return actually earned:
HPY = D/P. This is the honest starting point every other measure is built from. - Money-market yield / add-on yield (rMM): fixes the face-vs-price problem, keeps the 360-day year:
rMM = HPY × (360/t). This is the convention many interest-bearing money-market instruments (CDs quoted on an add-on basis) actually use. - Bond-equivalent yield (BEY): fixes the day-count problem on top:
BEY = HPY × (365/t). BEY exists for exactly one purpose: to let you compare a discount instrument's return to a coupon bond's YTM, which is quoted price-basis on a 365-day year. (Equivalently, BEY = rMM × 365/360, the same number, reached either way, and this module verifies that identity numerically rather than asserting it.) - Effective annual yield (EAY): the only one of the four that truly compounds:
EAY = (1 + HPY)^(365/t) − 1. For the same trade, the ordering is alwaysrBD < rMM < BEY < EAY, each measure fixes exactly one limitation of its predecessor, and EAY is the only one that answers "what would this return be if I could repeat this trade all year at the same rate, compounding."
How does India's money-market convention differ?
The India side of this convention, and the one habit that prevents a real error. Indian money-market instruments (T-bills (91/182/364-day), commercial paper, and certificates of deposit) are also issued at a discount to face and their yields are conventionally computed on a 365-day, price basis (already closer to a BEY-style number than the raw US bank-discount convention is) rather than the American 360-day, face-value bank-discount method. This is a real and useful contrast to carry: the US quotes its T-bills on the most "understated" of the four measures by tradition (rBD); India's market convention for its own bills sits closer to the "most-corrected" end (a 365-day, price-basis yield) by tradition. Do not port either country's convention onto the other's paper by habit, day-count and quoting-basis conventions are set by market bodies (FIMMDA and RBI circulars in India; market practice memorialized by the Treasury and money-market dealers in the US) and they do drift; the discipline is to open the term sheet or the current FIMMDA/RBI handbook and confirm the basis before you price anything real * *.
{
"skill": "Drafting a yield-conversion or bond-pricing function quickly, without inheriting a subtly wrong formula",
"use": "Ask an AI assistant to scaffold a Python function for a specific yield conversion (e.g., bank-discount yield to BEY) or a curve-based bond pricer, then verify its output against a hand-solved case before ever pointing it at a real bond or trade.",
"tools": ["Chat assistants — Claude, ChatGPT, for drafting the function", "A code sandbox or notebook to actually run it", "A spreadsheet's built-in YIELD/PRICE functions as a second, independent cross-check"],
"prompt": "Write a Python function that computes bank discount yield, money-market (add-on) yield, bond-equivalent yield, and effective annual yield from face value, price, and days to maturity, using first-principles formulas (not a black-box library call). Then show me the output for face=<F>, price=<P>, days=<t>, and explain each step.",
"verify": "Recompute the same case by hand (or with your own independent script) using the first-principles definitions in this module, and confirm every one of the four numbers matches to at least four decimal places before trusting the function on a real instrument. Trace the day-count convention (360 vs 365) it assumed to the actual instrument's term sheet or the current FIMMDA/RBI or US market convention — an AI-drafted function will confidently pick ONE convention by default and will not flag that a different one applies to your specific paper (Guardrail 1–5, AI0.01, especially #1 Trace and #3 Recompute).",
"diy": "You must already be able to derive D, HPY, and each annualization by hand from the definitions above — that is exactly what this section and Worked Examples 2 and 6 build. AI accelerates writing the code; it cannot install the arithmetic literacy that lets you catch the code's mistake.",
"market": "US"
}