{"product_id":"bond-price","title":"Bond Price Calculator","description":"\u003cstyle\u003e\n.bpc-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  container-name: bpc-shell;\n  container-type: inline-size;\n}\n.bpc-calculator,\n.bpc-calculator *,\n.bpc-calculator *::before,\n.bpc-calculator *::after {\n  box-sizing: border-box;\n}\n.bpc-calculator .bpc-shell {\n  display: grid;\n  gap: 24px;\n  padding: 24px;\n  min-width: 0;\n}\n.bpc-calculator .bpc-header,\n.bpc-calculator .bpc-toolbar,\n.bpc-calculator .bpc-workspace,\n.bpc-calculator .bpc-panel,\n.bpc-calculator .bpc-chart-card,\n.bpc-calculator .bpc-table-card,\n.bpc-calculator .bpc-education,\n.bpc-calculator .bpc-shell \u003e *,\n.bpc-calculator .bpc-header \u003e *,\n.bpc-calculator .bpc-pills \u003e *,\n.bpc-calculator .bpc-toolbar \u003e *,\n.bpc-calculator .bpc-workspace \u003e *,\n.bpc-calculator .bpc-field-grid \u003e *,\n.bpc-calculator .bpc-field \u003e *,\n.bpc-calculator .bpc-results \u003e *,\n.bpc-calculator .bpc-results-grid \u003e *,\n.bpc-calculator .bpc-primary-result \u003e *,\n.bpc-calculator .bpc-result-card \u003e *,\n.bpc-calculator .bpc-chart-card \u003e *,\n.bpc-calculator .bpc-chart-head \u003e *,\n.bpc-calculator .bpc-chart-cluster \u003e *,\n.bpc-calculator .bpc-chart-side \u003e *,\n.bpc-calculator .bpc-legend \u003e *,\n.bpc-calculator .bpc-legend-row \u003e *,\n.bpc-calculator .bpc-table-card \u003e *,\n.bpc-calculator .bpc-table-head \u003e *,\n.bpc-calculator .bpc-table-controls \u003e *,\n.bpc-calculator .bpc-education \u003e *,\n.bpc-calculator .bpc-education-section \u003e * {\n  min-width: 0;\n}\n.bpc-calculator .bpc-header {\n  display: grid;\n  gap: 12px;\n}\n.bpc-calculator .bpc-title {\n  margin: 0;\n  color: var(--ink);\n  font-size: 24px;\n  font-weight: 700;\n  line-height: 1.25;\n  letter-spacing: -.02em;\n}\n.bpc-calculator .bpc-subtitle {\n  margin: 0;\n  max-width: 820px;\n  color: var(--muted);\n  font-size: 15px;\n}\n.bpc-calculator .bpc-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n.bpc-calculator .bpc-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  min-height: 34px;\n  padding: 6px 10px;\n  color: var(--muted);\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  font-size: 13px;\n  font-weight: 500;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);\n}\n.bpc-calculator .bpc-pill strong {\n  color: var(--ink);\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 12px;\n}\n.bpc-calculator .bpc-button {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  min-height: 44px;\n  padding: 12px 18px;\n  border: 1px solid transparent;\n  border-radius: 6px;\n  font: inherit;\n  font-size: 15px;\n  font-weight: 650;\n  line-height: 1;\n  text-decoration: none;\n  white-space: nowrap;\n  cursor: pointer;\n  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;\n}\n.bpc-calculator .bpc-button:hover {\n  box-shadow: 0 2px 6px rgba(15, 23, 42, .12);\n}\n.bpc-calculator .bpc-button:active {\n  transform: translateY(1px);\n}\n.bpc-calculator .bpc-button:focus-visible,\n.bpc-calculator input:focus-visible,\n.bpc-calculator select:focus-visible,\n.bpc-calculator summary:focus-visible,\n.bpc-calculator a:focus-visible {\n  outline: 3px solid var(--primary);\n  outline-offset: 2px;\n}\n.bpc-calculator .bpc-download {\n  color: #ffffff;\n  background: var(--accent);\n  border-color: var(--accent);\n}\n.bpc-calculator .bpc-download:hover {\n  background: var(--accent-hover);\n  border-color: var(--accent-hover);\n}\n.bpc-calculator .bpc-reset {\n  color: var(--ink);\n  background: var(--surface);\n  border-color: #cbd5e1;\n}\n.bpc-calculator .bpc-icon {\n  width: 20px;\n  height: 20px;\n  flex: 0 0 auto;\n}\n.bpc-calculator .bpc-workspace {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 24px;\n  align-items: start;\n}\n.bpc-calculator .bpc-panel,\n.bpc-calculator .bpc-chart-card,\n.bpc-calculator .bpc-table-card,\n.bpc-calculator .bpc-education {\n  padding: 20px;\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .05);\n}\n.bpc-calculator .bpc-panel-title,\n.bpc-calculator .bpc-chart-title,\n.bpc-calculator .bpc-table-title,\n.bpc-calculator .bpc-education h2 {\n  margin: 0;\n  color: var(--ink);\n  font-size: 18px;\n  font-weight: 650;\n  line-height: 1.35;\n}\n.bpc-calculator .bpc-section-intro,\n.bpc-calculator .bpc-chart-interpretation,\n.bpc-calculator .bpc-table-intro {\n  margin: 6px 0 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.bpc-calculator .bpc-field-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));\n  gap: 16px;\n  margin-top: 20px;\n}\n.bpc-calculator .bpc-field {\n  display: grid;\n  grid-template-rows: auto 44px auto auto;\n  gap: 6px;\n  align-content: start;\n  min-width: 0;\n}\n.bpc-calculator .bpc-label,\n.bpc-calculator .bpc-table-label {\n  color: var(--ink);\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 1.35;\n}\n.bpc-calculator .bpc-control {\n  width: 100%;\n  min-width: 0;\n  height: 44px;\n  padding: 10px 12px;\n  color: var(--ink);\n  background: #ffffff;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  font: inherit;\n  font-size: 15px;\n  line-height: 1.2;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-control:hover {\n  border-color: #94a3b8;\n}\n.bpc-calculator .bpc-help {\n  min-height: 40px;\n  margin: 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.45;\n}\n.bpc-calculator .bpc-error {\n  min-height: 20px;\n  margin: 0;\n  color: #b91c1c;\n  font-size: 13px;\n  font-weight: 600;\n  line-height: 1.4;\n}\n.bpc-calculator .bpc-results {\n  display: grid;\n  gap: 16px;\n}\n.bpc-calculator .bpc-primary-result {\n  display: grid;\n  gap: 6px;\n  padding: 20px;\n  background: #eff6ff;\n  border: 1px solid #bfdbfe;\n  border-radius: 8px;\n}\n.bpc-calculator .bpc-primary-label {\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 650;\n}\n.bpc-calculator .bpc-primary-value {\n  color: var(--ink);\n  font-size: 30px;\n  font-weight: 700;\n  line-height: 1.15;\n  letter-spacing: -.03em;\n  overflow-wrap: anywhere;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-primary-note {\n  margin: 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.bpc-calculator .bpc-results-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n  gap: 12px;\n}\n.bpc-calculator .bpc-result-card {\n  display: grid;\n  align-content: start;\n  gap: 4px;\n  min-height: 112px;\n  padding: 16px;\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n}\n.bpc-calculator .bpc-result-label {\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 600;\n}\n.bpc-calculator .bpc-result-value {\n  color: var(--ink);\n  font-size: 20px;\n  font-weight: 700;\n  line-height: 1.25;\n  overflow-wrap: anywhere;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-result-note {\n  margin: 2px 0 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.bpc-calculator .bpc-chart-card,\n.bpc-calculator .bpc-table-card {\n  display: grid;\n  gap: 20px;\n}\n.bpc-calculator .bpc-chart-head,\n.bpc-calculator .bpc-table-head {\n  display: grid;\n  gap: 4px;\n}\n.bpc-calculator .bpc-chart-total {\n  margin: 0;\n  color: var(--ink);\n  font-size: 20px;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-chart-cluster {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 20px;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  max-width: 760px;\n  margin: 0 auto;\n}\n.bpc-calculator .bpc-donut-host {\n  display: grid;\n  place-items: center;\n  width: min(100%, 320px);\n  margin: 0 auto;\n}\n.bpc-calculator .bpc-donut-host svg {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n.bpc-calculator .bpc-bar-host {\n  width: 100%;\n  min-height: 300px;\n}\n.bpc-calculator .bpc-bar-host svg {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n.bpc-calculator .bpc-chart-side {\n  display: grid;\n  gap: 20px;\n  align-content: center;\n  width: 100%;\n  max-width: 360px;\n  min-width: 0;\n}\n.bpc-calculator .bpc-chart-side .bpc-legend {\n  margin: 0;\n}\n.bpc-calculator .bpc-chart-side .bpc-chart-callout {\n  margin-top: 0;\n}\n.bpc-calculator .bpc-legend {\n  display: grid;\n  gap: 10px;\n  align-content: center;\n  width: fit-content;\n  max-width: 100%;\n  margin: 0 auto;\n}\n.bpc-calculator .bpc-legend-row {\n  display: grid;\n  grid-template-columns: 14px minmax(90px, auto) auto auto;\n  align-items: center;\n  column-gap: 10px;\n  row-gap: 4px;\n  color: var(--ink);\n  font-size: 13px;\n  font-weight: 500;\n}\n.bpc-calculator .bpc-swatch {\n  width: 12px;\n  height: 12px;\n  border-radius: 3px;\n  border: 1px solid rgba(15, 23, 42, .2);\n}\n.bpc-calculator .bpc-legend-name {\n  font-weight: 650;\n}\n.bpc-calculator .bpc-legend-value,\n.bpc-calculator .bpc-legend-percent {\n  white-space: nowrap;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-chart-callout,\n.bpc-calculator .bpc-table-note {\n  margin-top: 16px;\n  padding: 10px 12px;\n  color: var(--muted);\n  background: var(--tint);\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 1.5;\n}\n.bpc-calculator .bpc-empty {\n  display: grid;\n  place-items: center;\n  min-height: 96px;\n  padding: 16px;\n  color: var(--muted);\n  background: var(--tint);\n  border: 1px dashed #cbd5e1;\n  border-radius: 6px;\n  text-align: center;\n  font-size: 13px;\n  font-weight: 600;\n}\n.bpc-calculator .bpc-safe-stack {\n  gap: 24px;\n}\n.bpc-calculator .bpc-safe-stack .bpc-chart-cluster {\n  grid-template-columns: 1fr;\n  gap: 24px;\n}\n.bpc-calculator .bpc-safe-stack .bpc-chart-callout {\n  margin-top: 20px;\n}\n.bpc-calculator .bpc-table-controls {\n  display: grid;\n  grid-template-columns: minmax(180px, 280px);\n  gap: 6px;\n}\n.bpc-calculator .bpc-table-wrap {\n  width: 100%;\n  max-width: 100%;\n  overflow-x: auto;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: #ffffff;\n}\n.bpc-calculator .bpc-table {\n  width: 100%;\n  min-width: 860px;\n  border-collapse: collapse;\n  color: var(--ink);\n  font-size: 13px;\n  font-variant-numeric: tabular-nums;\n}\n.bpc-calculator .bpc-table th,\n.bpc-calculator .bpc-table td {\n  padding: 10px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: right;\n  white-space: nowrap;\n}\n.bpc-calculator .bpc-table th:first-child,\n.bpc-calculator .bpc-table td:first-child {\n  text-align: left;\n}\n.bpc-calculator .bpc-table th {\n  color: #ffffff;\n  background: #172554;\n  font-weight: 700;\n}\n.bpc-calculator .bpc-table tbody tr:nth-child(even) td {\n  background: #f8fafc;\n}\n.bpc-calculator .bpc-table tbody tr:last-child td {\n  border-bottom: 0;\n  font-weight: 700;\n}\n.bpc-calculator .bpc-safe-table-stack .bpc-table-note {\n  margin-top: 20px;\n}\n.bpc-calculator .bpc-education {\n  display: grid;\n  gap: 24px;\n}\n.bpc-calculator .bpc-education-section {\n  display: grid;\n  gap: 10px;\n}\n.bpc-calculator .bpc-education h3 {\n  margin: 0;\n  color: var(--ink);\n  font-size: 16px;\n  font-weight: 650;\n  line-height: 1.4;\n}\n.bpc-calculator .bpc-education p,\n.bpc-calculator .bpc-education ul {\n  margin: 0;\n  color: var(--muted);\n  font-size: 15px;\n}\n.bpc-calculator .bpc-education ul {\n  padding-left: 22px;\n}\n.bpc-calculator .bpc-education li + li {\n  margin-top: 8px;\n}\n.bpc-calculator .bpc-education a {\n  color: var(--primary);\n  text-decoration-thickness: 1px;\n  text-underline-offset: 2px;\n}\n.bpc-calculator .bpc-education a:hover {\n  color: #1e3a8a;\n}\n.bpc-calculator .bpc-sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n@container bpc-shell (min-width: 640px) {\n  .bpc-calculator .bpc-chart-cluster {\n    grid-template-columns: minmax(220px, 320px) minmax(260px, 360px);\n    gap: 24px;\n  }\n  .bpc-calculator .bpc-chart-cluster.bpc-chart-cluster-wide {\n    grid-template-columns: 1fr;\n  }\n}\n@container bpc-shell (min-width: 900px) {\n  .bpc-calculator .bpc-workspace {\n    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);\n  }\n}\n@container bpc-shell (max-width: 639px) {\n  .bpc-calculator .bpc-shell {\n    padding: 16px;\n    gap: 16px;\n  }\n  .bpc-calculator .bpc-panel,\n  .bpc-calculator .bpc-chart-card,\n  .bpc-calculator .bpc-table-card,\n  .bpc-calculator .bpc-education {\n    padding: 16px;\n  }\n  .bpc-calculator .bpc-button {\n    width: 100%;\n  }\n  .bpc-calculator .bpc-field-grid {\n    grid-template-columns: 1fr;\n  }\n  .bpc-calculator .bpc-results-grid {\n    grid-template-columns: 1fr 1fr;\n  }\n  .bpc-calculator .bpc-legend-row {\n    grid-template-columns: 14px minmax(90px, auto) auto;\n  }\n  .bpc-calculator .bpc-legend-percent {\n    grid-column: 2 \/ -1;\n  }\n  .bpc-calculator .bpc-chart-callout,\n  .bpc-calculator .bpc-table-note {\n    margin-top: 12px;\n  }\n  .bpc-calculator .bpc-chart-side .bpc-legend {\n    margin: 0 auto;\n  }\n}\n@media (max-width: 639px) {\n  .bpc-calculator .bpc-shell {\n    padding: 16px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"bpc-calculator\" data-calculator-root\u003e\n  \u003cdiv class=\"bpc-shell\"\u003e\n    \u003cheader class=\"bpc-header\"\u003e\n      \u003ch2 class=\"bpc-title\"\u003eBond Price Calculator\u003c\/h2\u003e\n      \u003cp class=\"bpc-subtitle\"\u003eEstimate a fixed-rate bond’s present value, compare it with par, inspect discounted cash flows, and export the complete analysis to Excel.\u003c\/p\u003e\n      \u003cdiv class=\"bpc-pills\" aria-label=\"Live bond summary\"\u003e\n        \u003cspan class=\"bpc-pill\"\u003ePrice \u003cstrong data-bpc-pill=\"price\"\u003e$798.70\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"bpc-pill\"\u003eTrading \u003cstrong data-bpc-pill=\"status\"\u003eAt a discount\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"bpc-pill\"\u003eCoupon \u003cstrong data-bpc-pill=\"coupon\"\u003e$50.00\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"bpc-pill\"\u003ePeriods \u003cstrong data-bpc-pill=\"periods\"\u003e10\u003c\/strong\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003cdiv class=\"bpc-toolbar\" aria-label=\"Calculator actions\"\u003e\n      \u003cbutton class=\"bpc-button bpc-download\" type=\"button\" data-bpc-action=\"download\"\u003e\n        \u003csvg class=\"bpc-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"\u003e\n          \u003cpath fill=\"currentColor\" d=\"M5 2h10l4 4v16H5V2Zm9 1.8V7h3.2L14 3.8ZM7 9v11h10V9H7Zm2 2h6v2H9v-2Zm0 4h2v3H9v-3Zm4 0h2v3h-2v-3Z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\n        \u003cspan\u003eDownload Excel\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cbutton class=\"bpc-button bpc-reset\" type=\"button\" data-bpc-action=\"reset\"\u003eReset\u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"bpc-workspace\" aria-label=\"Bond pricing workspace\"\u003e\n      \u003cdiv class=\"bpc-panel\"\u003e\n        \u003ch3 class=\"bpc-panel-title\"\u003eBond assumptions\u003c\/h3\u003e\n        \u003cp class=\"bpc-section-intro\"\u003eEnter the contractual cash flows and the market yield used to discount them.\u003c\/p\u003e\n        \u003cdiv class=\"bpc-field-grid\"\u003e\n          \u003cdiv class=\"bpc-field\"\u003e\n            \u003clabel class=\"bpc-label\" for=\"bpc-face\"\u003eFace value\u003c\/label\u003e\n            \u003cinput class=\"bpc-control\" id=\"bpc-face\" type=\"text\" inputmode=\"decimal\" value=\"$1,000.00\" placeholder=\"$0.00\" data-bpc-field=\"face\" data-bpc-mask=\"currency\" aria-describedby=\"bpc-face-help bpc-face-error\"\u003e\n            \u003cp class=\"bpc-help\" id=\"bpc-face-help\"\u003ePrincipal repaid at maturity. Must be greater than zero.\u003c\/p\u003e\n            \u003cp class=\"bpc-error\" id=\"bpc-face-error\" data-bpc-error=\"face\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"bpc-field\"\u003e\n            \u003clabel class=\"bpc-label\" for=\"bpc-coupon-rate\"\u003eAnnual coupon rate\u003c\/label\u003e\n            \u003cinput class=\"bpc-control\" id=\"bpc-coupon-rate\" type=\"text\" inputmode=\"decimal\" value=\"5.00%\" placeholder=\"0.00%\" data-bpc-field=\"couponRate\" data-bpc-mask=\"percent\" aria-describedby=\"bpc-coupon-rate-help bpc-coupon-rate-error\"\u003e\n            \u003cp class=\"bpc-help\" id=\"bpc-coupon-rate-help\"\u003eContract rate applied to face value each year. Zero-coupon bonds use 0%.\u003c\/p\u003e\n            \u003cp class=\"bpc-error\" id=\"bpc-coupon-rate-error\" data-bpc-error=\"couponRate\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"bpc-field\"\u003e\n            \u003clabel class=\"bpc-label\" for=\"bpc-frequency\"\u003eCoupon frequency\u003c\/label\u003e\n            \u003cselect class=\"bpc-control\" id=\"bpc-frequency\" data-bpc-field=\"frequency\" aria-describedby=\"bpc-frequency-help bpc-frequency-error\"\u003e\n              \u003coption value=\"\"\u003eSelect frequency\u003c\/option\u003e\n              \u003coption value=\"1\" selected\u003eAnnually\u003c\/option\u003e\n              \u003coption value=\"2\"\u003eSemi-annually\u003c\/option\u003e\n              \u003coption value=\"4\"\u003eQuarterly\u003c\/option\u003e\n              \u003coption value=\"12\"\u003eMonthly\u003c\/option\u003e\n              \u003coption value=\"52\"\u003eWeekly\u003c\/option\u003e\n              \u003coption value=\"365\"\u003eDaily\u003c\/option\u003e\n            \u003c\/select\u003e\n            \u003cp class=\"bpc-help\" id=\"bpc-frequency-help\"\u003eNumber of coupon payments per year. It also sets the periodic discount rate.\u003c\/p\u003e\n            \u003cp class=\"bpc-error\" id=\"bpc-frequency-error\" data-bpc-error=\"frequency\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"bpc-field\"\u003e\n            \u003clabel class=\"bpc-label\" for=\"bpc-years\"\u003eYears to maturity\u003c\/label\u003e\n            \u003cinput class=\"bpc-control\" id=\"bpc-years\" type=\"text\" inputmode=\"decimal\" value=\"10\" placeholder=\"0\" data-bpc-field=\"years\" data-bpc-mask=\"number\" aria-describedby=\"bpc-years-help bpc-years-error\"\u003e\n            \u003cp class=\"bpc-help\" id=\"bpc-years-help\"\u003eRemaining term. The term should align with a whole coupon period.\u003c\/p\u003e\n            \u003cp class=\"bpc-error\" id=\"bpc-years-error\" data-bpc-error=\"years\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"bpc-field\"\u003e\n            \u003clabel class=\"bpc-label\" for=\"bpc-ytm\"\u003eYield to maturity (YTM)\u003c\/label\u003e\n            \u003cinput class=\"bpc-control\" id=\"bpc-ytm\" type=\"text\" inputmode=\"decimal\" value=\"8.00%\" placeholder=\"0.00%\" data-bpc-field=\"ytm\" data-bpc-mask=\"percent\" aria-describedby=\"bpc-ytm-help bpc-ytm-error\"\u003e\n            \u003cp class=\"bpc-help\" id=\"bpc-ytm-help\"\u003eAnnual market yield used to discount each payment. Negative yields are accepted when mathematically valid.\u003c\/p\u003e\n            \u003cp class=\"bpc-error\" id=\"bpc-ytm-error\" data-bpc-error=\"ytm\" aria-live=\"polite\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bpc-results\"\u003e\n        \u003cdiv class=\"bpc-primary-result\"\u003e\n          \u003cspan class=\"bpc-primary-label\"\u003eEstimated bond price\u003c\/span\u003e\n          \u003cstrong class=\"bpc-primary-value\" data-bpc-result=\"price\"\u003e$798.70\u003c\/strong\u003e\n          \u003cp class=\"bpc-primary-note\" data-bpc-result=\"priceNote\"\u003e$201.30 below face value, so the bond trades at a discount.\u003c\/p\u003e\n          \u003cdiv class=\"bpc-sr-only\" aria-live=\"polite\" data-bpc-live\u003eEstimated bond price is $798.70.\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"bpc-results-grid\"\u003e\n          \u003cdiv class=\"bpc-result-card\"\u003e\n            \u003cspan class=\"bpc-result-label\"\u003eCoupon per period\u003c\/span\u003e\n            \u003cstrong class=\"bpc-result-value\" data-bpc-result=\"couponPerPeriod\"\u003e$50.00\u003c\/strong\u003e\n            \u003cp class=\"bpc-result-note\"\u003eContractual cash coupon paid each period.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bpc-result-card\"\u003e\n            \u003cspan class=\"bpc-result-label\"\u003eAnnual coupon\u003c\/span\u003e\n            \u003cstrong class=\"bpc-result-value\" data-bpc-result=\"annualCoupon\"\u003e$50.00\u003c\/strong\u003e\n            \u003cp class=\"bpc-result-note\"\u003eFace value multiplied by annual coupon rate.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bpc-result-card\"\u003e\n            \u003cspan class=\"bpc-result-label\"\u003eCurrent yield\u003c\/span\u003e\n            \u003cstrong class=\"bpc-result-value\" data-bpc-result=\"currentYield\"\u003e6.26%\u003c\/strong\u003e\n            \u003cp class=\"bpc-result-note\"\u003eAnnual coupon divided by current estimated price.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bpc-result-card\"\u003e\n            \u003cspan class=\"bpc-result-label\"\u003ePrice vs. par\u003c\/span\u003e\n            \u003cstrong class=\"bpc-result-value\" data-bpc-result=\"priceToPar\"\u003e-20.13%\u003c\/strong\u003e\n            \u003cp class=\"bpc-result-note\"\u003ePremium or discount relative to face value.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bpc-result-card\"\u003e\n            \u003cspan class=\"bpc-result-label\"\u003eMacaulay duration\u003c\/span\u003e\n            \u003cstrong class=\"bpc-result-value\" data-bpc-result=\"macaulay\"\u003e7.81 years\u003c\/strong\u003e\n            \u003cp class=\"bpc-result-note\"\u003ePresent-value-weighted time to receive the cash flows.\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"bpc-result-card\"\u003e\n            \u003cspan class=\"bpc-result-label\"\u003eModified duration\u003c\/span\u003e\n            \u003cstrong class=\"bpc-result-value\" data-bpc-result=\"modified\"\u003e7.23 years\u003c\/strong\u003e\n            \u003cp class=\"bpc-result-note\"\u003eApproximate price sensitivity to a small yield change.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bpc-chart-card\" data-bpc-chart-card=\"breakdown\"\u003e\n      \u003cdiv class=\"bpc-chart-head\"\u003e\n        \u003ch3 class=\"bpc-chart-title\"\u003ePresent value breakdown\u003c\/h3\u003e\n        \u003cp class=\"bpc-chart-interpretation\" data-bpc-breakdown-interpretation\u003eThe discounted principal contributes most of the bond’s current value.\u003c\/p\u003e\n        \u003cp class=\"bpc-chart-total\" data-bpc-breakdown-total\u003eTotal present value: $798.70\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-chart-cluster\" data-bpc-qa-block=\"cluster\"\u003e\n        \u003cdiv class=\"bpc-donut-host\" data-bpc-donut data-bpc-qa-block=\"plot\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"bpc-chart-side\"\u003e\n          \u003cdiv class=\"bpc-legend\" data-bpc-breakdown-legend data-bpc-qa-block=\"legend\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bpc-chart-callout\" data-bpc-breakdown-caption data-bpc-qa-block=\"caption\"\u003eCoupon payments account for 32.88% of price, while principal repayment accounts for 67.12%.\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-sr-only\" data-bpc-breakdown-summary\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bpc-chart-card\" data-bpc-chart-card=\"cashflows\"\u003e\n      \u003cdiv class=\"bpc-chart-head\"\u003e\n        \u003ch3 class=\"bpc-chart-title\"\u003eDiscounted cash flow by payment period\u003c\/h3\u003e\n        \u003cp class=\"bpc-chart-interpretation\" data-bpc-cashflow-interpretation\u003eLater payments are worth less today because they are discounted for longer.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-chart-cluster bpc-chart-cluster-wide\" data-bpc-qa-block=\"cluster\"\u003e\n        \u003cdiv class=\"bpc-bar-host\" data-bpc-bars data-bpc-qa-block=\"plot\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"bpc-legend\" data-bpc-bar-legend data-bpc-qa-block=\"legend\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-sr-only\" data-bpc-bar-summary\u003e\u003c\/div\u003e\n      \u003cdiv class=\"bpc-chart-callout\" data-bpc-bar-caption data-bpc-qa-block=\"caption\"\u003eThe final period includes both the last coupon and repayment of face value.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bpc-table-card\" data-bpc-table-card\u003e\n      \u003cdiv class=\"bpc-table-head\"\u003e\n        \u003ch3 class=\"bpc-table-title\"\u003eDiscounted payment schedule\u003c\/h3\u003e\n        \u003cp class=\"bpc-table-intro\"\u003eThe schedule reconciles every contractual payment to the calculated bond price.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-table-controls\"\u003e\n        \u003clabel class=\"bpc-table-label\" for=\"bpc-table-view\"\u003eSchedule view\u003c\/label\u003e\n        \u003cselect class=\"bpc-control\" id=\"bpc-table-view\" data-bpc-table-view\u003e\n          \u003coption value=\"all\" selected\u003eAll payment periods\u003c\/option\u003e\n          \u003coption value=\"annual\"\u003eAnnual summary\u003c\/option\u003e\n        \u003c\/select\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-table-wrap\" data-bpc-table-wrap\u003e\n        \u003ctable class=\"bpc-table\" aria-label=\"Discounted bond payment schedule\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\"\u003ePeriod\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eTime\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eCoupon\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003ePrincipal\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eCash flow\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eDiscount factor\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003ePresent value\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eCumulative PV\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-bpc-schedule-body\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"bpc-table-note\" data-bpc-table-note\u003eAmounts are calculated at full precision and rounded only for display. The Excel export includes every payment period, even when the annual summary view is selected here.\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bpc-education\"\u003e\n      \u003cdiv class=\"bpc-education-section\"\u003e\n        \u003ch2\u003eHow this bond price calculator works\u003c\/h2\u003e\n        \u003cp\u003eThis calculator estimates the clean present value of a conventional fixed-rate bond from its promised coupon payments and final principal repayment. It discounts each future cash flow using the yield to maturity you enter, then adds the discounted amounts. The result is a theoretical price under the stated assumptions, not a live market quote and not a recommendation to buy or sell a security.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bpc-education-section\"\u003e\n        \u003ch3\u003eInputs that drive the valuation\u003c\/h3\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n\u003cstrong\u003eFace value\u003c\/strong\u003e is the principal the issuer promises to repay at maturity. Enter the amount stated in the bond terms, commonly $1,000 for many corporate bonds. It is required and must be positive. A higher face value raises both the coupons and the final repayment in direct proportion when the coupon rate is unchanged.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eAnnual coupon rate\u003c\/strong\u003e is the contractual interest rate applied to face value. Enter 5 for 5%, not 0.05. It may be zero for a zero-coupon bond. A higher coupon rate increases periodic cash flows and normally increases price when yield and maturity are unchanged. Do not confuse coupon rate with yield to maturity.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eCoupon frequency\u003c\/strong\u003e specifies how often coupons are paid. Semi-annual means two payments per year; quarterly means four. The calculator divides both the annual coupon and annual yield by this frequency. Select the frequency stated in the bond documentation rather than assuming annual payments.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eYears to maturity\u003c\/strong\u003e is the remaining time until principal repayment. It is required and must produce a whole number of coupon periods. Longer maturities expose more cash flows to discounting and usually make price more sensitive to yield changes. The calculator limits the schedule to 5,000 payment periods to preserve browser responsiveness.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eYield to maturity\u003c\/strong\u003e is the annual market discount rate used for valuation. A higher YTM reduces the present value of future cash flows; a lower YTM increases it. Negative yields are accepted only while the periodic discount base remains positive. Market YTM can reflect prevailing rates, credit risk, liquidity, taxes, and security-specific terms.\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bpc-education-section\"\u003e\n        \u003ch3\u003eReading the results\u003c\/h3\u003e\n        \u003cp\u003e\u003cstrong\u003eEstimated bond price\u003c\/strong\u003e is the sum of the present values of all coupons and principal. A price below face value is a discount, a price above face value is a premium, and a price near face value is at par. When YTM exceeds the coupon rate, a conventional bond generally trades below par; when YTM is below the coupon rate, it generally trades above par.\u003c\/p\u003e\n        \u003cp\u003e\u003cstrong\u003eCoupon per period\u003c\/strong\u003e is the annual coupon divided by payment frequency. \u003cstrong\u003eAnnual coupon\u003c\/strong\u003e is face value multiplied by coupon rate. \u003cstrong\u003eCurrent yield\u003c\/strong\u003e divides annual coupon by estimated price; it ignores capital gain or loss at maturity, so it is not a substitute for YTM. \u003cstrong\u003ePrice versus par\u003c\/strong\u003e expresses the premium or discount as a percentage of face value.\u003c\/p\u003e\n        \u003cp\u003e\u003cstrong\u003eMacaulay duration\u003c\/strong\u003e is the present-value-weighted average time until cash flows are received. \u003cstrong\u003eModified duration\u003c\/strong\u003e translates that timing measure into an approximate price sensitivity: a modified duration of 7.2 suggests that a small one-percentage-point rise in yield could reduce price by roughly 7.2%, before considering convexity. This is a local approximation, not an exact forecast for large rate moves.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bpc-education-section\"\u003e\n        \u003ch3\u003eFormula and cash-flow schedule\u003c\/h3\u003e\n        \u003cp\u003eFor each payment period, the calculator computes the coupon as face value multiplied by the annual coupon rate and divided by payment frequency. It then discounts the period’s cash flow by one plus the periodic YTM raised to the period number. The last period includes both the final coupon and face value. With a zero YTM, no discounting is applied, so price equals all remaining coupons plus principal.\u003c\/p\u003e\n        \u003cp\u003eThe donut separates price into the present value of coupons and the present value of principal. The bar chart groups payment periods into no more than twelve readable buckets and shows how much coupon value and principal value each bucket contributes. The schedule exposes the exact payment, discount factor, period present value, and cumulative present value. The final cumulative amount should equal the headline bond price apart from display rounding.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bpc-education-section\"\u003e\n        \u003ch3\u003ePractical interpretation and common mistakes\u003c\/h3\u003e\n        \u003cul\u003e\n          \u003cli\u003eUse a yield that matches the bond’s payment convention and risk profile. A government benchmark yield may not be appropriate for a lower-rated corporate issuer.\u003c\/li\u003e\n          \u003cli\u003eDo not treat this result as an invoice price. Actual settlement may include accrued interest, transaction costs, taxes, call features, sinking funds, default probability, or irregular first and last coupon periods.\u003c\/li\u003e\n          \u003cli\u003eCheck whether the quoted market yield is nominal, effective, or bond-equivalent. This calculator uses a nominal annual YTM divided by the selected coupon frequency.\u003c\/li\u003e\n          \u003cli\u003eFor callable, putable, convertible, floating-rate, inflation-linked, amortizing, or defaulted bonds, a simple fixed-cash-flow model may be insufficient.\u003c\/li\u003e\n        \u003c\/ul\u003e\n        \u003cp\u003eFor neutral background material, review the U.S. Securities and Exchange Commission’s \u003ca href=\"https:\/\/www.investor.gov\/introduction-investing\/investing-basics\/investment-products\/bonds-or-fixed-income-products\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ebond overview\u003c\/a\u003e, FINRA’s explanation of the \u003ca href=\"https:\/\/www.finra.org\/investors\/insights\/bond-yield-return\" target=\"_blank\" rel=\"noopener noreferrer\"\u003erelationship between bond price and yield\u003c\/a\u003e, TreasuryDirect information on \u003ca href=\"https:\/\/treasurydirect.gov\/marketable-securities\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. marketable Treasury securities\u003c\/a\u003e, and the SEC’s \u003ca href=\"https:\/\/www.sec.gov\/edgar\/search-and-access\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eEDGAR filing search\u003c\/a\u003e for issuer disclosures.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909489074419,"sku":"bond-price","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/bond-price.webp?v=1783935564","url":"https:\/\/financialmodelslab.com\/products\/bond-price","provider":"Financial Models Lab","version":"1.0","type":"link"}