{"product_id":"jensen-alpha","title":"Jensen's Alpha Calculator","description":"\u003cstyle\u003e\n.ja-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  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-type: inline-size;\n  overflow-wrap: anywhere;\n}\n.ja-calculator,\n.ja-calculator *,\n.ja-calculator *::before,\n.ja-calculator *::after {\n  box-sizing: border-box;\n}\n.ja-calculator a {\n  color: var(--primary);\n  text-decoration-thickness: 1px;\n  text-underline-offset: 2px;\n}\n.ja-calculator a:hover {\n  color: #1e3a8a;\n}\n.ja-calculator button,\n.ja-calculator input,\n.ja-calculator select {\n  font: inherit;\n}\n.ja-calculator button,\n.ja-calculator input,\n.ja-calculator select,\n.ja-calculator a {\n  -webkit-tap-highlight-color: transparent;\n}\n.ja-calculator :focus-visible {\n  outline: 3px solid #2563eb;\n  outline-offset: 2px;\n}\n.ja-calculator .ja-shell {\n  padding: 24px;\n}\n.ja-calculator .ja-header {\n  display: grid;\n  gap: 12px;\n  min-width: 0;\n}\n.ja-calculator .ja-header h2 {\n  margin: 0;\n  font-size: 24px;\n  line-height: 1.2;\n  font-weight: 700;\n  letter-spacing: -0.02em;\n}\n.ja-calculator .ja-header p {\n  margin: 0;\n  color: var(--muted);\n  max-width: 780px;\n}\n.ja-calculator .ja-pills {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  min-width: 0;\n}\n.ja-calculator .ja-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  min-width: 0;\n  padding: 6px 10px;\n  border: 1px solid var(--border);\n  border-radius: 999px;\n  background: var(--surface);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n  font-variant-numeric: tabular-nums;\n}\n.ja-calculator .ja-pill strong {\n  color: var(--ink);\n  font-weight: 700;\n}\n.ja-calculator .ja-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px;\n  align-items: center;\n  margin-top: 16px;\n  min-width: 0;\n}\n.ja-calculator .ja-button {\n  min-height: 46px;\n  border-radius: 6px;\n  padding: 12px 18px;\n  border: 1px solid transparent;\n  cursor: pointer;\n  font-size: 15px;\n  font-weight: 650;\n  line-height: 1;\n  white-space: nowrap;\n  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;\n}\n.ja-calculator .ja-button:hover {\n  box-shadow: 0 3px 8px rgba(15, 23, 42, .12);\n}\n.ja-calculator .ja-button:active {\n  transform: translateY(1px);\n}\n.ja-calculator .ja-download {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  background: var(--accent);\n  color: #ffffff;\n  border-color: var(--accent);\n}\n.ja-calculator .ja-download:hover,\n.ja-calculator .ja-download:active {\n  background: var(--accent-hover);\n  border-color: var(--accent-hover);\n}\n.ja-calculator .ja-download svg {\n  width: 18px;\n  height: 18px;\n  flex: 0 0 auto;\n  stroke: currentColor;\n}\n.ja-calculator .ja-reset {\n  background: var(--surface);\n  color: var(--ink);\n  border-color: #cbd5e1;\n}\n.ja-calculator .ja-reset:hover {\n  background: #f1f5f9;\n  border-color: #94a3b8;\n}\n.ja-calculator .ja-workspace {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr);\n  gap: 16px;\n  margin-top: 24px;\n  min-width: 0;\n}\n.ja-calculator .ja-panel,\n.ja-calculator .ja-chart-card,\n.ja-calculator .ja-table-card,\n.ja-calculator .ja-education {\n  min-width: 0;\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15, 23, 42, .06);\n}\n.ja-calculator .ja-panel {\n  padding: 20px;\n}\n.ja-calculator .ja-section-title {\n  margin: 0 0 16px;\n  font-size: 18px;\n  line-height: 1.3;\n  font-weight: 650;\n}\n.ja-calculator .ja-section-intro {\n  margin: -8px 0 16px;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-form-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));\n  gap: 16px;\n  min-width: 0;\n}\n.ja-calculator .ja-field {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  min-width: 0;\n}\n.ja-calculator .ja-field label {\n  color: var(--ink);\n  font-size: 14px;\n  line-height: 1.35;\n  font-weight: 600;\n}\n.ja-calculator .ja-control-wrap {\n  position: relative;\n  min-width: 0;\n}\n.ja-calculator .ja-input {\n  width: 100%;\n  min-width: 0;\n  min-height: 44px;\n  padding: 10px 12px;\n  border: 1px solid #cbd5e1;\n  border-radius: 6px;\n  background: #ffffff;\n  color: var(--ink);\n  font-size: 15px;\n  line-height: 1.4;\n  font-weight: 400;\n  font-variant-numeric: tabular-nums;\n  box-shadow: inset 0 1px 1px rgba(15, 23, 42, .03);\n}\n.ja-calculator .ja-input:hover {\n  border-color: #94a3b8;\n}\n.ja-calculator .ja-input:focus {\n  border-color: var(--primary);\n}\n.ja-calculator .ja-input[aria-invalid=\"true\"] {\n  border-color: #b91c1c;\n  background: #fff7f7;\n}\n.ja-calculator .ja-helper,\n.ja-calculator .ja-error {\n  min-height: 20px;\n  margin: 0;\n  font-size: 13px;\n  line-height: 1.45;\n  font-weight: 500;\n}\n.ja-calculator .ja-helper {\n  color: var(--muted);\n}\n.ja-calculator .ja-error {\n  color: #991b1b;\n}\n.ja-calculator .ja-results {\n  display: grid;\n  gap: 16px;\n  min-width: 0;\n}\n.ja-calculator .ja-primary-result {\n  padding: 20px;\n  border: 1px solid #bfdbfe;\n  border-radius: 8px;\n  background: #eff6ff;\n  min-width: 0;\n}\n.ja-calculator .ja-primary-label {\n  margin: 0;\n  color: #1e3a8a;\n  font-size: 13px;\n  font-weight: 650;\n  text-transform: uppercase;\n  letter-spacing: .06em;\n}\n.ja-calculator .ja-primary-value {\n  margin: 4px 0 0;\n  color: #172554;\n  font-size: 30px;\n  line-height: 1.15;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.ja-calculator .ja-primary-note {\n  margin: 8px 0 0;\n  color: #334155;\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-metric-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));\n  gap: 12px;\n  min-width: 0;\n}\n.ja-calculator .ja-metric {\n  min-width: 0;\n  padding: 16px;\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  background: #ffffff;\n}\n.ja-calculator .ja-metric span {\n  display: block;\n  color: var(--muted);\n  font-size: 13px;\n  line-height: 1.35;\n  font-weight: 500;\n}\n.ja-calculator .ja-metric strong {\n  display: block;\n  margin-top: 4px;\n  color: var(--ink);\n  font-size: 20px;\n  line-height: 1.25;\n  font-weight: 700;\n  font-variant-numeric: tabular-nums;\n}\n.ja-calculator .ja-status {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  width: fit-content;\n  max-width: 100%;\n  padding: 8px 10px;\n  border-radius: 6px;\n  background: #f1f5f9;\n  color: #334155;\n  font-size: 13px;\n  font-weight: 650;\n}\n.ja-calculator .ja-status::before {\n  content: \"\";\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: #64748b;\n  flex: 0 0 auto;\n}\n.ja-calculator .ja-status[data-state=\"positive\"] {\n  background: #ecfdf5;\n  color: #065f46;\n}\n.ja-calculator .ja-status[data-state=\"positive\"]::before {\n  background: #059669;\n}\n.ja-calculator .ja-status[data-state=\"negative\"] {\n  background: #fff1f2;\n  color: #9f1239;\n}\n.ja-calculator .ja-status[data-state=\"negative\"]::before {\n  background: #e11d48;\n}\n.ja-calculator .ja-status[data-state=\"neutral\"] {\n  background: #f8fafc;\n  color: #475569;\n}\n.ja-calculator .ja-visuals {\n  display: grid;\n  gap: 16px;\n  margin-top: 16px;\n  min-width: 0;\n}\n.ja-calculator .ja-chart-card,\n.ja-calculator .ja-table-card {\n  padding: 20px;\n}\n.ja-calculator .ja-card-head {\n  display: grid;\n  gap: 4px;\n  min-width: 0;\n}\n.ja-calculator .ja-card-head h3 {\n  margin: 0;\n  font-size: 18px;\n  line-height: 1.3;\n  font-weight: 650;\n}\n.ja-calculator .ja-card-head p {\n  margin: 0;\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-chart-cluster {\n  display: grid;\n  gap: 16px;\n  margin-top: 16px;\n  min-width: 0;\n}\n.ja-calculator .ja-plot {\n  min-width: 0;\n  width: 100%;\n}\n.ja-calculator .ja-chart-svg {\n  display: block;\n  width: 100%;\n  height: auto;\n  min-height: 220px;\n  max-height: 320px;\n  overflow: visible;\n}\n.ja-calculator .ja-chart-empty {\n  display: grid;\n  place-items: center;\n  min-height: 112px;\n  padding: 16px;\n  border: 1px dashed #cbd5e1;\n  border-radius: 6px;\n  background: var(--tint);\n  color: var(--muted);\n  text-align: center;\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-chart-empty[hidden],\n.ja-calculator .ja-chart-svg[hidden] {\n  display: none;\n}\n.ja-calculator .ja-legend {\n  display: grid;\n  gap: 8px;\n  width: fit-content;\n  max-width: 100%;\n  min-width: 0;\n}\n.ja-calculator .ja-legend-row {\n  display: grid;\n  grid-template-columns: 12px minmax(0, auto) auto;\n  align-items: center;\n  gap: 10px;\n  min-width: 0;\n  color: var(--ink);\n  font-size: 13px;\n  font-weight: 500;\n  font-variant-numeric: tabular-nums;\n}\n.ja-calculator .ja-legend-swatch {\n  width: 12px;\n  height: 12px;\n  border-radius: 3px;\n}\n.ja-calculator .ja-legend-value {\n  font-weight: 700;\n}\n.ja-calculator .ja-chart-summary {\n  display: grid;\n  gap: 4px;\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid #dbeafe;\n  border-radius: 6px;\n  background: #eff6ff;\n  color: #334155;\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-safe-stack .ja-chart-cluster {\n  grid-template-columns: minmax(0, 1fr);\n  gap: 20px;\n}\n.ja-calculator .ja-safe-stack .ja-chart-summary {\n  margin-top: 20px;\n}\n.ja-calculator .ja-table-wrap {\n  width: 100%;\n  max-width: 100%;\n  margin-top: 16px;\n  overflow-x: auto;\n  overscroll-behavior-inline: contain;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n}\n.ja-calculator .ja-table {\n  width: 100%;\n  min-width: 600px;\n  border-collapse: collapse;\n  font-variant-numeric: tabular-nums;\n}\n.ja-calculator .ja-table th,\n.ja-calculator .ja-table td {\n  padding: 11px 12px;\n  border-bottom: 1px solid var(--border);\n  text-align: left;\n  vertical-align: top;\n}\n.ja-calculator .ja-table th {\n  background: #eaf0f8;\n  color: #0f172a;\n  font-size: 13px;\n  line-height: 1.35;\n  font-weight: 700;\n}\n.ja-calculator .ja-table td {\n  background: #ffffff;\n  color: #334155;\n  font-size: 14px;\n}\n.ja-calculator .ja-table th:not(:first-child),\n.ja-calculator .ja-table td:not(:first-child) {\n  text-align: right;\n}\n.ja-calculator .ja-table tr:last-child td {\n  border-bottom: 0;\n}\n.ja-calculator .ja-table tbody tr:hover td {\n  background: #fafafa;\n}\n.ja-calculator .ja-table-note {\n  margin-top: 16px;\n  padding: 10px 12px;\n  border: 1px solid var(--border);\n  border-radius: 6px;\n  background: var(--tint);\n  color: var(--muted);\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-safe-table-stack .ja-table-note {\n  margin-top: 20px;\n}\n.ja-calculator .ja-education {\n  margin-top: 16px;\n  padding: 24px;\n}\n.ja-calculator .ja-education h2,\n.ja-calculator .ja-education h3 {\n  color: var(--ink);\n}\n.ja-calculator .ja-education h2 {\n  margin: 28px 0 10px;\n  font-size: 20px;\n  line-height: 1.3;\n  font-weight: 700;\n}\n.ja-calculator .ja-education h2:first-child {\n  margin-top: 0;\n}\n.ja-calculator .ja-education h3 {\n  margin: 20px 0 8px;\n  font-size: 16px;\n  line-height: 1.35;\n  font-weight: 700;\n}\n.ja-calculator .ja-education p,\n.ja-calculator .ja-education ul {\n  margin: 0 0 12px;\n}\n.ja-calculator .ja-education ul {\n  padding-left: 22px;\n}\n.ja-calculator .ja-education li + li {\n  margin-top: 6px;\n}\n.ja-calculator .ja-formula {\n  margin: 12px 0;\n  padding: 12px;\n  border-left: 4px solid var(--primary);\n  border-radius: 0 6px 6px 0;\n  background: #eff6ff;\n  color: #172554;\n  font-weight: 650;\n  font-variant-numeric: tabular-nums;\n  overflow-wrap: anywhere;\n}\n.ja-calculator .ja-disclaimer {\n  margin-top: 20px;\n  padding: 12px;\n  border: 1px solid #fed7aa;\n  border-radius: 6px;\n  background: #fff7ed;\n  color: #7c2d12;\n  font-size: 13px;\n  font-weight: 500;\n}\n.ja-calculator .ja-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 (min-width: 900px) {\n  .ja-calculator .ja-workspace {\n    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);\n  }\n}\n@container (min-width: 760px) {\n  .ja-calculator .ja-visuals {\n    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);\n    align-items: start;\n  }\n}\n@container (max-width: 639px) {\n  .ja-calculator .ja-shell {\n    padding: 16px;\n  }\n  .ja-calculator .ja-panel,\n  .ja-calculator .ja-chart-card,\n  .ja-calculator .ja-table-card,\n  .ja-calculator .ja-education {\n    padding: 16px;\n  }\n  .ja-calculator .ja-toolbar {\n    align-items: stretch;\n  }\n  .ja-calculator .ja-button {\n    flex: 1 1 auto;\n    justify-content: center;\n  }\n  .ja-calculator .ja-chart-svg {\n    min-height: 200px;\n  }\n  .ja-calculator .ja-legend-row {\n    grid-template-columns: 12px minmax(0, 1fr) auto;\n  }\n}\n@container (max-width: 360px) {\n  .ja-calculator .ja-chart-summary,\n  .ja-calculator .ja-table-note {\n    margin-top: 12px;\n  }\n}\n@media (max-width: 639px) {\n  .ja-calculator .ja-shell {\n    padding: 16px;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"ja-calculator\" data-calculator-root\u003e\n  \u003cdiv class=\"ja-shell\"\u003e\n    \u003cheader class=\"ja-header\"\u003e\n      \u003ch2\u003eJensen’s Alpha Calculator\u003c\/h2\u003e\n      \u003cp\u003eMeasure a portfolio’s risk-adjusted performance by comparing its realized return with the return implied by the Capital Asset Pricing Model.\u003c\/p\u003e\n      \u003cdiv class=\"ja-pills\" aria-label=\"Live calculation summary\"\u003e\n        \u003cspan class=\"ja-pill\"\u003ePortfolio return \u003cstrong data-ja-pill=\"portfolio\"\u003e20.00%\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"ja-pill\"\u003eCAPM return \u003cstrong data-ja-pill=\"expected\"\u003e12.08%\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"ja-pill\"\u003eAlpha \u003cstrong data-ja-pill=\"alpha\"\u003e7.92%\u003c\/strong\u003e\u003c\/span\u003e\n        \u003cspan class=\"ja-pill\"\u003eSignal \u003cstrong data-ja-pill=\"status\"\u003eOutperformance\u003c\/strong\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003cdiv class=\"ja-toolbar\" aria-label=\"Calculator actions\"\u003e\n      \u003cbutton class=\"ja-button ja-download\" type=\"button\" data-ja-action=\"download\"\u003e\n        \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 3v12m0 0 4-4m-4 4-4-4M5 19h14\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n        \u003cspan\u003eDownload Excel\u003c\/span\u003e\n      \u003c\/button\u003e\n      \u003cbutton class=\"ja-button ja-reset\" type=\"button\" data-ja-action=\"reset\"\u003eReset\u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ja-workspace\"\u003e\n      \u003csection class=\"ja-panel\" aria-labelledby=\"ja-inputs-title\"\u003e\n        \u003ch3 class=\"ja-section-title\" id=\"ja-inputs-title\"\u003ePortfolio and market assumptions\u003c\/h3\u003e\n        \u003cp class=\"ja-section-intro\"\u003eEnter values for one consistent measurement period, such as one year or one quarter.\u003c\/p\u003e\n        \u003cdiv class=\"ja-form-grid\"\u003e\n          \u003cdiv class=\"ja-field\"\u003e\n            \u003clabel for=\"ja-beginning\"\u003eBeginning portfolio value\u003c\/label\u003e\n            \u003cdiv class=\"ja-control-wrap\"\u003e\u003cinput class=\"ja-input\" id=\"ja-beginning\" name=\"ja-beginning\" type=\"text\" inputmode=\"decimal\" value=\"$1,000,000.00\" aria-describedby=\"ja-beginning-help ja-beginning-error\" data-ja-field=\"beginning\" data-ja-mask=\"currency\"\u003e\u003c\/div\u003e\n            \u003cp class=\"ja-helper\" id=\"ja-beginning-help\"\u003eStarting market value before the period’s gain or loss.\u003c\/p\u003e\n            \u003cp class=\"ja-error\" id=\"ja-beginning-error\" data-ja-error=\"beginning\" aria-live=\"off\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"ja-field\"\u003e\n            \u003clabel for=\"ja-ending\"\u003eEnding portfolio value\u003c\/label\u003e\n            \u003cdiv class=\"ja-control-wrap\"\u003e\u003cinput class=\"ja-input\" id=\"ja-ending\" name=\"ja-ending\" type=\"text\" inputmode=\"decimal\" value=\"$1,200,000.00\" aria-describedby=\"ja-ending-help ja-ending-error\" data-ja-field=\"ending\" data-ja-mask=\"currency\"\u003e\u003c\/div\u003e\n            \u003cp class=\"ja-helper\" id=\"ja-ending-help\"\u003eEnding value after the period, excluding external cash flows.\u003c\/p\u003e\n            \u003cp class=\"ja-error\" id=\"ja-ending-error\" data-ja-error=\"ending\" aria-live=\"off\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"ja-field\"\u003e\n            \u003clabel for=\"ja-risk-free\"\u003eRisk-free rate\u003c\/label\u003e\n            \u003cdiv class=\"ja-control-wrap\"\u003e\u003cinput class=\"ja-input\" id=\"ja-risk-free\" name=\"ja-risk-free\" type=\"text\" inputmode=\"decimal\" value=\"2.00%\" aria-describedby=\"ja-risk-free-help ja-risk-free-error\" data-ja-field=\"riskFree\" data-ja-mask=\"percent\"\u003e\u003c\/div\u003e\n            \u003cp class=\"ja-helper\" id=\"ja-risk-free-help\"\u003eReturn on a low-credit-risk asset for the same horizon.\u003c\/p\u003e\n            \u003cp class=\"ja-error\" id=\"ja-risk-free-error\" data-ja-error=\"riskFree\" aria-live=\"off\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"ja-field\"\u003e\n            \u003clabel for=\"ja-beta\"\u003ePortfolio beta\u003c\/label\u003e\n            \u003cdiv class=\"ja-control-wrap\"\u003e\u003cinput class=\"ja-input\" id=\"ja-beta\" name=\"ja-beta\" type=\"text\" inputmode=\"decimal\" value=\"1.12\" aria-describedby=\"ja-beta-help ja-beta-error\" data-ja-field=\"beta\" data-ja-mask=\"number\"\u003e\u003c\/div\u003e\n            \u003cp class=\"ja-helper\" id=\"ja-beta-help\"\u003eSensitivity of the portfolio to market movements.\u003c\/p\u003e\n            \u003cp class=\"ja-error\" id=\"ja-beta-error\" data-ja-error=\"beta\" aria-live=\"off\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"ja-field\"\u003e\n            \u003clabel for=\"ja-market-return\"\u003eMarket rate of return\u003c\/label\u003e\n            \u003cdiv class=\"ja-control-wrap\"\u003e\u003cinput class=\"ja-input\" id=\"ja-market-return\" name=\"ja-market-return\" type=\"text\" inputmode=\"decimal\" value=\"11.00%\" aria-describedby=\"ja-market-return-help ja-market-return-error\" data-ja-field=\"marketReturn\" data-ja-mask=\"percent\"\u003e\u003c\/div\u003e\n            \u003cp class=\"ja-helper\" id=\"ja-market-return-help\"\u003eBroad-market return measured over the same period.\u003c\/p\u003e\n            \u003cp class=\"ja-error\" id=\"ja-market-return-error\" data-ja-error=\"marketReturn\" aria-live=\"off\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"ja-panel ja-results\" aria-labelledby=\"ja-results-title\"\u003e\n        \u003ch3 class=\"ja-section-title\" id=\"ja-results-title\"\u003eLive results\u003c\/h3\u003e\n        \u003cdiv class=\"ja-primary-result\"\u003e\n          \u003cp class=\"ja-primary-label\"\u003eJensen’s alpha\u003c\/p\u003e\n          \u003cp class=\"ja-primary-value\" data-ja-output=\"alpha\"\u003e7.92%\u003c\/p\u003e\n          \u003cp class=\"ja-primary-note\" data-ja-output=\"interpretation\"\u003eThe portfolio outperformed its CAPM-implied return by 7.92 percentage points.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ja-metric-grid\"\u003e\n          \u003cdiv class=\"ja-metric\"\u003e\n\u003cspan\u003ePortfolio return\u003c\/span\u003e\u003cstrong data-ja-output=\"portfolioReturn\"\u003e20.00%\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ja-metric\"\u003e\n\u003cspan\u003eCAPM expected return\u003c\/span\u003e\u003cstrong data-ja-output=\"expectedReturn\"\u003e12.08%\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ja-metric\"\u003e\n\u003cspan\u003eMarket risk premium\u003c\/span\u003e\u003cstrong data-ja-output=\"marketPremium\"\u003e9.00%\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"ja-metric\"\u003e\n\u003cspan\u003eAlpha on starting capital\u003c\/span\u003e\u003cstrong data-ja-output=\"alphaDollars\"\u003e$79,200.00\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ja-status\" data-ja-output=\"status\" data-state=\"positive\"\u003ePositive risk-adjusted performance\u003c\/div\u003e\n        \u003cdiv class=\"ja-sr-only\" aria-live=\"polite\" aria-atomic=\"true\" data-ja-live\u003eJensen’s alpha is 7.92%.\u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ja-visuals\"\u003e\n      \u003csection class=\"ja-chart-card\" data-ja-chart-card aria-labelledby=\"ja-chart-title\"\u003e\n        \u003cdiv class=\"ja-card-head\"\u003e\n          \u003ch3 id=\"ja-chart-title\"\u003eActual return versus CAPM benchmark\u003c\/h3\u003e\n          \u003cp data-ja-chart-subtitle\u003eThe gap between the two bars is Jensen’s alpha.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ja-chart-cluster\" data-ja-chart-cluster\u003e\n          \u003cdiv class=\"ja-plot\" data-ja-plot\u003e\n            \u003csvg class=\"ja-chart-svg\" data-ja-chart viewbox=\"0 0 640 260\" role=\"img\" aria-labelledby=\"ja-chart-title ja-chart-desc\"\u003e\u003c\/svg\u003e\n            \u003cp class=\"ja-chart-empty\" data-ja-chart-empty hidden\u003eEnter valid values above to see the comparison.\u003c\/p\u003e\n            \u003cspan class=\"ja-sr-only\" id=\"ja-chart-desc\" data-ja-chart-desc\u003ePortfolio return 20.00%; CAPM expected return 12.08%.\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"ja-legend\" data-ja-legend aria-label=\"Chart legend\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ja-chart-summary\" data-ja-chart-summary\u003ePortfolio return exceeds the CAPM benchmark by 7.92 percentage points.\u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \u003csection class=\"ja-table-card\" data-ja-table-card aria-labelledby=\"ja-table-title\"\u003e\n        \u003cdiv class=\"ja-card-head\"\u003e\n          \u003ch3 id=\"ja-table-title\"\u003eCalculation detail\u003c\/h3\u003e\n          \u003cp\u003eEach row uses the same live model that powers the result and Excel export.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ja-table-wrap\" data-ja-table-wrap\u003e\n          \u003ctable class=\"ja-table\"\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\n\u003cth scope=\"col\"\u003eMetric\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eValue\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eRole in calculation\u003c\/th\u003e\n\u003c\/tr\u003e\n            \u003c\/thead\u003e\n            \u003ctbody data-ja-table-body\u003e\u003c\/tbody\u003e\n          \u003c\/table\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ja-table-note\" data-ja-table-note\u003eReturns and rates must use the same period. External deposits or withdrawals should be removed before calculating the portfolio return.\u003c\/div\u003e\n      \u003c\/section\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"ja-education\"\u003e\n      \u003ch2\u003eWhat does Jensen’s alpha estimate?\u003c\/h2\u003e\n      \u003cp\u003eJensen’s alpha estimates the portion of a portfolio’s return that remains after allowing for the return expected from its market exposure. It is a risk-adjusted performance measure: instead of asking only whether a portfolio made money, it asks whether the portfolio earned more or less than the Capital Asset Pricing Model, or CAPM, would imply for its beta.\u003c\/p\u003e\n      \u003cp\u003eA positive alpha means the realized portfolio return was above the CAPM benchmark for the selected period. A negative alpha means the portfolio fell short of that benchmark. An alpha near zero means performance was broadly consistent with the return implied by the chosen risk-free rate, market return, and beta. The measure is useful for structured comparison, but a single period cannot distinguish repeatable investment skill from luck, timing, unmeasured factors, fees, or data noise.\u003c\/p\u003e\n\n      \u003ch2\u003eHow should each input be used?\u003c\/h2\u003e\n      \u003ch3\u003eBeginning portfolio value\u003c\/h3\u003e\n      \u003cp\u003eEnter the market value at the start of the measurement period. This field is required and must be greater than zero because it is the denominator of the portfolio-return calculation. A larger starting value does not change the percentage alpha when all returns stay the same, but it increases the displayed “alpha on starting capital” amount. Do not mix a start-of-day value with an end-of-month value unless the other rates cover that same interval.\u003c\/p\u003e\n\n      \u003ch3\u003eEnding portfolio value\u003c\/h3\u003e\n      \u003cp\u003eEnter the portfolio’s value at the end of the period. This field is required and cannot be negative. The calculator assumes there were no external deposits or withdrawals. If cash was added or removed, use a time-weighted return or another cash-flow-adjusted method first; otherwise the computed portfolio return can be materially distorted. Higher ending value raises the portfolio return and, all else equal, raises alpha.\u003c\/p\u003e\n\n      \u003ch3\u003eRisk-free rate\u003c\/h3\u003e\n      \u003cp\u003eEnter a rate for a low-credit-risk instrument with a maturity or measurement horizon reasonably aligned with the analysis. Analysts often reference U.S. Treasury yields, which are published by the \u003ca href=\"https:\/\/home.treasury.gov\/policy-issues\/financing-the-government\/interest-rate-statistics\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. Department of the Treasury\u003c\/a\u003e, or market series available through the \u003ca href=\"https:\/\/fred.stlouisfed.org\/categories\/115\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFederal Reserve Bank of St. Louis\u003c\/a\u003e. A higher risk-free rate generally raises the CAPM expected return, which lowers alpha when other inputs are unchanged.\u003c\/p\u003e\n\n      \u003ch3\u003ePortfolio beta\u003c\/h3\u003e\n      \u003cp\u003eBeta measures sensitivity to market movements. A beta of 1.00 implies market-like exposure; above 1.00 indicates greater sensitivity; below 1.00 indicates lower sensitivity; and a negative beta indicates movement that has historically tended to oppose the market. Beta is required but may be negative. Use a beta estimated over a period, return frequency, and benchmark consistent with the rest of the analysis. When the market risk premium is positive, a higher beta raises expected return and reduces alpha.\u003c\/p\u003e\n\n      \u003ch3\u003eMarket rate of return\u003c\/h3\u003e\n      \u003cp\u003eEnter the return of a broad benchmark over the same period as the portfolio return. This is a realized or assumed market return, not necessarily a long-run average. Using an annual market figure with a quarterly portfolio result is a common mistake. Higher market return increases the market risk premium and usually increases the CAPM benchmark for positive-beta portfolios, reducing alpha.\u003c\/p\u003e\n\n      \u003ch2\u003eHow does the calculation work?\u003c\/h2\u003e\n      \u003cp\u003eThe calculator first derives the portfolio return from beginning and ending values. It then computes the CAPM expected return and subtracts that benchmark from the portfolio return.\u003c\/p\u003e\n      \u003cdiv class=\"ja-formula\"\u003ePortfolio return = (Ending value − Beginning value) ÷ Beginning value\u003c\/div\u003e\n      \u003cdiv class=\"ja-formula\"\u003eCAPM expected return = Risk-free rate + Beta × (Market return − Risk-free rate)\u003c\/div\u003e\n      \u003cdiv class=\"ja-formula\"\u003eJensen’s alpha = Portfolio return − CAPM expected return\u003c\/div\u003e\n      \u003cp\u003eFor the initial example, the portfolio return is 20.00%. With a 2.00% risk-free rate, 1.12 beta, and 11.00% market return, CAPM implies 12.08%. The resulting Jensen’s alpha is therefore 7.92%.\u003c\/p\u003e\n\n      \u003ch2\u003eHow should the results, chart, and table be interpreted?\u003c\/h2\u003e\n      \u003cp\u003eThe primary result is Jensen’s alpha in percentage terms. Positive values indicate outperformance relative to the selected CAPM assumptions; negative values indicate underperformance. The portfolio return is the raw holding-period gain or loss. The CAPM expected return is the risk-adjusted benchmark. The market risk premium is the market return minus the risk-free rate and represents the extra return assigned to market risk.\u003c\/p\u003e\n      \u003cp\u003e“Alpha on starting capital” multiplies the alpha rate by beginning value. It is an intuitive scale indicator, not a separate cash-flow attribution model. The bar chart compares realized return with the CAPM benchmark using the same live values. The calculation table exposes each intermediate so you can audit the arithmetic. The downloaded workbook contains the current inputs, outputs, comparison values, and scenario notes in a valid Excel file.\u003c\/p\u003e\n\n      \u003ch2\u003eWhat are the main limitations and common mistakes?\u003c\/h2\u003e\n      \u003cul\u003e\n        \u003cli\u003eUsing mismatched periods for portfolio, market, and risk-free returns.\u003c\/li\u003e\n        \u003cli\u003eIgnoring deposits, withdrawals, fees, taxes, or leverage that changed the realized result.\u003c\/li\u003e\n        \u003cli\u003eTreating beta as stable even though it can vary with the estimation window and benchmark.\u003c\/li\u003e\n        \u003cli\u003eAssuming a positive one-period alpha proves persistent manager skill.\u003c\/li\u003e\n        \u003cli\u003eComparing alphas calculated with different market indexes or risk-free assumptions.\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp\u003eCAPM is a simplified model and does not capture every source of return. The \u003ca href=\"https:\/\/www.investor.gov\/introduction-investing\/investing-basics\/glossary\/alpha\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. Securities and Exchange Commission’s Investor.gov glossary\u003c\/a\u003e provides a concise definition of alpha, while the \u003ca href=\"https:\/\/rpc.cfainstitute.org\/research\/cfa-digest\/2013\/05\/a-new-perspective-on-the-validity-of-the-capm-still-alive-and-well-digest-summary\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eCFA Institute Research and Policy Center\u003c\/a\u003e offers broader educational material on investment analysis and risk concepts.\u003c\/p\u003e\n      \u003cdiv class=\"ja-disclaimer\"\u003eThis calculator is an educational analytical tool. It does not provide personalized investment, tax, legal, or financial advice, and it does not predict future performance.\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909485928691,"sku":"jensen-alpha","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/jensen-alpha.webp?v=1783935488","url":"https:\/\/financialmodelslab.com\/products\/jensen-alpha","provider":"Financial Models Lab","version":"1.0","type":"link"}