1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[847],{4380:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/research/[slug]",function(){return n(2928)}])},2928:function(e,t,n){"use strict";n.r(t),n.d(t,{__N_SSG:function(){return en},default:function(){return ResearchStudyPage}});var r=n(5893),a=n(7340),i=n(9008),c=n.n(i),o=n(1664),l=n.n(o),s=n(7294),d=n(9521);let m="https://www.chat2invest.com";var u=n(3556);let trackEvent=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===window.umami)for(let e=0;e<12&&void 0===window.umami;e++)await new Promise(e=>setTimeout(e,200));void 0!==window.umami&&window.umami.track(e,t),void 0!==window.zaraz&&await window.zaraz.track(e,t)},p=[5,10,20,25,50,100,200,250,500,1e3,2e3,5e3];function finiteValues(e){return e.filter(e=>Number.isFinite(e))}function niceStep(e,t){let n=p.find(n=>Math.ceil(e/n)<=t);return null!=n?n:p[p.length-1]}function hasNonFinite(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.some(e=>e.some(e=>!Number.isFinite(e)))}function _templateObject(){let e=(0,a._)(["\n margin: 2rem 0;\n svg {\n width: 100%;\n height: auto;\n display: block;\n }\n .cash-note {\n font-size: 1.6rem;\n line-height: 1.7;\n opacity: 0.85;\n margin: 0;\n }\n"]);return _templateObject=function(){return e},e}function _templateObject1(){let e=(0,a._)(["\n font-size: 1.3rem;\n opacity: 0.65;\n margin-top: 0.6rem;\n"]);return _templateObject1=function(){return e},e}let h="#0ba78f",b="#d97706",f={top:14,right:14,bottom:28,left:46};function dayNumber(e){let[t,n,r]=e.split("-").map(Number);return Date.UTC(t,n-1,r)/864e5}function dateXScale(e,t){let n=dayNumber(e),r=dayNumber(t)-n||1;return e=>f.left+(dayNumber(e)-n)/r*(800-f.left-f.right)}function toPoints(e,t,n){return e.map(e=>{let[r,a]=e;return"".concat(t(r).toFixed(1),",").concat(n(a).toFixed(1))}).join(" ")}function makeScale(e){let[t,n]=e,r=n-t||1;return{yScale:e=>f.top+(n-e)/r*(300-f.top-f.bottom)}}function AxisLabels(e){let{x0:t,x1:n}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("text",{x:f.left,y:292,fontSize:11,fill:"currentColor",opacity:.6,children:t}),(0,r.jsx)("text",{x:800-f.right,y:292,fontSize:11,fill:"currentColor",opacity:.6,textAnchor:"end",children:n})]})}function YGrid(e){let{domain:t,fmt:n}=e,{yScale:a}=makeScale([t.min,t.max]);return(0,r.jsx)("g",{children:t.ticks.map(e=>(0,r.jsxs)("g",{children:[(0,r.jsx)("line",{x1:f.left,x2:800-f.right,y1:a(e),y2:a(e),stroke:"rgba(128,128,128,0.25)",strokeWidth:1}),(0,r.jsx)("text",{x:f.left-6,y:a(e)+4,fontSize:11,fill:"currentColor",opacity:.6,textAnchor:"end",children:n(e)})]},e))})}function isEmptySeries(e){return 0===e.length||e.some(e=>{let[,t]=e;return!Number.isFinite(t)})}function EquityCurveChart(e){let{baseline:t,variant:n,startDate:a,endDate:i,baselineLabel:c,variantLabel:o}=e;if(isEmptySeries(t)||isEmptySeries(n))return(0,r.jsx)(ChartShell,{caption:"Equity curve â net value, start = 1",children:"No drawable equity series."});let l=function(e,t){let n=finiteValues([...e,...t]),r=Math.max(...n.map(e=>Math.abs(e)),1),a=niceStep(r,4),i=Math.ceil(r/a)*a,c=Array.from(new Set([0,i/2,i]));return{min:0,max:i,ticks:c}}(t.map(e=>{let[,t]=e;return t}),n.map(e=>{let[,t]=e;return t})),{yScale:s}=makeScale([l.min,l.max]),d=dateXScale(a,i);return(0,r.jsx)(ChartShell,{caption:"Equity curve â net value, start = 1",children:(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(800," ").concat(300),role:"img","aria-label":"Equity curve comparison",children:[(0,r.jsx)(YGrid,{domain:l,fmt:e=>e%1==0?"".concat(e):e.toFixed(1)}),(0,r.jsx)(AxisLabels,{x0:a,x1:i}),(0,r.jsx)("polyline",{points:toPoints(t,d,s),fill:"none",stroke:h,strokeWidth:2}),(0,r.jsx)("polyline",{points:toPoints(n,d,s),fill:"none",stroke:b,strokeWidth:2}),(0,r.jsx)(Legend,{items:[{color:h,label:c},{color:b,label:o}]})]})})}function DrawdownChart(e){let{baseline:t,variant:n,startDate:a,endDate:i,baselineLabel:c,variantLabel:o}=e;if(isEmptySeries(t)||isEmptySeries(n))return(0,r.jsx)(ChartShell,{caption:"Drawdown path (%)",children:"No drawable drawdown series."});let l=function(e,t){let n=finiteValues([...e,...t]),r=Math.max(...n.map(e=>Math.abs(e)),1),a=niceStep(r,8),i=Math.ceil(r/a)*a,c=[];for(let e=-i;e<=0;e+=a)c.push(e);return{min:-i,max:0,ticks:c}}(t.map(e=>{let[,t]=e;return t}),n.map(e=>{let[,t]=e;return t})),{yScale:s}=makeScale([l.min,l.max]),d=dateXScale(a,i);
1return(0,r.jsx)(ChartShell,{caption:"Drawdown path (%)",children:(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(800," ").concat(300),role:"img","aria-label":"Drawdown path comparison",children:[(0,r.jsx)(YGrid,{domain:l,fmt:e=>"".concat(e,"%")}),(0,r.jsx)(AxisLabels,{x0:a,x1:i}),(0,r.jsx)("polyline",{points:toPoints(t,d,s),fill:"none",stroke:h,strokeWidth:2}),(0,r.jsx)("polyline",{points:toPoints(n,d,s),fill:"none",stroke:b,strokeWidth:2}),(0,r.jsx)(Legend,{items:[{color:h,label:c},{color:b,label:o}]})]})})}function AnnualReturnsChart(e){let{years:t,baseline:n,variant:a,baselineLabel:i,variantLabel:c}=e;if(hasNonFinite(n,a)||0===t.length)return(0,r.jsx)(ChartShell,{caption:"Annual returns (%)",children:"No drawable annual-return series."});let o=function(e,t){let n=finiteValues([...e,...t]),r=Math.max(...n.map(e=>Math.abs(e)),1),a=niceStep(r,6),i=Math.ceil(r/a)*a,c=Math.max(a*Math.floor(i/a/2),a),o=Array.from(new Set([-i,-c,0,c,i])).sort((e,t)=>e-t);return{min:-i,max:i,ticks:o}}(n,a),{yScale:l}=makeScale([o.min,o.max]),s=t.length,d=(800-f.left-f.right)/s,m=Math.min(.32*d,14),x0=e=>f.left+e*d+d/2,bar=(e,t,n,a)=>{let i=t>=0?l(t):l(0),c=Math.abs(l(0)-l(t));return(0,r.jsx)("rect",{x:x0(e)-m+a,y:i,width:m,height:Math.max(c,.5),fill:n},e+n)};return(0,r.jsx)(ChartShell,{caption:"Annual returns (%)",children:(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(800," ").concat(300),role:"img","aria-label":"Annual returns comparison",children:[(0,r.jsx)(YGrid,{domain:o,fmt:e=>"".concat(e,"%")}),(0,r.jsx)("g",{children:t.map((e,t)=>(0,r.jsx)("text",{x:x0(t),y:292,fontSize:9.5,fill:"currentColor",opacity:.55,textAnchor:"middle",children:e.slice(2)},e))}),t.map((e,t)=>(0,r.jsxs)("g",{children:[bar(t,n[t],h,0),bar(t,a[t],b,m+1)]},e)),(0,r.jsx)(Legend,{items:[{color:h,label:i},{color:b,label:c}]})]})})}function CashExposureChart(e){let{years:t,cashPct:n,variantLabel:a}=e;if(hasNonFinite(n)||0===t.length)return(0,r.jsx)(ChartShell,{caption:"Average cash exposure by year (%)",children:"No drawable cash series."});let{yScale:i}=makeScale([0,100]),c=t.length,o=(800-f.left-f.right)/c,l=Math.min(.5*o,22),x0=e=>f.left+e*o+o/2;return(0,r.jsx)(ChartShell,{caption:"Average cash exposure by year (%) â ".concat(a," (daily sampled)"),children:(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(800," ").concat(300),role:"img","aria-label":"Average cash exposure of the ".concat(a," portfolio by year, daily sampled."),children:[(0,r.jsx)(YGrid,{domain:{min:0,max:100,ticks:[0,25,50,75,100]},fmt:e=>"".concat(e,"%")}),(0,r.jsx)("g",{children:t.map((e,t)=>(0,r.jsx)("text",{x:x0(t),y:292,fontSize:9.5,fill:"currentColor",opacity:.55,textAnchor:"middle",children:e.slice(2)},e))}),t.map((e,t)=>(0,r.jsx)("rect",{x:x0(t)-l/2,y:i(n[t]),width:l,height:Math.max(300-f.bottom-i(n[t]),.5),fill:b,opacity:.85},e))]})})}function CashNote(e){let{note:t,variantLabel:n}=e;return(0,r.jsxs)(g,{children:[(0,r.jsx)("p",{className:"cash-note",children:t}),(0,r.jsxs)(x,{children:["Cash exposure (",n,") â daily sampled; values are in the evidence table."]})]})}function CashExposureBlock(e){let{avgCashPct:t,yearlyCash:n,years:a,variantLabel:i}=e,c=function(e,t){let n=Object.values(t).filter(e=>Number.isFinite(e)),r=n.length>0?Math.max(...n):0,a=e>=2||r>=5,i="Cash exposure stayed effectively near zero in this test â average ".concat(e.toFixed(1),"%")+(n.length>0?", highest year ".concat(r.toFixed(1),"%."):".");return{material:a,presentation:a?"chart":"note",note:i}}(t,n),o=a.some(e=>!(e in n));return o?(0,r.jsx)(CashNote,{note:"Cash exposure data is incomplete for some display years â see the evidence table.",variantLabel:i}):"note"===c.presentation?(0,r.jsx)(CashNote,{note:c.note,variantLabel:i}):(0,r.jsx)(CashExposureChart,{years:a,cashPct:a.map(e=>n[e]),variantLabel:i})}function Legend(e){let{items:t}=e,labelWidth=e=>Math.ceil(6.6*e.length),n=Math.max(130,Math.max(...t.map(e=>labelWidth(e.label)))+16),a=n*t.length,i=800-f.right-a;return(0,r.jsx)("g",{transform:"translate(".concat(i,", 6)"),children:t.map((e,t)=>(0,r.jsxs)("g",{transform:"translate(".concat(t*n,", 0)"),children:[(0,r.jsx)("line",{x1:0,y1:0,x2:18,y2:0,stroke:e.color,strokeWidth:3}),(0,r.jsx)("text",{x:24,y:4,fontSize:11,fill:"currentColor",opacity:.75,children:e.label})]},e.label))})}function ChartShell(e){let{caption:t,children:n}=e;return(0,r.jsxs)(g,{children:[n,(0,r.jsx)(x,{children:t})]})}let g=d.ZP.figure.withConfig({componentId:"sc-219c17ad-0"}
1)(_templateObject()),x=d.ZP.figcaption.withConfig({componentId:"sc-219c17ad-1"})(_templateObject1());function ResearchPage_templateObject(){let e=(0,a._)(["\n max-width: 92rem;\n margin: 6rem auto 10rem;\n padding: 0 2rem;\n color: rgb(var(--text));\n\n "," {\n margin: 3rem auto 6rem;\n padding: 0 1.5rem;\n }\n"]);return ResearchPage_templateObject=function(){return e},e}function ResearchPage_templateObject1(){let e=(0,a._)(["\n margin-bottom: 3rem;\n a {\n color: rgb(var(--primary));\n text-decoration: none;\n font-weight: 600;\n font-size: 1.5rem;\n &:hover {\n text-decoration: underline;\n }\n }\n"]);return ResearchPage_templateObject1=function(){return e},e}function _templateObject2(){let e=(0,a._)(["\n margin-bottom: 5rem;\n"]);return _templateObject2=function(){return e},e}function _templateObject3(){let e=(0,a._)(["\n display: inline-block;\n padding: 0.4rem 1.2rem;\n border-radius: 999px;\n font-size: 1.3rem;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: #fff;\n background: ",";\n"]);return _templateObject3=function(){return e},e}function _templateObject4(){let e=(0,a._)(["\n font-size: 4rem;\n line-height: 1.15;\n letter-spacing: -0.02em;\n margin: 1.5rem 0 1rem;\n "," {\n font-size: 3rem;\n }\n"]);return _templateObject4=function(){return e},e}function _templateObject5(){let e=(0,a._)(["\n font-size: 2rem;\n font-weight: 600;\n opacity: 0.9;\n margin-bottom: 1.6rem;\n"]);return _templateObject5=function(){return e},e}function _templateObject6(){let e=(0,a._)(["\n font-size: 1.8rem;\n line-height: 1.7;\n opacity: 0.85;\n"]);return _templateObject6=function(){return e},e}function _templateObject7(){let e=(0,a._)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));\n gap: 0.2rem 3rem;\n border: 1px solid rgba(var(--text), 0.12);\n border-radius: 1.2rem;\n padding: 1.8rem 2.2rem;\n margin-top: 2.4rem;\n"]);return _templateObject7=function(){return e},e}function _templateObject8(){let e=(0,a._)(["\n padding: 0.8rem 0;\n dt {\n font-size: 1.3rem;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n opacity: 0.6;\n margin-bottom: 0.3rem;\n }\n dd {\n margin: 0;\n font-size: 1.6rem;\n font-weight: 600;\n }\n"]);return _templateObject8=function(){return e},e}function _templateObject9(){let e=(0,a._)(["\n margin: 0 0 6rem;\n scroll-margin-top: 9rem;\n"]);return _templateObject9=function(){return e},e}function _templateObject10(){let e=(0,a._)(["\n font-size: 2.6rem;\n letter-spacing: -0.01em;\n margin-bottom: 1.6rem;\n padding-bottom: 0.8rem;\n border-bottom: 2px solid rgb(var(--primary));\n display: inline-block;\n"]);return _templateObject10=function(){return e},e}function _templateObject11(){let e=(0,a._)(["\n font-size: 1.8rem;\n line-height: 1.75;\n opacity: 0.88;\n margin-bottom: 1.4rem;\n"]);return _templateObject11=function(){return e},e}function _templateObject12(){let e=(0,a._)(["\n list-style: none;\n padding: 0;\n margin: 0 0 1.6rem;\n li {\n position: relative;\n padding-left: 2.4rem;\n font-size: 1.7rem;\n line-height: 1.7;\n opacity: 0.88;\n margin-bottom: 1rem;\n &::before {\n content: '';\n position: absolute;\n left: 0.4rem;\n top: 1rem;\n width: 0.9rem;\n height: 0.9rem;\n background: rgb(var(--primary));\n }\n }\n"]);return _templateObject12=function(){return e},e}function _templateObject13(){let e=(0,a._)(["\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n border-left: 0.5rem solid\n ",";\n background: ",";\n padding: 1.8rem 2.2rem;\n border-radius: 0 1.2rem 1.2rem 0;\n margin: 2rem 0;\n font-size: 1.7rem;\n line-height: 1.7;\n strong {\n font-size: 1.8rem;\n }\n"]);return _templateObject13=function(){return e},e}function _templateObject14(){let e=(0,a._)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));\n gap: 1.4rem;\n margin: 2.4rem 0;\n"]);return _templateObject14=function(){return e},e}
1function _templateObject15(){let e=(0,a._)(["\n border: 1px solid rgba(var(--text), 0.14);\n border-radius: 1.2rem;\n padding: 1.8rem;\n background: rgb(var(--cardBackground));\n"]);return _templateObject15=function(){return e},e}function _templateObject16(){let e=(0,a._)(["\n font-size: 1.3rem;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n opacity: 0.6;\n margin-bottom: 0.6rem;\n"]);return _templateObject16=function(){return e},e}function _templateObject17(){let e=(0,a._)(["\n font-size: 1.9rem;\n font-weight: 700;\n"]);return _templateObject17=function(){return e},e}function _templateObject18(){let e=(0,a._)(["\n font-size: 1.4rem;\n margin-top: 0.4rem;\n color: #b3402e;\n"]);return _templateObject18=function(){return e},e}function _templateObject19(){let e=(0,a._)(["\n overflow-x: auto;\n margin: 2rem 0;\n border: 1px solid rgba(var(--text), 0.12);\n border-radius: 1.2rem;\n background: rgb(var(--cardBackground));\n table {\n width: 100%;\n border-collapse: collapse;\n font-size: 1.5rem;\n min-width: 52rem;\n }\n th,\n td {\n text-align: left;\n padding: 1.1rem 1.6rem;\n border-bottom: 1px solid rgba(var(--text), 0.08);\n }\n th {\n font-weight: 700;\n opacity: 0.75;\n }\n tbody tr:last-child td {\n border-bottom: none;\n }\n"]);return _templateObject19=function(){return e},e}function _templateObject20(){let e=(0,a._)(["\n font-size: 1.4rem;\n opacity: 0.65;\n padding: 1.2rem 1.6rem 0;\n"]);return _templateObject20=function(){return e},e}function _templateObject21(){let e=(0,a._)(["\n border: 1px solid rgba(var(--text), 0.14);\n border-radius: 1.2rem;\n padding: 2.2rem;\n background: rgb(var(--cardBackground));\n margin-top: 1.6rem;\n font-size: 1.6rem;\n line-height: 1.7;\n ul {\n margin: 1rem 0;\n padding-left: 2rem;\n }\n li {\n margin-bottom: 0.4rem;\n }\n"]);return _templateObject21=function(){return e},e}function _templateObject22(){let e=(0,a._)(["\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 2rem;\n margin-bottom: 1rem;\n flex-wrap: wrap;\n"]);return _templateObject22=function(){return e},e}function _templateObject23(){let e=(0,a._)(["\n background: rgb(var(--primary));\n color: rgb(var(--textSecondary));\n border: none;\n border-radius: 0.6rem;\n padding: 1.2rem 2rem;\n font-size: 1.5rem;\n font-weight: 700;\n cursor: pointer;\n &:hover {\n opacity: 0.9;\n }\n"]);return _templateObject23=function(){return e},e}function _templateObject24(){let e=(0,a._)(["\n margin-top: 2rem;\n border-top: 1px solid rgba(var(--text), 0.12);\n padding-top: 1.4rem;\n\n summary {\n cursor: pointer;\n font-weight: 700;\n font-size: 1.5rem;\n color: rgb(var(--primary));\n }\n\n &[open] summary {\n margin-bottom: 0.8rem;\n }\n"]);return _templateObject24=function(){return e},e}function _templateObject25(){let e=(0,a._)(["\n opacity: 0.7;\n font-size: 1.4rem;\n margin: 0.6rem 0 1rem;\n"]);return _templateObject25=function(){return e},e}function _templateObject26(){let e=(0,a._)(["\n margin-top: 2rem;\n pre {\n background: rgb(var(--secondBackground));\n border: 1px solid rgba(var(--text), 0.1);\n border-radius: 0.8rem;\n padding: 1.4rem;\n overflow-x: auto;\n font-size: 1.3rem;\n line-height: 1.5;\n }\n"]);return _templateObject26=function(){return e},e}function _templateObject27(){let e=(0,a._)(["\n font-weight: 700;\n font-size: 1.6rem;\n"]);return _templateObject27=function(){return e},e}function _templateObject28(){let e=(0,a._)(["\n opacity: 0.7;\n font-size: 1.4rem;\n margin: 0.2rem 0 0.8rem;\n"]);return _templateObject28=function(){return e},e}function _templateObject29(){let e=(0,a._)(["\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));\n gap: 1.2rem;\n margin-top: 1.6rem;\n"]);return _templateObject29=function(){return e},e}function _templateObject30(){let e=(0,a._)(["\n background: rgb(var(--cardBackground));\n border: 1px solid rgba(var(--text), 0.18);\n border-radius: 1rem;\n padding: 1.4rem 1.8rem;\n font-size: 1.5rem;\n text-align: left;
1\n cursor: pointer;\n color: rgb(var(--text));\n &:hover {\n border-color: rgb(var(--primary));\n }\n &[aria-pressed='true'] {\n border-color: rgb(var(--primary));\n background: rgba(var(--primary), 0.1);\n }\n"]);return _templateObject30=function(){return e},e}function _templateObject31(){let e=(0,a._)(["\n margin-top: 1.6rem;\n font-size: 1.5rem;\n opacity: 0.8;\n border-left: 0.4rem solid rgb(var(--primary));\n padding-left: 1.4rem;\n"]);return _templateObject31=function(){return e},e}function _templateObject32(){let e=(0,a._)(["\n list-style: none;\n padding: 0;\n margin: 0;\n"]);return _templateObject32=function(){return e},e}function _templateObject33(){let e=(0,a._)(["\n border: 1px solid rgba(var(--text), 0.12);\n border-radius: 1.2rem;\n padding: 1.6rem 2rem;\n margin-bottom: 1.2rem;\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n a {\n color: rgb(var(--primary));\n font-size: 1.8rem;\n font-weight: 600;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n span {\n opacity: 0.7;\n font-size: 1.5rem;\n }\n"]);return _templateObject33=function(){return e},e}let j="".concat(m,"/logo/chat2invest-logo-day.png"),_=[{key:"lookback",label:"Trend lookback (e.g. 100 or 300 days)"},{key:"rebalance",label:"Rebalance frequency (e.g. quarterly)"},{key:"fallback",label:"Fallback asset (e.g. T-bills instead of cash)"},{key:"universe",label:"ETF universe (e.g. VTI/BND or international)"},{key:"fees",label:"Fees / costs sensitivity"},{key:"other",label:"Something else"}],v={supported:"Supported",failed:"Failed",inconclusive:"Inconclusive",rejected:"Rejected",mixed:"Mixed"};function ResearchPage(e){let{study:t,evidence:n}=e,a=t.meta,[i,o]=(0,s.useState)(!1),[d,u]=(0,s.useState)(null),p=(0,s.useRef)(!1),h=(0,s.useMemo)(()=>({study_id:a.id,study_slug:a.slug,strategy_family:a.strategyFamily,market:a.market,language:"en",source:"research_page"}),[a]);(0,s.useEffect)(()=>{p.current||(p.current=!0,trackEvent("research_open",h).catch(()=>void 0))},[]);let b=(0,s.useCallback)(e=>{let t={rules:"rules_reached",evidence:"evidence_reached",failure:"failure_reached"}[e];t&&trackEvent(t,{...h,section:e}).catch(()=>void 0)},[h]);!function(e,t){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=(0,s.useRef)(new Set),a=(0,s.useRef)(t);a.current=t;let i=(0,s.useMemo)(()=>e.join("|"),[e]);(0,s.useEffect)(()=>{if(!n||!("IntersectionObserver"in window))return;let e=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting)continue;let e=t.target.id;r.current.has(e)||(r.current.add(e),a.current(e))}},{rootMargin:"0px 0px -15% 0px",threshold:.1}),t=i.split("|").map(e=>document.getElementById(e)).filter(e=>null!==e);return t.forEach(t=>e.observe(t)),()=>e.disconnect()},[n,i])}(["rules","evidence","failure"],b,!0);let handleCopyBrief=async()=>{let e=function(e,t){var n,r;let a=e.meta,i=t._provenance,c=i.run_identity,o=null!==(n=null==c?void 0:c.baseline_test_code)&&void 0!==n?n:i.baseline_config.code,l=null!==(r=null==c?void 0:c.variant_test_code)&&void 0!==r?r:i.variant_config.code,s=["CHAT2INVEST RESEARCH BRIEF","Study: ".concat(a.title),"Study id: ".concat(a.id),"URL: ".concat(m,"/research/").concat(a.slug),"Question: ".concat(a.question),"Hypothesis: ".concat(a.hypothesis),"Baseline: ".concat(a.baseline),"Changed variable: ".concat(a.changedVariable),"Methodology version: ".concat(e.researchBrief.methodologyVersion),"Engine: ".concat(e.researchBrief.engine),"Engine commit: ".concat(i.engine_repo,"@").concat(i.engine_commit_sha),"Data source: ".concat(e.researchBrief.dataSource),"Warm-up window: ".concat(i.warmup_window.start," â ").concat(i.warmup_window.end),"Evaluation window: ".concat(a.dataWindow),"Data cutoff: ".concat(a.dataCutoff),"Last reviewed: ".concat(a.lastReviewed),"Evidence checksum: ".concat(i.evidence_checksum),"Assumptions:",...e.researchBrief.assumptions.map(e=>" - ".concat(e)),"Exact run configs:","--- baseline".concat(o?" (".concat(o,")"):""," ---"),JSON.stringify(i.baseline_config,null,2),"--- variant".concat(l?" (".concat(l,")"):""," ---"),JSON.stringify(i.variant_config,null,2)];return s.join("\n")}(t,n);try{await navigator.clipboard.writeText(e)}catch(n){let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}o(!0),trackEvent("research_brief_copy",{...h,format:"text"}).catch(()=>void 0),window.setTimeout(()=>
1o(!1),3e3)},handleVariation=e=>{u(e),trackEvent("variation_intent",{...h,variation:e}).catch(()=>void 0)},handleRelatedOpen=(e,t)=>{e&&trackEvent("related_research_open",{...h,related_study_slug:e,related_title:t}).catch(()=>void 0)},f=(0,s.useMemo)(()=>{let e=Object.keys(n.baseline.annual_returns_pct).sort();return e},[n]),g=a.baselineLabel,x=a.variantLabel;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(c(),{children:[(0,r.jsx)("title",{children:a.seo.title}),(0,r.jsx)("meta",{name:"description",content:a.seo.description}),(0,r.jsx)("meta",{name:"robots",content:"index, follow"}),(0,r.jsx)("link",{rel:"canonical",href:"".concat(m,"/research/").concat(a.slug)}),(0,r.jsx)("meta",{property:"og:type",content:"article"}),(0,r.jsx)("meta",{property:"og:site_name",content:"Chat2Invest"}),(0,r.jsx)("meta",{property:"og:locale",content:"en_US"}),(0,r.jsx)("meta",{property:"og:title",content:a.seo.title}),(0,r.jsx)("meta",{property:"og:description",content:a.seo.description}),(0,r.jsx)("meta",{property:"og:url",content:"".concat(m,"/research/").concat(a.slug)}),(0,r.jsx)("meta",{property:"og:image",content:j}),(0,r.jsx)("meta",{property:"og:image:alt",content:a.seo.title}),(0,r.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,r.jsx)("meta",{name:"twitter:title",content:a.seo.title}),(0,r.jsx)("meta",{name:"twitter:description",content:a.seo.description}),(0,r.jsx)("meta",{name:"twitter:image",content:j}),(0,r.jsx)("meta",{name:"twitter:image:alt",content:a.seo.title}),(0,r.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"Article",headline:a.title,de
1scription:a.seo.description,datePublished:a.lastReviewed,dateModified:a.lastReviewed,about:a.question,url:"".concat(m,"/research/").concat(a.slug),image:j,author:{"@type":"Organization",name:"Chat2Invest Research"},publisher:{"@type":"Organization",name:"Chat2Invest Research"},isPartOf:{"@type":"WebSite",name:"Chat2Invest",url:m}})}})]}),(0,r.jsxs)(y,{children:[(0,r.jsx)(w,{children:(0,r.jsx)(l(),{href:"/research",children:"â All research"})}),(0,r.jsxs)(O,{children:[(0,r.jsx)(C,{status:a.status,children:v[a.status]}),(0,r.jsx)(k,{children:a.title}),(0,r.jsx)(S,{children:a.question}),(0,r.jsx)(P,{children:a.summary}),(0,r.jsxs)(I,{children:[(0,r.jsx)(Fact,{label:"Strategy family",value:a.strategyFamily}),(0,r.jsx)(Fact,{label:"Universe",value:a.symbols.join(", ")}),(0,r.jsx)(Fact,{label:"Data window",value:a.dataWindow}),(0,r.jsx)(Fact,{label:"Data cutoff",value:a.dataCutoff}),(0,r.jsx)(Fact,{label:"Methodology",value:a.methodologyVersion}),(0,r.jsx)(Fact,{label:"Last reviewed",value:a.lastReviewed})]})]}),t.sections.map(e=>{var a;return(0,r.jsxs)(E,{id:e.id,children:[(0,r.jsx)(N,{children:e.title}),e.blocks.map((e,a)=>(0,r.jsx)(BlockRenderer,{block:e,study:t,evidence:n,years:f},a)),"evidence"===e.id&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(EvidenceTables,{evidence:n,years:f,baselineLabel:g,variantLabel:x}),(0,r.jsx)(ChartCluster,{baselineNet:n.baseline.net_values,variantNet:n.variant.net_values,baselineDD:n.baseline.drawdowns,variantDD:n.variant.drawdowns,baselineAnnual:n.baseline.annual_returns_pct,variantAnnual:n.variant.annual_returns_pct,years:f,cashByYear:null!==(a=n.variant.cash_exposure_yearly_pct)&&void 0!==a?a:{},cashAvg:n.variant.avg_cash_pct,startDate:n.baseline.window.start,endDate:n.baseline.window.end,baselineLabel:g,variantLabel:x})]})]},e.id)}),(0,r.jsxs)(E,{id:"brief",children:[(0,r.jsx)(N,{children:"Reproducibility & assumptions"}),(0,r.jsx)("p",{children:"The rules, evidence and failure analysis above are the reader-facing research. This section preserves the audit trail needed to reproduce the experiment without making engine implementation details part of the main argument."}),(0,r.jsxs)(W,{children:[(0,r.jsxs)(q,{children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("strong",{children:"Reproducibility record"}),(0,r.jsx)("br",{}),(0,r.jsx)("span",{children:t.researchBrief.methodologyVersion})]}),(0,r.jsx)(G,{type:"button",onClick:handleCopyBrief,"aria-label":"Copy the reproducibility brief",children:i?"Copied â":"Copy reproducibility brief"})]}),(0,r.jsx)("p",{children:t.researchBrief.dataSource}),(0,r.jsx)("ul",{children:t.researchBrief.assumptions.map(e=>(0,r.jsx)("li",{children:e},e))}),(0,r.jsxs)(Y,{children:[(0,r.jsx)("summary",{children:"Advanced: exact engine configurations"}),(0,r.jsx)(J,{children:"These JSON configs are preserved for auditability and Agent re-runs. Most readers do not need them to understand the study."}),(0,r.jsxs)(U,{children:[(0,r.jsxs)(X,{children:[a.baselineLabel," (",n._provenance.baseline_config.name,")"]}),(0,r.jsx)(H,{children:"Exact baseline configuration recorded in study provenance."}),(0,r.jsx)("pre",{children:JSON.stringify(n._provenance.baseline_config,null,2)})]}),(0,r.jsxs)(U,{children:[(0,r.jsxs)(X,{children:[a.variantLabel," (",n._provenance.variant_config.name,")"]}),(0,r.jsx)(H,{children:"Exact variant configuration recorded in study provenance."}),(0,r.jsx)("pre",{children:JSON.stringify(n._provenance.variant_config,null,2)})]})]})]})]}),(0,r.jsxs)(E,{id:"variation",children:[(0,r.jsx)(N,{children:"I want to test a variation"}),(0,r.jsx)("p",{children:"Custom experiments are not open yet. If you understand this study and want to change one thing, choosing below helps us decide what to build next."}),(0,r.jsx)($,{children:_.map(e=>(0,r.jsx)(Q,{type:"button",onClick:()=>handleVariation(e.key),"aria-pressed":d===e.key,children:e.label},e.key))}),d&&(0,r.jsx)(K,{role:"status",children:"Noted. Custom experiments are not open yet â we track what researchers want to change before building any execution."})]}),a.relatedStudies.length>0&&(0,r.jsxs)(E,{id:"related",children:[(0,r.jsx)(N,{children:"Related research"}),(0,r.jsx)(ee,{children:a.relatedStudies.map(e=>(0,r.jsxs)(et,{children:[e.slug?(0,r.jsx)(l(),{href:"/research/".concat(e.slug),onClick:()=>handleRelatedOpen(e.slug,e.title),children:e.title}):(0,r.jsx)("strong",{children:e.title}),(0,r.jsx)("span",{children:e.note})]},e.title))})]}),(0,r.jsx)(w,{children:(0,r.jsx)(l(),{href:"/research",children:"â Back to all research"})})]})]})}function BlockRenderer(e){let{block:t,study:n,evidence:a,years:i}=e;switch(t.type){case"paragraph":return(0,r.jsx)(M,{children:t.text});case"bullets":return(0,r.jsx)(R,{children:t.items.map(e=>(0,r.jsx)("li",{children:e},e))});case"callout":return(0,r.jsxs)(Z,{tone:t.tone,children:[t.title&&(0,r.jsx)("strong",{children:t.title}),(0,r.jsx)("span",{children:t.text})]});case"metrics":return(0,r.jsx)(A,{children:t.items.map(e=>(0,r.jsxs)(F,{children:[(0,r.jsx)(B,{children:e.label}),(0,r.jsx)(L,{children:e.value}),e.delta&&(0,r.jsx)(D,{children:e.delta})]},e.label))});case"table":return(0,r.jsxs)(T,{children:[t.caption&&(0,r.jsx)(V,{children:t.caption}),(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsx)("tr",{children:t.headers.map(e=>(0,r.jsx)("th",{children:e},e))})}),(0,r.jsx)("tbody",{children:t.rows.map((e,t)=>(0,r.jsx)("tr",{children:e.map((e,t)=>(0,r.jsx)("td",{children:e},t))},t))})]})]});default:return null}}function EvidenceTables(e){let{evidence:t,years:n,baselineLabel:a,variantLabel:i}=e,c=t.baseline,o=t.variant,pct=e=>void 0===e?"â":"".concat(e>0?"+":"").concat(e.toFixed(1),"%"),num=e=>void 0===e?"â":e.toFixed(2),usd=e=>
1"$".concat(Math.round(e).toLocaleString("en-US")),l=[{label:"CAGR",baseline:pct(c.metrics.cagr_pct),variant:pct(o.metrics.cagr_pct)},{label:"Max drawdown",baseline:pct(c.metrics.max_drawdown_pct),variant:pct(o.metrics.max_drawdown_pct)},{label:"Volatility",baseline:pct(c.metrics.volatility_pct),variant:pct(o.metrics.volatility_pct)},{label:"Sharpe",baseline:num(c.metrics.sharpe),variant:num(o.metrics.sharpe)},{label:"Calmar",baseline:num(c.metrics.calmar),variant:num(o.metrics.calmar)},{label:"Avg cash",baseline:pct(c.avg_cash_pct),variant:pct(o.avg_cash_pct)}],s=[["CAGR",pct(c.metrics.cagr_pct),pct(o.metrics.cagr_pct)],["Maximum drawdown",pct(c.metrics.max_drawdown_pct),pct(o.metrics.max_drawdown_pct)],["Annualized volatility",pct(c.metrics.volatility_pct),pct(o.metrics.volatility_pct)],["Sharpe ratio",num(c.metrics.sharpe),num(o.metrics.sharpe)],["Calmar",num(c.metrics.calmar),num(o.metrics.calmar)],["Final value of $100,000",usd(c.metrics.final_value_usd_100k),usd(o.metrics.final_value_usd_100k)],["Total trades",String(c.trades.total),String(o.trades.total)],["Trades per year",String(c.trades_per_year),String(o.trades_per_year)],["Dollar turnover (% of avg. AUM / yr)",pct(c.dollar_turnover_pct_per_year),pct(o.dollar_turnover_pct_per_year)],["Average cash (% of portfolio)",pct(c.avg_cash_pct),pct(o.avg_cash_pct)]],d=n.map(e=>{var t,n;let r=null!==(t=c.annual_returns_pct[e])&&void 0!==t?t:0,a=null!==(n=o.annual_returns_pct[e])&&void 0!==n?n:0;return["".concat(e).concat("2026"===e?" (YTD)":""),pct(r),pct(a),(a-r>=0?"+":"")+(a-r).toFixed(1)]});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(A,{children:l.map(e=>(0,r.jsxs)(F,{children:[(0,r.jsx)(B,{children:e.label}),(0,r.jsxs)(L,{children:[e.baseline," â ",e.variant]})]},e.label))}),(0,r.jsxs)(T,{children:[(0,r.jsxs)(V,{children:["Full metric comparison, evaluation window ",c.window.start," â ",c.window.end]}),(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Metric"}),(0,r.jsx)("th",{children:a}),(0,r.jsx)("th",{children:i})]})}),(0,r.jsx)("tbody",{children:s.map(e=>(0,r.jsx)("tr",{children:e.map((e,t)=>(0,r.jsx)("td",{children:e},t))},e[0]))})]})]}),(0,r.jsxs)(T,{children:[(0,r.jsxs)(V,{children:["Annual returns (%) â ",a," vs ",i]}),(0,r.jsxs)("table",{children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Year"}),(0,r.jsx)("th",{children:a}),(0,r.jsx)("th",{children:i}),(0,r.jsx)("th",{children:"Difference"})]})}),(0,r.jsx)("tbody",{children:d.map(e=>(0,r.jsx)("tr",{children:e.map((e,t)=>(0,r.jsx)("td",{children:e},t))},e[0]))})]})]})]})}function ChartCluster(e){let{baselineNet:t,variantNet:n,baselineDD:a,variantDD:i,baselineAnnual:c,variantAnnual:o,years:l,cashByYear:s,cashAvg:d,startDate:m,endDate:u,baselineLabel:p,variantLabel:h}=e;return(0,r.jsxs)("div",{children:[(0,r.jsx)(EquityCurveChart,{baseline:t,variant:n,startDate:m,endDate:u,baselineLabel:p,variantLabel:h}),(0,r.jsx)(DrawdownChart,{baseline:a,variant:i,startDate:m,endDate:u,baselineLabel:p,variantLabel:h}),(0,r.jsx)(AnnualReturnsChart,{years:l,baseline:l.map(e=>{var t;return null!==(t=c[e])&&void 0!==t?t:0}),variant:l.map(e=>{var t;return null!==(t=o[e])&&void 0!==t?t:0}),baselineLabel:p,variantLabel:h}),(0,r.jsx)(CashExposureBlock,{avgCashPct:d,yearlyCash:s,years:l,variantLabel:h})]})}let y=d.ZP.article.withConfig({componentId:"sc-4ca213d0-0"})(ResearchPage_templateObject(),(0,u.B)("<=tablet")),w=d.ZP.div.withConfig({componentId:"sc-4ca213d0-1"})(ResearchPage_templateObject1()),O=d.ZP.header.withConfig({componentId:"sc-4ca213d0-2"})(_templateObject2()),C=d.ZP.span.withConfig({componentId:"sc-4ca213d0-3"})(_templateObject3(),e=>"supported"===e.status?"#1a7f4e":"failed"===e.status?"#b3402e":"inconclusive"===e.status?"#a56a13":"mixed"===e.status?"#a56a13":"#5b6472"),k=d.ZP.h1.withConfig({componentId:"sc-4ca213d0-4"})(_templateObject4(),(0,u.B)("<=tablet")),S=d.ZP.p.withConfig({componentId:"sc-4ca213d0-5"})(_templateObject5()),P=d.ZP.p.withConfig({componentId:"sc-4ca213d0-6"})(_templateObject6()),I=d.ZP.dl.withConfig({componentId:"sc-4ca213d0-7"}
1)(_templateObject7());function Fact(e){let{label:t,value:n}=e;return(0,r.jsxs)(z,{children:[(0,r.jsx)("dt",{children:t}),(0,r.jsx)("dd",{children:n})]})}let z=d.ZP.div.withConfig({componentId:"sc-4ca213d0-8"})(_templateObject8()),E=d.ZP.section.withConfig({componentId:"sc-4ca213d0-9"})(_templateObject9()),N=d.ZP.h2.withConfig({componentId:"sc-4ca213d0-10"})(_templateObject10()),M=d.ZP.p.withConfig({componentId:"sc-4ca213d0-11"})(_templateObject11()),R=d.ZP.ul.withConfig({componentId:"sc-4ca213d0-12"})(_templateObject12()),Z=d.ZP.div.withConfig({componentId:"sc-4ca213d0-13"})(_templateObject13(),e=>"warning"===e.tone?"#b3402e":"positive"===e.tone?"#1a7f4e":"rgb(var(--primary))",e=>"warning"===e.tone?"rgba(179,64,46,0.08)":"rgba(var(--tertiary), 0.6)"),A=d.ZP.div.withConfig({componentId:"sc-4ca213d0-14"})(_templateObject14()),F=d.ZP.div.withConfig({componentId:"sc-4ca213d0-15"})(_templateObject15()),B=d.ZP.div.withConfig({componentId:"sc-4ca213d0-16"})(_templateObject16()),L=d.ZP.div.withConfig({componentId:"sc-4ca213d0-17"})(_templateObject17()),D=d.ZP.div.withConfig({componentId:"sc-4ca213d0-18"})(_templateObject18()),T=d.ZP.div.withConfig({componentId:"sc-4ca213d0-19"})(_templateObject19()),V=d.ZP.figcaption.withConfig({componentId:"sc-4ca213d0-20"})(_templateObject20()),W=d.ZP.div.withConfig({componentId:"sc-4ca213d0-21"})(_templateObject21()),q=d.ZP.div.withConfig({componentId:"sc-4ca213d0-22"})(_templateObject22()),G=d.ZP.button.withConfig({componentId:"sc-4ca213d0-23"})(_templateObject23()),Y=d.ZP.details.withConfig({componentId:"sc-4ca213d0-24"})(_templateObject24()),J=d.ZP.p.withConfig({componentId:"sc-4ca213d0-25"})(_templateObject25()),U=d.ZP.div.withConfig({componentId:"sc-4ca213d0-26"})(_templateObject26()),X=d.ZP.div.withConfig({componentId:"sc-4ca213d0-27"})(_templateObject27()),H=d.ZP.div.withConfig({componentId:"sc-4ca213d0-28"})(_templateObject28()),$=d.ZP.div.withConfig({componentId:"sc-4ca213d0-29"})(_templateObject29()),Q=d.ZP.button.withConfig({componentId:"sc-4ca213d0-30"})(_templateObject30()),K=d.ZP.p.withConfig({componentId:"sc-4ca213d0-31"})(_templateObject31()),ee=d.ZP.ul.withConfig({componentId:"sc-4ca213d0-32"})(_templateObject32()),et=d.ZP.li.withConfig({componentId:"sc-4ca213d0-33"})(_templateObject33());var en=!0;function ResearchStudyPage(e){return e.study?(0,r.jsx)(ResearchPage,{study:e.study,evidence:e.evidence}):null}}},function(e){e.O(0,[774,888,179],function(){return e(e.s=4380)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.