How to Read a Bond Price Table
A bond price table from BSE or NSE contains roughly a dozen columns, several of which use terminology that differs from equities or mutual funds. If you look at the table without a guide, the clean/dirty price distinction, the settlement date, and the reported YTM can all mislead you. This article walks through each column so that a secondary market bond data table becomes a usable research tool rather than an opaque grid of numbers.
Where to find bond price tables in India
The primary sources for secondary market bond trade data are:
- BSE Bond Platform (bseindia.com › Market Data › Debt): Shows trade data for listed corporate bonds and NCDs. The most accessible source for retail investors.
- NSE Debt Market (nseindia.com › Market Data › Debt): Similar coverage to BSE for listed bonds.
- FIMMDA / CCIL: Authoritative source for G-Sec and SDL prices. Used by institutional participants. Retail-facing access is limited.
- RBI Retail Direct: Shows live quotes for G-Secs available through the RD platform.
- RetailBonds.in screener: Aggregates publicly available price and yield data for common research use cases.
Column by column: what each field means
ISIN
The International Securities Identification Number is a 12-character alphanumeric code that uniquely identifies the bond. For Indian bonds it starts with “IN” (e.g., INE001A08038). The ISIN is the canonical key for any bond — the same issuer can have multiple bonds outstanding, and the ISIN distinguishes each series. Always use the ISIN when searching for a specific bond; issuer names and series labels can be ambiguous.
Bond name / description
A text label typically containing the issuer name, coupon rate, and maturity year. For example: “HDFC Bank 7.95% 2028.” This is useful for quick identification but not the reliable key — names can be abbreviated differently across platforms. Use the ISIN for precise lookups.
Clean price
The quoted market price of the bond, expressed per ₹100 of face value, excluding accrued interest. This is the price you will see in the price table and the price used for comparisons and charting. When traders say a bond is “trading at 98.50”, they mean the clean price is ₹98.50 per ₹100 face value.
A clean price below 100 means the bond trades at a discount to face value (typically because its coupon is below current market rates). A clean price above 100 means it trades at a premium.
Dirty price (also: full price or invoice price)
The actual amount the buyer pays the seller. Dirty price = clean price + accrued interest. Accrued interest is the interest that has accumulated since the last coupon payment date but has not yet been paid out.
For example: a bond with a clean price of ₹98.50 and three months of accrued interest at 7% (annual) on a semi-annual coupon would have approximately ₹1.75 of accrued interest, giving a dirty price of ₹100.25. The buyer pays ₹100.25, then receives the full coupon (₹3.50 on a 7% semi-annual bond) at the next coupon date — effectively recovering the ₹1.75 they pre-paid to the seller.
Some platforms display only the dirty price; others display only the clean price. Read the column header carefully. For calculating YTM, you always use the dirty price.
YTM (Yield to Maturity)
The annualised return you would earn if you bought the bond at the current dirty price, held it to maturity, and received all promised cash flows (coupons + principal). YTM is the most useful single number for comparing the return available from different bonds at any given moment.
YTM in bond price tables is typically quoted on an annualised basis. For semi-annual coupon bonds (including most G-Secs), the convention matters: some platforms quote YTM as a semi-annual compounded rate (multiply the half-year rate by 2), while others report the equivalent annual yield. Check the platform’s methodology. RetailBonds.in methodology is documented at /methodology.
YTM is a derived number calculated from the current price. It is not guaranteed — it assumes no default and that coupons are reinvested at the same rate.
Coupon rate
The fixed annual interest rate stated on the bond at issuance, as a percentage of face value. Unlike YTM, the coupon rate does not change. A bond issued at 8% coupon always pays 8% of face value per year, regardless of what the secondary market price is. The divergence between coupon rate and YTM is what creates the premium or discount pricing.
Maturity date
The date on which the issuer repays the face value (principal). For bonds with periodic principal repayment (amortising bonds), this is the date of the final payment. The remaining time to maturity, combined with the coupon rate, drives the duration and price sensitivity of the bond.
Trade date and settlement date
The trade date is the day the transaction was agreed. The settlement date is when the exchange of cash and bonds actually occurs. For corporate bonds on Indian exchanges, settlement is typically T+2 (trade date plus two business days). For G-Secs, settlement is T+1.
The settlement date matters for accrued interest calculation: interest accrues to the seller up to (but not including) the settlement date.
Volume and number of trades
Volume is the total face value of bonds traded during the session, usually expressed in lakhs or crores of rupees (face value). Number of trades is the count of individual transactions. Both are indicators of liquidity. A bond that traded ₹5 crore face value in 50 transactions is significantly more liquid than one that had a single trade of ₹10 lakh.
Low volume is the norm for most corporate bonds. If a bond shows no trades for several consecutive days, do not assume the last quoted price is a reliable current fair value. The price may be stale.
High / low / last traded price
These refer to the range of clean prices during the trading session and the price of the final transaction. For thinly traded bonds, these may reflect a single trade and are not a reliable representation of where you could transact in size.
Rating
The current credit rating assigned by a SEBI-registered rating agency (CRISIL, ICRA, CARE, India Ratings, Brickwork). The rating shown is typically the most recent published rating. Rating agencies issue surveillance reports and rating actions that may change this. Always verify the current rating directly on the agency’s website or through our ratings section before relying on the table.
Reading a sample row
Consider this illustrative row from a bond price table:
| Field | Value | What it means |
|---|---|---|
| ISIN | INE001A08999 | Unique identifier for this bond series |
| Issuer | XYZ Finance Ltd | Borrower |
| Coupon | 8.50% | ₹8.50 per year per ₹100 face value, paid semi-annually |
| Maturity | 15 Mar 2029 | ~3 years remaining |
| Clean price | 99.20 | Trades at slight discount to face value |
| Accrued interest | 1.42 | ~2 months of coupon since last payment |
| Dirty price | 100.62 | Amount buyer actually pays per ₹100 face |
| YTM | 8.78% | Annualised return if held to maturity |
| Rating | AA | ICRA AA (verify on ICRA website) |
| Volume (face value) | ₹2.5 crore | Moderate liquidity for a corporate bond |
| Settlement date | T+2 | Delivery and payment in 2 business days |
From this row, you can read: the bond pays 8.50% coupon, currently yields 8.78% to maturity (because it trades slightly below face value), is AA-rated, and has reasonable trading activity. The dirty price of ₹100.62 is what a buyer would actually pay per ₹100 of face value today.
Common mistakes when reading bond price tables
Confusing clean and dirty price: Comparing one platform’s clean price to another platform’s dirty price makes the bond appear cheaper or more expensive than it is. Always check which price is shown.
Using a stale price: A bond that last traded three weeks ago at 97.50 is not necessarily available at 97.50 today. Market rates may have moved. Always look at trade date alongside the last price.
Misreading YTM convention: If a platform shows a semi-annual equivalent YTM of 4.2%, the annualised YTM is approximately 8.4% (not 4.2%). Check the convention in the platform’s documentation.
Ignoring accrued interest when budgeting: If you plan to buy ₹10 lakh face value of a bond at a clean price of 99, the actual cash outflow will be higher than ₹9.90 lakh once accrued interest is added. Budget for the dirty price.
Further research tools
- RetailBonds.in screener: Filter bonds by type, rating, maturity, and yield.
- YTM calculator: Calculate YTM from any clean price and bond parameters.
- Accrued Interest and Dirty Price Explained →
- What is YTM, Really? →
- Our YTM calculation methodology →
Disclaimer: This article explains how to interpret publicly available bond market data. It does not constitute investment advice. Bond market data can be delayed or stale; always verify prices through your broker before transacting. RetailBonds.in is not a SEBI-registered intermediary. See our full disclaimer.