Market closed today (Weekend) · Prices and yields as of last trading day, 06 Nov 2026
Happy Diwali from all of us at RetailBonds
Methodology

How we source and calculate data.

Every number on RetailBonds.in is traceable to a public source. This page explains the sources, update frequency, calculation conventions, and what we don't measure.

Last updated: September 2026

This page describes where our data comes from, how often we update it, how we calculate the figures we display, and what we do not measure. The goal is verifiability: every claim on RetailBonds.in should be traceable to a public source.

Data sources

We aggregate data from the following primary sources:

We do not source data from paid feeds (Bloomberg, Refinitiv, etc.) at this time. Our coverage therefore has gaps: instruments that are not listed on BSE/NSE may be absent. Current ratings come from seven agencies (CRISIL, ICRA, CARE, India Ratings, Acuité, Brickwork and Infomerics), but rating actions — the upgrade, downgrade and watch history on /ratings, issuer timelines and email alerts — come from CRISIL only today. Action history from other agencies will be added as their feeds come online.

Update frequency

Data flows into our database via scheduled scrapers running on our infrastructure:

All scrapes run outside Indian market hours. Stale data is a real risk. If a fetch fails repeatedly, we display a warning on the affected page rather than show outdated figures silently.

Validation and quality

For every scraper, we run automated health checks on expected record counts, schema integrity, and range sanity on yields and dates. When a check fails, the source is flagged and reviewed before its output reaches our screener or detail pages.

We retain raw snapshots of every scraping run for debugging and audit purposes. These snapshots are compressed and stored on-server; they are not publicly accessible.

What we do not measure

Calculation conventions

Our calculations follow FIMMDA (Fixed Income Money Market and Derivatives Association of India) standards where applicable:

Where our calculations differ from a source’s published figure, the difference is usually a convention choice (day-count or settlement date). We aim to be explicit and consistent rather than match a specific source’s number exactly.

Sovereign yield curve

The yield curve is built once per trading day from secondary-market trades. Retail prints on the exchange are noisy, so several filters run before a trade counts:

Each tenor is the median of many bonds, not the price of a single benchmark bond, so figures can differ by a few basis points from benchmark-bond yields quoted elsewhere. It is a descriptive reference for comparison, not an official rate. FBIL publishes the official benchmark valuations.

Issuer name normalization

The same issuer often appears with different names across sources ("Power Finance Corporation Limited", "PFC Ltd", "Power Finance Corp"). We use fuzzy name matching (rapidfuzz token-set ratio, threshold 85) to collapse these into a single issuer record, caching confirmed matches as aliases. Every match is logged for audit. False positives at the 85–90 score band are a known limitation; we correct them as discovered.

Issuer sectors

Exchanges and rating agencies do not publish a sector for most bond issuers, so the sector shown on issuer pages and in the directory is our own inference. A language model reads the issuer name and up to three of its bond names and picks one sector from a fixed list, only when a business word in the name supports it, and it must quote the words it relied on. Answers below a confidence threshold, or whose quoted words are not in the name, are discarded and the issuer stays "Uncategorized". An independent model audited a random sample of the accepted answers, spread across sectors, and about 96% were judged correct; the rest are borderline cases such as property developers with unusual names. For about 90 large issuers whose names carry no business word (for example REC Limited or Damodar Valley Corporation), the sector comes from two different models' knowledge of that specific company, and is used only where both name the same sector. It is a convenience label, not an official industry classification, and it can be wrong. Tell us at the address below if you spot an error.

One rating per bond

Many bonds are rated by more than one agency, and the agencies do not always agree. Bond pages show every agency’s current rating with its date. The screener, rating filters, rating pages, comparison tables and counts need a single rating per bond, so they all use the same rule:

This rule decides which published rating is displayed. It is not our own rating or opinion of the bond.

Handling missing data

When a field is unknown, we display “—” rather than guess. We do not impute coupon rates, maturity dates, or ratings.

Handling conflicting data

When two sources disagree, we display the SEBI filing as authoritative and log the discrepancy. We do not silently average or pick the more attractive number.

Reporting errors

If you find a data error, email [email protected] with the ISIN, the field in question, and the source supporting the correction. We acknowledge corrections within two business days.

Limitations and transparency

RetailBonds.in is a small independent operation, not a regulated data provider. Our coverage will have gaps. Our refresh frequencies will occasionally lag. Our calculations rest on convention choices that other providers may make differently. We will get things wrong, and when we do, we will fix them publicly rather than quietly.