{
    "name": "Bond Calculator",
    "url": "https://calculators.geekmidst.com/calculators/bond-calculator",
    "markdown": "https://calculators.geekmidst.com/calculators/bond-calculator.md",
    "category": "Finance",
    "description": "Price a bond from its yield to maturity, or find the yield from its price, with current yield and Macaulay and modified duration.",
    "summary": "A bond’s price is the present value of its coupons and face value, discounted at the yield to maturity. Enter a yield to get the price, or a price to get the yield.",
    "also_called": [
        "Bond price calculator",
        "Yield to maturity calculator",
        "YTM calculator"
    ],
    "applies_to": "Worldwide",
    "last_updated": "2026-10-29",
    "computation": "Results are computed in the visitor’s browser on the HTML page. This API describes the calculator; it does not compute results.",
    "inputs": [
        {
            "name": "mode",
            "label": "Work out",
            "type": "segmented",
            "default": "price",
            "options": {
                "price": "Price from yield",
                "yield": "Yield from price"
            }
        },
        {
            "name": "face",
            "label": "Face (par) value",
            "type": "number",
            "default": "1000"
        },
        {
            "name": "coupon",
            "label": "Coupon rate (per year)",
            "type": "number",
            "default": "5",
            "unit": "%"
        },
        {
            "name": "years",
            "label": "Years to maturity",
            "type": "number",
            "default": "10"
        },
        {
            "name": "frequency",
            "label": "Coupons per year",
            "type": "select",
            "default": "2",
            "options": {
                "2": "Semi-annual",
                "1": "Annual",
                "4": "Quarterly",
                "12": "Monthly"
            }
        },
        {
            "name": "ytm",
            "label": "Yield to maturity",
            "type": "number",
            "default": "6",
            "unit": "%",
            "shown_when": {
                "mode": "price"
            }
        },
        {
            "name": "price",
            "label": "Bond price",
            "type": "number",
            "default": "950",
            "shown_when": {
                "mode": "yield"
            }
        },
        {
            "name": "currency",
            "label": "Currency",
            "type": "currency",
            "default": "USD"
        }
    ],
    "outputs": [
        {
            "key": "price",
            "label": "Price",
            "format": "currency"
        },
        {
            "key": "ytm",
            "label": "Yield to maturity",
            "format": "percent"
        },
        {
            "key": "current_yield",
            "label": "Current yield",
            "format": "percent"
        },
        {
            "key": "annual_coupon",
            "label": "Coupon income per year",
            "format": "currency"
        },
        {
            "key": "macaulay",
            "label": "Macaulay duration",
            "format": "decimal4"
        },
        {
            "key": "modified",
            "label": "Modified duration",
            "format": "decimal4"
        },
        {
            "key": "premium_discount",
            "label": "Trades at",
            "format": "text"
        }
    ],
    "formula": {
        "text": "Price = Σ C ÷ (1 + y/m)^t + F ÷ (1 + y/m)^n for t = 1…n;  Current yield = Annual coupon ÷ Price;  Macaulay D = Σ (t/m) × PV(CF_t) ÷ Price;  Modified D = Macaulay D ÷ (1 + y/m)",
        "variables": {
            "C": "coupon per period = F × coupon rate ÷ m",
            "F": "face value",
            "y": "yield to maturity",
            "m": "coupons per year",
            "n": "coupons remaining"
        }
    },
    "worked_example": {
        "inputs": {
            "mode": "price",
            "face": "1000",
            "coupon": "8",
            "years": "10",
            "frequency": "2",
            "ytm": "10",
            "price": "950",
            "currency": "USD"
        },
        "steps": [
            "Coupon per half-year C = 1,000 × 8% ÷ 2 = 40; yield per period = 5%; n = 20.",
            "Coupons: 40 × (1 − 1.05^−20) ÷ 0.05 = 498.49. Face value: 1,000 ÷ 1.05^20 = 376.89.",
            "Price = 498.49 + 376.89 = 875.38; current yield = 80 ÷ 875.38 = 9.14%."
        ],
        "result": "A 10-year 8% semi-annual bond priced to yield 10% is worth $875.38, a discount to its $1,000 face value."
    },
    "interpretation": "When the yield is above the coupon rate the bond trades below face value, and vice versa. Modified duration is the approximate percentage price change for a 1 percentage-point change in yield: a duration of 6.5 means roughly a 6.5% fall if yields rise by 1 point.",
    "assumptions": [
        "The bond is priced on a coupon date, so there is no accrued interest (clean and dirty prices are equal).",
        "All coupons and the face value are paid in full and on time.",
        "The yield is compounded at the coupon frequency, the usual bond-market convention."
    ],
    "limitations": [
        "Call and put features, default risk and day-count conventions between coupon dates are not modelled.",
        "Yield to maturity assumes coupons are reinvested at the same yield."
    ],
    "rules": null,
    "faqs": [
        {
            "question": "Why do bond prices fall when interest rates rise?",
            "answer": "The coupons are fixed. When new bonds pay more, existing bonds must sell for less so that their yield matches the market."
        },
        {
            "question": "What is the difference between current yield and yield to maturity?",
            "answer": "Current yield only compares the annual coupon with the price. Yield to maturity also counts the gain or loss from buying below or above face value and the timing of every payment."
        }
    ],
    "sources": [
        {
            "title": "U.S. SEC Investor.gov",
            "url": "https://www.investor.gov/"
        }
    ],
    "related": [
        {
            "name": "Mutual Fund Calculator",
            "url": "https://calculators.geekmidst.com/calculators/mutual-fund-calculator"
        },
        {
            "name": "CD Calculator",
            "url": "https://calculators.geekmidst.com/calculators/cd-calculator"
        },
        {
            "name": "Compound Interest Calculator",
            "url": "https://calculators.geekmidst.com/calculators/compound-interest-calculator"
        },
        {
            "name": "Annuity Calculator",
            "url": "https://calculators.geekmidst.com/calculators/annuity-calculator"
        }
    ],
    "disclaimer": "Returns are illustrations at a constant rate, not predictions or guarantees. Investments can lose value. This is not investment advice.",
    "publisher": "GM¹X CalcVerse"
}