Stock-market bubble trouble? Check out the 3-year view on Nasdaq, S&P 500 returns. – MarketWatch
Object.keys(e[t]||{}),executeQueue(e){try{t[e]&&t[e].forEach((e=>this.execute(…e))),delete t[e]}catch(e){console.error(e)}},execute(){var[t,i,r,n]=arguments,s=e[t][i],u=e=>e,c=[];return”function”!=typeof s?s:(r&&(“function”==typeof r?(u=r,n&&Array.isArray(n)&&(c=n)):Array.isArray(r)&&(c=r)),u(s.apply(null,c)))},__reset(){var i=e=>Object.keys(e).forEach((t=>delete e[t]));i(e),i(t)},hasSubscription(e){return this.getSubscribedElements().indexOf(e)>-1},hasSubscribedFunction(e,t){return this.getSubscribedFunctions(e).indexOf(t)>-1},uniqueFucntionsUnderSubscription(t,i){const{__ace:r=(()=>({}))}=window;let n={};return Object.keys(i).forEach((s=>{e[t][s]?r(“log”,”log”,[{type:”warning”,initiator:”page”,message:”You are trying to subscribe the function “+s+” under the “+t+” namespace again. Use another name.”}]):n[s]=i[s]})),n},addSubscription(t,i){if(this.hasSubscription(t)){const r=this.uniqueFucntionsUnderSubscription(t,i);e[t]={…e[t],…r}}else e[t]=i;return e},subscribe(t,i,r){if(r)return e[t]=i,e;if(!i||”object”!=typeof i)throw new Error(“Missing third parameter. You must provide an object.”);return this.addSubscription(t,i),this.executeQueue(t),e},globalMessaging(){var[e,t,…i]=arguments;if(!e&&!t)return this.getSubscribedElements();if(e&&”string”==typeof e&&!t)return this.getSubscribedFunctions(e);if(“string”!=typeof e||”string”!=typeof t)throw new Error(“First and second argument must be String types”);if(this.hasSubscribedFunction(e,t))return this.execute(e,t,…i);this.addToExecutionQueue(e,t,…i)}},window.__ace=i.globalMessaging.bind(i),window.__ace.subscribe=i.subscribe.bind(i)}();var googletag=googletag||{};googletag.cmd=googletag.cmd||[];function _typeof(e){return(_typeof=”function”==typeof Symbol&&”symbol”==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&”function”==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?”symbol”:typeof e})(e)}!function(){for(var e,t,n=[],r=window,o=r;o;){try{if(o.frames.__tcfapiLocator){e=o;break}}catch(e){}if(o===r.top)break;o=r.parent}e||(function e(){var t=r.document,n=!!r.frames.__tcfapiLocator;if(!n)if(t.body){var o=t.createElement(“iframe”);o.style.cssText=”display:none”,o.name=”__tcfapiLocator”,t.body.appendChild(o)}else setTimeout(e,5);return!n}(),r.__tcfapi=function(){for(var e=arguments.length,r=new Array(e),o=0;o3&&2===parseInt(r[1],10)&&”boolean”==typeof r[3]&&(t=r[3],”function”==typeof r[2]&&r[2](“set”,!0)):”ping”===r[0]?”function”==typeof r[2]&&r[2]({gdprApplies:t,cmpLoaded:!1,cmpStatus:”stub”}):n.push(r)},r.addEventListener(“message”,(function(e){var t=”string”==typeof e.data,n={};if(t)try{n=JSON.parse(e.data)}catch(e){}else n=e.data;var r=”object”===_typeof(n)?n.__tcfapiCall:null;r&&window.__tcfapi(r.command,r.version,(function(n,o){var a={__tcfapiReturn:{returnValue:n,success:o,callId:r.callId}};e&&e.source&&e.source.postMessage&&e.source.postMessage(t?JSON.stringify(a):a,”*”)}),r.parameter)}),!1))}(),function(){var e=!1,t=window,n=document;function r(e){var n=”string”==typeof e.data;try{var r=n?JSON.parse(e.data):e.data;if(r.__cmpCall){var o=r.__cmpCall;t.__uspapi(o.command,o.parameter,(function(t,r){var a={__cmpReturn:{returnValue:t,success:r,callId:o.callId}};e.source.postMessage(n?JSON.stringify(a):a,”*”)}))}}catch(r){}}!function e(){if(!t.frames.__uspapiLocator)if(n.body){var r=n.body,o=n.createElement(“iframe”);o.style.cssText=”display:none”,o.name=”__uspapiLocator”,r.appendChild(o)}else setTimeout(e,5)}(),”function”!=typeof __uspapi&&(t.__uspapi=function(){var t=arguments;if(__uspapi.a=__uspapi.a||[],!t.length)return __uspapi.a;”ping”===t[0]?t[2]({gdprAppliesGlobally:e,cmpLoaded:!1},!0):__uspapi.a.push([].slice.apply(t))},__uspapi.msgHandler=r,t.addEventListener(“message”,r,!1))}(),function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){“undefined”!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:”Module”}),Object.defineProperty(e,”__esModule”,{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&”object”==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,”default”,{enumerable:!0,value:e}),2&t&&”string”!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,”a”,t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=”/”,n(n.s=0)}([function(e,t,n){“use strict”;n.r(t);var r=function(){var e=window.djcmp,t=void 0===e?{}:e;if(!t._params){var n=document.querySelector(“#djcmp”),r=n&&n.getAttribute(“data-params”);t._params=r&&JSON.parse(r)}return t._params||{}},o=function(){return!(-1!==(document&&document.cookie||””).indexOf(“gdprApplies=false”))},a=function(){return window&&window.djcmp&&window.djcmp.tcData&&window.djcmp.tcData.gdprApplies},i=function(){var e=a();return”boolean”==typeof e?e:null},p=function(e,t){if(r().gdprApplies)return!0;switch(e){case”cookieOnly”:return o();case”serviceOnly”:return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},t=r().geoServiceUrl;if(t){var n=””.concat(t,”/geolocation-services/gdpr”);fetch(n).then((function(e){return e.json()})).then((function(t){var n=t.applies;e(n)})).catch((function(){e(null)}))}else”function”==typeof e&&e(null)}(t);case”tcfapiOnly”:return”function”==typeof t?function(e){var t=a();return”boolean”==typeof t?e(t):window.__tcfapi(“getTCData”,2,(function(t){var n=”boolean”!=typeof t.gdprApplies||t.gdprApplies;e(n)}))}(t):i();case”cookieFirst”:return-1!==(document&&document.cookie||””).indexOf(“gdprApplies=”)?o():i();default:return function(){var e=a();return”boolean”==typeof e?e:o()}()}},c=function(e){return!!r().ccpaApplies};!function(){var e=[];function t(){e.push(arguments)}window.djcmp||(t.gdprApplies=p,t.ccpaApplies=c,t.queue=e,window.djcmp=t)}()}]); ]]]]]]]]>]]]]]]>]]]]>]]> {}),performance:d}=window,o=e=>{const d=(t(“page”)||[]).indexOf(“setPerfMark”)>-1?”page”:”ace”;t(d,”setPerfMark”,[e,{isNewRelicEnabled:!0,justNewRelic:!1}])};e.cmd.push((()=>{const s={gptSlotRequested:!1,gptSlotRenderEnded:!1,gptSlotOnload:!1};window.adslots=window.adslots||{},window.adslots.spaAdtechPerfObj=s,t(“dataLayer”,”setData”,[{spaAdtechPerfObj:s}]),e.pubads().addEventListener(“slotRequested”,(()=>{const{spaAdtechPerfObj:e={}}=window.adslots,{gptSlotRequested:t}=e;t||(d.clearMarks(“gpt-slotRequested”),o(“gpt-slotRequested”),window.adslots.spaAdtechPerfObj.gptSlotRequested=!0)})),e.pubads().addEventListener(“slotRenderEnded”,(()=>{const{spaAdtechPerfObj:e={}}=window.adslots,{gptSlotRenderEnded:t}=e;t||(d.clearMarks(“gpt-slotRenderEnded”),o(“gpt-slotRenderEnded”),window.adslots.spaAdtechPerfObj.gptSlotRenderEnded=!0)})),e.pubads().addEventListener(“slotOnload”,(()=>{const{spaAdtechPerfObj:e={}}=window.adslots,{gptSlotOnload:t}=e;t||(d.clearMarks(“gpt-slotOnload”),o(“gpt-slotOnload”),window.adslots.spaAdtechPerfObj.gptSlotOnload=!0)}))}))})(); ]]]]]]]]>]]]]]]>]]]]>]]> {const{moatEnabled:t,adId:o,slot:d,requestAd:m}=e,s=a[o]&&a[o].slot||d;if(n.getEntriesByName(“moat-ace-firstAdItem”).length||i(“ace”,”setPerfMark”,[“moat-ace-firstAdItem”,{isNewRelicEnabled:!0}]),t&&”function”==typeof r&&r(s),!s)throw new ReferenceError(`slot ${o} is not defined`);m(s,e)})),window.moatQueue=null};((t=e)=>{if(“function”!=typeof t)throw new TypeError(“moatYieldReady must be a function”);window.moatYieldReady=t})()}(); ]]]]]]]]>]]]]]]>]]]]>]]> {function a(a,e){window.apstag._Q.push([a,e])}window.apstag||(window.apstag={init(){a(“i”,arguments)},fetchBids(){a(“f”,arguments)},setDisplayBids(){},targetingKeys:()=>[],_Q:[]})})(); ]]]]]]]]>]]]]]]>]]]]>]]> {n.d(t,{P_:()=>f,Mt:()=>p,C5:()=>s,DL:()=>m,OP:()=>_,lF:()=>E,Yu:()=>y,Dg:()=>g,CX:()=>c,GE:()=>b,sU:()=>j});var r=n(8632),i=n(9567);const o={beacon:r.ce.beacon,errorBeacon:r.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error(“All info objects require an agent identifier!”);if(!a[e])throw new Error(“Info for “.concat(e,” was never set”));return a[e]}function c(e,t){if(!e)throw new Error(“All info objects require an agent identifier!”);a[e]=(0,i.D)(t,o),(0,r.Qy)(e,a[e],”info”)}var d=n(7056);const u=()=>{const e={blockSelector:”[data-nr-block]”,maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:”*”,maskAllInputs:!0,get blockClass(){return”nr-block”},get ignoreClass(){return”nr-ignore”},get maskTextClass(){return”nr-mask”},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=”,”.concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={…t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},l={};function f(e){if(!e)throw new Error(“All configuration objects require an agent identifier!”);if(!l[e])throw new Error(“Configuration for “.concat(e,” was never set”));return l[e]}function g(e,t){if(!e)throw new Error(“All configuration objects require an agent identifier!”);l[e]=(0,i.D)(t,u()),(0,r.Qy)(e,l[e],”config”)}function p(e,t){if(!e)throw new Error(“All configuration objects require an agent identifier!”);var n=f(e);if(n){for(var r=t.split(“.”),i=0;i{n.d(t,{D:()=>i});var r=n(50);function i(e,t){try{if(!e||”object”!=typeof e)return(0,r.Z)(“Setting a Configurable requires an object as input”);if(!t||”object”!=typeof t)return(0,r.Z)(“Setting a Configurable requires a model to set its initial properties”);const n=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(n).length?e:n;for(let a in o)if(void 0!==e[a])try{“object”==typeof e[a]&&”object”==typeof t[a]?n[a]=i(e[a],t[a]):n[a]=e[a]}catch(e){(0,r.Z)(“An error occurred while setting a property of a Configurable”,e)}return n}catch(e){(0,r.Z)(“An error occured while setting a Configurable”,e)}}},6818:(e,t,n)=>{n.d(t,{Re:()=>i,gF:()=>o,q4:()=>r});const r=”1.236.0″,i=”PROD”,o=”CDN”},385:(e,t,n)=>{n.d(t,{FN:()=>a,IF:()=>d,Nk:()=>l,Tt:()=>s,_A:()=>o,il:()=>r,pL:()=>c,v6:()=>i,w1:()=>u});const r=”undefined”!=typeof window&&!!window.document,i=”undefined”!=typeof WorkerGlobalScope&&(“undefined”!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||”undefined”!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=r?window:”undefined”!=typeof WorkerGlobalScope&&(“undefined”!=typeof self&&self instanceof WorkerGlobalScope&&self||”undefined”!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=””+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&”undefined”==typeof SharedWorker,d=(()=>{const e=navigator.userAgent.match(/Firefox[/s](d+.d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),u=Boolean(r&&window.document.documentMode),l=!!navigator.sendBeacon},1117:(e,t,n)=>{n.d(t,{w:()=>o});var r=n(50);const i={agentIdentifier:””,ee:void 0};class o{constructor(e){try{if(“object”!=typeof e)return(0,r.Z)(“shared context requires an object as input”);this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,n]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=n)}))}catch(e){(0,r.Z)(“An error occured while setting SharedContext”,e)}}}},8e3:(e,t,n)=>{n.d(t,{L:()=>u,R:()=>c});var r=n(2177),i=n(1284),o=n(4322),a=n(3325);const s={};function c(e,t){const n={staged:!1,priority:a.p[t]||0};d(e),s[e].get(t)||s[e].set(t,n)}function d(e){e&&(s[e]||(s[e]=new Map))}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:””,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:”feature”;if(d(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const n=[…s[e]];function a(t){const n=e?r.ee.get(e):r.ee,a=o.X.handlers;if(n.backlog&&a){var s=n.backlog[t],c=a[t];if(c){for(var d=0;s&&d{let[t,n]=e;return n.staged}))&&(n.sort(((e,t)=>e[1].priority-t[1].priority)),n.forEach((e=>{let[t]=e;a(t)})))}function l(e,t){var n=e[1];(0,i.D)(t[n],(function(t,n){var r=e[0];if(n[0]===r){var i=n[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,n)=>{n.d(t,{ee:()=>d});var r=n(8632),i=n(2210),o=n(1284),a=n(5763),s=”nr@context”;let c=(0,r.fP)();var d;function u(){}function l(){return new u}function f(){d.aborted=!0,d.backlog={}}c.ee?d=c.ee:(d=function e(t,n){var r={},c={},g={},p=!1;try{p=16===n.length&&(0,a.OP)(n).isolatedBacklog}catch(e){}var h={on:b,addEventListener:b,removeEventListener:y,emit:m,get:A,listeners:w,context:v,buffer:x,abort:f,aborted:!1,isBuffering:D,debugId:n,backlog:p?{}:t&&”object”==typeof t.backlog?t.backlog:{}};return h;function v(e){return e&&e instanceof u?e:e?(0,i.X)(e,s,l):l()}function m(e,n,r,i,o){if(!1!==o&&(o=!0),!d.aborted||i){t&&o&&t.emit(e,n,r);for(var a=v(r),s=w(e),u=s.length,l=0;lr,p:()=>i});var r=n(2177).ee.get(“handle”);function i(e,t,n,i,o){o?(o.buffer([e],i),o.emit(e,t,n)):(r.buffer([e],i),r.emit(e,t,n))}},4322:(e,t,n)=>{n.d(t,{X:()=>o});var r=n(5546);o.on=a;var i=o.handlers={};function o(e,t,n,o){a(o||r.E,i,e,t,n)}function a(e,t,n,i,o){o||(o=”feature”),e||(e=r.E);var a=t[o]=t[o]||{};(a[n]=a[n]||[]).push([e,i])}},3239:(e,t,n)=>{n.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var r=n(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};r._A.addEventListener(“test”,null,e),r._A.removeEventListener(“test”,null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(n,r))}function c(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(n,r))}},4402:(e,t,n)=>{n.d(t,{Rl:()=>a,ky:()=>s});var r=n(385);const i=”xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx”;function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=r._A?.crypto||r._A?.msCrypto;let t,n=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split(“”).map((e=>”x”===e?o(t,++n).toString(16):”y”===e?(3&o()|8).toString(16):e)).join(“”)}function s(e){const t=r._A?.crypto||r._A?.msCrypto;let n,i=0;t&&t.getRandomValues&&(n=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s{n.d(t,{Bq:()=>r,Hb:()=>o,oD:()=>i});const r=”NRBA”,i=144e5,o=18e5},7894:(e,t,n)=>{function r(){return Math.round(performance.now())}n.d(t,{z:()=>r})},50:(e,t,n)=>{function r(e,t){“function”==typeof console.warn&&(console.warn(“New Relic: “.concat(e)),t&&console.warn(t))}n.d(t,{Z:()=>r})},2587:(e,t,n)=>{n.d(t,{N:()=>c,T:()=>d});var r=n(2177),i=n(5546),o=n(8e3),a=n(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const n=r.ee.get(t);e&&”object”==typeof e&&(Object.entries(e).forEach((e=>{let[t,r]=e;void 0===d[t]&&(s[t]?s[t].forEach((e=>{r?(0,i.p)(“feat-“+t,[],void 0,e,n):(0,i.p)(“block-“+t,[],void 0,e,n),(0,i.p)(“rumresp-“+t,[Boolean(r)],void 0,e,n)})):r&&(0,i.p)(“feat-“+t,[],void 0,void 0,n),d[t]=Boolean(r))})),Object.keys(s).forEach((e=>{void 0===d[e]&&(s[e]?.forEach((t=>(0,i.p)(“rumresp-“+e,[!1],void 0,t,n))),d[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const d={}},2210:(e,t,n)=>{n.d(t,{X:()=>i});var r=Object.prototype.hasOwnProperty;function i(e,t,n){if(r.call(e,t))return e[t];var i=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,n)=>{n.d(t,{D:()=>r});const r=(e,t)=>Object.entries(e||{}).map((e=>{let[n,r]=e;return t(n,r)}))},4351:(e,t,n)=>{n.d(t,{P:()=>o});var r=n(2177);const i=()=>{const e=new WeakSet;return(t,n)=>{if(“object”==typeof n&&null!==n){if(e.has(n))return;e.add(n)}return n}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{r.ee.emit(“internal-error”,[e])}catch(e){}}}},3960:(e,t,n)=>{n.d(t,{K:()=>a,b:()=>o});var r=n(3239);function i(){return”undefined”==typeof document||”complete”===document.readyState}function o(e,t){if(i())return e();(0,r.bP)(“load”,e,t)}function a(e){if(i())return e();(0,r.iz)(“DOMContentLoaded”,e)}},8632:(e,t,n)=>{n.d(t,{EZ:()=>d,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>u,mF:()=>s});var r=n(7894),i=n(385);const o={beacon:”bam.nr-data.net”,errorBeacon:”bam.nr-data.net”};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,n){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,r.z)(),date:new Date}),i.initializedAgents={…o,[e]:{…s,[n]:t}},i}function d(e,t){a()[e]=t}function u(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,…t}}(),function(){let e=a();const t=e.init||{};e.init={…t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={…t}}(),a()}},7956:(e,t,n)=>{n.d(t,{N:()=>i});var r=n(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,r.iz)(“visibilitychange”,(function(){if(t)return void(“hidden”==document.visibilityState&&e());e(document.visibilityState)}),n,i)}},3081:(e,t,n)=>{n.d(t,{gF:()=>o,mY:()=>i,t9:()=>r,vz:()=>s,xS:()=>a});const r=n(3325).D.metrics,i=”sm”,o=”cm”,a=”storeSupportabilityMetrics”,s=”storeEventMetrics”},7633:(e,t,n)=>{n.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>r});const r=n(3325).D.pageViewEvent,i=”firstbyte”,o=”domcontent”,a=”windowload”},9251:(e,t,n)=>{n.d(t,{t:()=>r});const r=n(3325).D.pageViewTiming},5938:(e,t,n)=>{n.d(t,{W:()=>o});var r=n(5763),i=n(2177);class o{constructor(e,t,n){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,r.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=n,this.blocked=!1}}},9144:(e,t,n)=>{n.d(t,{j:()=>v});var r=n(3325),i=n(5763),o=n(5546),a=n(2177),s=n(7894),c=n(8e3),d=n(3960),u=n(385),l=n(50),f=n(3081),g=n(8632);function p(){const e=(0,g.gG)();[“setErrorHandler”,”finished”,”addToTrace”,”inlineHit”,”addRelease”,”addPageAction”,”setCurrentRouteName”,”setPageViewName”,”setCustomAttribute”,”interaction”,”noticeError”,”setUserId”].forEach((t=>{e[t]=function(){for(var n=arguments.length,r=new Array(n),i=0;i1?n-1:0),i=1;i{e.exposed&&e.api[t]&&o.push(e.api[t](…r))})),o.length>1?o:o[0]}(t,…r)}}))}var h=n(2587);function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},v=arguments.length>2?arguments[2]:void 0,m=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:A={loaderType:v},exposed:x=!0}=t;const D=(0,g.gG)();y||(b=D.init,y=D.info,w=D.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,A),y.jsAttributes??={},u.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),p();const _=function(e,t){t||(0,c.R)(e,”api”);const g={};var p=a.ee.get(e),h=p.get(“tracer”),v=”api-“,m=v+”ixn-“;function b(t,n,r,o){const a=(0,i.C5)(e);return null===n?delete a.jsAttributes[t]:(0,i.CX)(e,{…a,jsAttributes:{…a.jsAttributes,[t]:n}}),A(v,r,!0,o||null===n?”session”:void 0)(t,n)}function y(){}[“setErrorHandler”,”finished”,”addToTrace”,”inlineHit”,”addRelease”].forEach((e=>g[e]=A(v,e,!0,”api”))),g.addPageAction=A(v,”addPageAction”,!0,r.D.pageAction),g.setCurrentRouteName=A(v,”routeName”,!0,r.D.spa),g.setPageViewName=function(t,n){if(“string”==typeof t)return”/”!==t.charAt(0)&&(t=”/”+t),(0,i.OP)(e).customTransaction=(n||”http://custom.transaction”)+t,A(v,”setPageViewName”,!0)()},g.setCustomAttribute=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(“string”==typeof e){if([“string”,”number”].includes(typeof t)||null===t)return b(e,t,”setCustomAttribute”,n);(0,l.Z)(“Failed to execute setCustomAttribute.nNon-null value must be a string or number type, but a type of was provided.”))}else(0,l.Z)(“Failed to execute setCustomAttribute.nName must be a string type, but a type of was provided.”))},g.setUserId=function(e){if(“string”==typeof e||null===e)return b(“enduser.id”,e,”setUserId”,!0);(0,l.Z)(“Failed to execute setUserId.nNon-null value must be a string type, but a type of was provided.”))},g.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var n={},i=this,a=”function”==typeof t;return(0,o.p)(m+”tracer”,[(0,s.z)(),e,n],i,r.D.spa,p),function(){if(h.emit((a?””:”no-“)+”fn-start”,[(0,s.z)(),i,a],n),a)try{return t.apply(this,arguments)}catch(e){throw h.emit(“fn-err”,[arguments,this,”string”==typeof e?new Error(e):e],n),e}finally{h.emit(“fn-end”,[(0,s.z)()],n)}}}};function A(e,t,n,i){return function(){return(0,o.p)(f.xS,[“API/”+t+”/called”],void 0,r.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),…arguments],n?null:this,i,p),n?void 0:this}}function x(){n.e(439).then(n.bind(n,7438)).then((t=>{let{setAPI:n}=t;n(e),(0,c.L)(e,”api”)})).catch((()=>(0,l.Z)(“Downloading runtime APIs failed…”)))}return[“actionText”,”setName”,”setAttribute”,”save”,”ignore”,”onEnd”,”getContext”,”end”,”get”].forEach((e=>{w[e]=A(m,e,void 0,r.D.spa)})),g.noticeError=function(e,t){“string”==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,[“API/noticeError/called”],void 0,r.D.metrics,p),(0,o.p)(“err”,[e,(0,s.z)(),!1,t],void 0,r.D.jserrors,p)},u.il?(0,d.b)((()=>x()),!0):x(),g}(e,m);return(0,g.Qy)(e,_,”api”),(0,g.Qy)(e,x,”exposed”),(0,g.EZ)(“activatedFeatures”,h.T),_}},3325:(e,t,n)=>{n.d(t,{D:()=>r,p:()=>i});const r={ajax:”ajax”,jserrors:”jserrors”,metrics:”metrics”,pageAction:”page_action”,pageViewEvent:”page_view_event”,pageViewTiming:”page_view_timing”,sessionReplay:”session_replay”,sessionTrace:”session_trace”,spa:”spa”},i={[r.pageViewEvent]:1,[r.pageViewTiming]:2,[r.metrics]:3,[r.jserrors]:4,[r.ajax]:5,[r.sessionTrace]:6,[r.pageAction]:7,[r.spa]:8,[r.sessionReplay]:9}}},r={};function i(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,i),o.exports}i.m=n,i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,n)=>(i.f[n](e,t),t)),[])),i.u=e=>(({78:”page_action-aggregate”,147:”metrics-aggregate”,242:”session-manager”,317:”jserrors-aggregate”,348:”page_view_timing-aggregate”,412:”lazy-feature-loader”,439:”async-api”,538:”recorder”,590:”session_replay-aggregate”,675:”compressor”,733:”session_trace-aggregate”,786:”page_view_event-aggregate”,873:”spa-aggregate”,898:”ajax-aggregate”}[e]||e)+”.”+{78:”ac76d497″,147:”3dc53903″,148:”1a20d5fe”,242:”2a64278a”,317:”49e41428″,348:”bd6de33a”,412:”2f55ce66″,439:”30bd804e”,538:”1b18459f”,590:”cf0efb30″,675:”ae9f91a8″,733:”83105561″,786:”06482edd”,860:”03a8b7a5″,873:”e6b09d52″,898:”998ef92b”}[e]+”-1.236.0.min.js”),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t=”NRBA:”,i.l=(n,r,o,a)=>{if(e[n])e[n].push(r);else{var s,c;if(void 0!==o)for(var d=document.getElementsByTagName(“script”),u=0;u{s.onerror=s.onload=null,clearTimeout(g);var i=e[n];if(delete e[n],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(r))),t)return t(r)},g=setTimeout(f.bind(null,void 0,{type:”timeout”,target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{“undefined”!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:”Module”}),Object.defineProperty(e,”__esModule”,{value:!0})},i.j=6,i.p=”https://js-agent.newrelic.com/”,(()=>{var e={6:0,352:0};i.f.j=(t,n)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise(((n,i)=>r=e[t]=[n,i]));n.push(r[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(n=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&(“load”===n.type?”missing”:n.type),a=n&&n.target&&n.target.src;s.message=”Loading chunk “+t+” failed.n(“+o+”: “+a+”)”,s.name=”ChunkLoadError”,s.type=o,s.request=a,r[1](s)}}),”chunk-“+t,t)}};var t=(t,n)=>{var r,o,[a,s,c]=n,d=0;if(a.some((t=>0!==e[t]))){for(r in s)i.o(s,r)&&(i.m[r]=s[r]);if(c)c(i)}for(t&&t(n);d{i.r(o);var e=i(3325),t=i(5763);const n=Object.values(e.D);function r(e){const r={};return n.forEach((n=>{r[n]=function(e,n){return!1!==(0,t.Mt)(n,””.concat(e,”.enabled”))}(n,e)})),r}var a=i(9144);var s=i(5546),c=i(385),d=i(8e3),u=i(5938),l=i(3960),f=i(50);class g extends u.W{constructor(e,t,n){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,n),this.auto=r,this.abortHandler,this.featAggregate,this.onAggregateImported,r&&(0,d.R)(e,n)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const n=c.il&&!0===(0,t.Mt)(this.agentIdentifier,”privacy.cookies_enabled”);let r;this.onAggregateImported=new Promise((e=>{r=e}));const o=async()=>{let t;try{if(n){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,f.Z)(“A problem occurred when starting up session manager. This page will not start or extend any session.”,e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,d.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:n}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await n(this.featureName,”aggregate”);this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),r(!0)}catch(e){(0,f.Z)(“Downloading and initializing “.concat(this.featureName,” failed…”),e),this.abortHandler?.(),r(!1)}};c.il?(0,l.b)((()=>o()),!0):o()}shouldImportAgg(n,r){return n!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,”session_trace.enabled”)&&(!!r?.isNew||!!r?.state.sessionReplay)}}var p=i(7633),h=i(7894);class v extends g{static featureName=p.t9;constructor(n,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(n,r,p.t9,i),(“undefined”==typeof PerformanceNavigationTiming||c.Tt)&&”undefined”!=typeof PerformanceTiming){const r=(0,t.OP)(n);r[p.Dz]=Math.max(Date.now()-r.offset,0),(0,l.K)((()=>r[p.qw]=Math.max((0,h.z)()-r[p.Dz],0))),(0,l.b)((()=>{const t=(0,h.z)();r[p.OJ]=Math.max(t-r[p.Dz],0),(0,s.p)(“timing”,[“load”,t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var m=i(1117),b=i(1284);class y extends m.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,n,r,i){var o=this.getBucket(e,t,n,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,n){t[e]=w(n,t[e])})),t}(r,o.metrics),o}merge(e,t,n,r,i){var o=this.getBucket(e,t,r,i);if(o.metrics){var a=o.metrics;a.count+=n.count,(0,b.D)(n,(function(e,t){if(“count”!==e){var r=a[e],i=n[e];i&&!i.c?a[e]=w(i.t,r):a[e]=function(e,t){if(!t)return e;t.c||(t=A(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=n}storeMetric(e,t,n,r){var i=this.getBucket(e,t,n);return i.stats=w(r,i.stats),i}getBucket(e,t,n,r){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:n||{}},r&&(i.custom=r)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},n=””,r=!1,i=0;it.max&&(t.max=e),e2&&void 0!==arguments[2])||arguments[2];super(e,n,I.t,r),c.il&&((0,t.OP)(e).initHidden=Boolean(“hidden”===document.visibilityState),(0,k.N)((()=>(0,s.p)(“docHidden”,[(0,h.z)()],void 0,I.t,this.ee)),!0),(0,T.bP)(“pagehide”,(()=>(0,s.p)(“winPagehide”,[(0,h.z)()],void 0,I.t,this.ee))),this.importAggregator())}}var P=i(3081);class S extends g{static featureName=P.t9;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,n),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,j.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(v),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||”agent”)),this.start()):(0,f.Z)(“Failed to initial the agent. Could not determine the runtime environment.”)}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t=”features”;try{const n=r(this.agentIdentifier),i=[…this.desiredFeatures];i.sort(((t,n)=>e.p[t.featureName]-e.p[n.featureName])),i.forEach((t=>{if(n[t.featureName]||t.featureName===e.D.pageViewEvent){const r=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);r.every((e=>n[e]))||(0,f.Z)(“”.concat(t.featureName,” is enabled but one or more dependent features has been disabled (“).concat((0,E.P)(r),”). This may cause unintended consequences or missing data…”)),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,_.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,f.Z)(“Failed to initialize all enabled instrument classes (agent aborted) -“,e);for(const e in this.features)this.features[e].abortHandler?.();const n=(0,_.fP)();return delete n.initializedAgents[this.agentIdentifier]?.api,delete n.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,n.ee?.abort(),delete n.ee?.get(this.agentIdentifier),!1}}}({features:[v,N,S],loaderType:”lite”})})(),window.NRBA=o})();]]]]]]]]>]]]]]]>]]]]>]]> [] { if ([‘subscriber’, ‘prosubscriber’].includes(window.utag_data.user_type)) { return; } const delayParam = parseInt(window.localStorage.getItem(‘swg-call-delay’), 10); if (delayParam && (delayParam > Date.now())) { return; } // If GaaMetering is initiated, it would initiate the subscriptions behind the scene // https://github.com/subscriptions-project/swg-js/blob/main/src/utils/gaa.js if (!this.hasInitGaaMetering) { subscriptions.init(productID); this.getEntitlements(subscriptions, productID); } }); }, getEntitlements(subscriptions, productId) { subscriptions.getEntitlements() .then(window.__googleEA?.handleSwGEntitlement(productId)) .catch((err) => { console.error(`[SWG Entitlements Failed]: ${err}`); }); }, getHandleLoginPromise() { return new Promise(() => { window.GaaMetering?.getLoginPromise() .then(() => { const LOGIN_URL = { WSJ: ‘www.wsj.com/client/login’, BOL: ‘www.barrons.com/client/login’, FN: ‘www.dowjones.com/client/login’, MW: ‘www.marketwatch.com/client/login’, MG: ‘www.dowjones.com/client/login’ }; const prefix = envGoogleEA === ‘prod’ ? ” : ‘int.’; const baseUrl = LOGIN_URL[window.utag_data.page_site_product]; const loginUrl = `https://${prefix}${baseUrl}`; const targetUrl = new URL(window.location.href); targetUrl.searchParams.set(‘isGaa’, true); window.location.href = `${loginUrl}?target=${encodeURIComponent(targetUrl)}`; }); }); }, getRegisterUserPromise() { return new Promise(() => { window.GaaMetering?.getGaaUserPromise() .then((credential) => { window.__googleEA?._registerUser(credential); }); }); }, showPaywall() { const SHOP_URL = { prod: { WSJ: ‘https://subscribe.wsj.com?target=’, BOL: ‘https://subscribe.barrons.com?target=’, FN: ‘https://partner.fnlondon.com/p/1140300052/eligibility?mod=subscribe-google-ea&targetURL=’, MW: ‘https://subscribe.marketwatch.com?target=’ }, dev: { WSJ: ‘https://subscribe.wsj.com?target=’, BOL: ‘https://subscribe.barrons.com?target=’, FN: ‘https://partner.s.dev.fnlondon.com/p/p_fnlondon/eligibility/?mod=subscribe-google-ea&targetURL=’, MW: ‘https://subscribe.marketwatch.com?target=’ } }; const product = window.utag_data.page_site_product; const targetUrl = new URL(window.location.href); targetUrl.searchParams.set(‘isGaa’, true); window.location.href = `${(SHOP_URL[envGoogleEA] || SHOP_URL.dev)[product]}${encodeURIComponent(targetUrl)}`; }, handleSwGEntitlement(productId) { return (entitlements) => { if (!entitlements || !Array.isArray(entitlements.entitlements) || !entitlements.entitlements.length) { window.localStorage.setItem(‘swg-call-delay’, Date.now() + (60 * 60 * 1000)); return; } let subscriptionToken; for (const entitlement of entitlements.entitlements) { if ((entitlement.source === ‘google’) && (entitlement.products.includes(productId))) { subscriptionToken = entitlement.subscriptionToken; } } if (!subscriptionToken) { return; } const isCxdjExist = window.setInterval(() => { if (window.cxdj?.meta?.topDomain && window.cxdj?.displaySwgScrim) { window.cxdj.displaySwgScrim(); clearInterval(isCxdjExist); } }, 100); }; }, getAllowedReferrers() { const PRODUCT_DOMAIN = { WSJ: ‘wsj.com’, BOL: ‘barrons.com’, FN: ‘fnlondon.com’, MW: ‘marketwatch.com’, MG: ‘mansionglobal.com’ }; const LOGIN_URL = { WSJ: ‘accounts.wsj.com’, BOL: ‘accounts.barrons.com’, FN: ‘accounts.dowjones.com’, MW: ‘accounts.marketwatch.com’, MG: ‘accounts.dowjones.com’ }; const SHOP_URL = { prod: { WSJ: ‘subscribe.wsj.com’, BOL: ‘subscribe.barrons.com’, FN: ‘partner.fnlondon.com’, MW: ‘subscribe.marketwatch.com’ }, dev: { WSJ: ‘subscribe.wsj.com’, BOL: ‘subscribe.barrons.com’, FN: ‘partner.s.dev.fnlondon.com’, MW: ‘subscribe.marketwatch.com’ } }; const product = window.utag_data.page_site_product; const productHostNamePrefix = envGoogleEA === ‘prod’ ? ” : ‘s.dev.’; const productHostName = `www.${productHostNamePrefix}${PRODUCT_DOMAIN[product]}`; return [productHostName, LOGIN_URL[product], `${(SHOP_URL[envGoogleEA] || SHOP_URL.dev)[product]}`]; }, _registerUser(credential) { const PRODUCT_DOMAIN = { WSJ: ‘wsj’, BOL: ‘barrons’, FN: ‘fnlondon’, MW: ‘marketwatch’, MG: ‘mansionglobal’ }; const EDITION_ID = { WSJ: ‘WSJ-EN_US’, BOL: ‘BARRONS-EN_US’, FN: ‘EFN-EN_US’, MW: ‘MARKETWATCH-EN_US’, MG: ‘MG-EN_US’ }; const REGISTRATION_SOURCE = { WSJ: ‘WSJ’, BOL: ‘BARRONS’, FN: ‘EFN’, MW: ‘MARKETWATCH’, MG: ‘MG’ }; const LOGIN_URL = { WSJ: ‘accounts.wsj.com/auth’, BOL: ‘accounts.barrons.com/auth’, FN: ‘accounts.dowjones.com/auth/fn’, MW: ‘accounts.marketwatch.com/auth’ }; const pageSiteProduct = window.utag_data.page_site_product; const registerUrlPrefix = envGoogleEA === ‘prod’ ? ” : ‘s.dev.’; const registerBasedUrl = `https://register.${registerUrlPrefix}${PRODUCT_DOMAIN[pageSiteProduct]}.com`; const registerEndpoint = `${registerBasedUrl}/api/createSocialConnectUser`; const loginUrlPrefix = envGoogleEA === ‘prod’ ? ” : ‘int.’; const loginBaseUrl = LOGIN_URL[pageSiteProduct]; const loginUrl = `https://${loginUrlPrefix}${loginBaseUrl}/google-login`; const targetUrl = new URL(window.location.href); targetUrl.searchParams.set(‘isGaa’, true); fetch(registerEndpoint, { method: ‘POST’, body: JSON.stringify({ id_token: credential?.credential, displayContextId: ‘SOCIAL_CONNECT’, returnUrl: window.location.href.split(‘?’)[0], editionId: `${EDITION_ID[pageSiteProduct]}`, registrationSource: `${REGISTRATION_SOURCE[pageSiteProduct]}` }), headers: { ‘content-type’: ‘application/json’, } }) .then((response) => { if (!response.ok) { console.error(‘GoogleEA: Social Connect Invalid Status Code’); return; } return response.json(); }) .then((userState) => { if (!userState) { console.error(‘GoogleEA: Social Connect No Data’); return; } window.location.href = `${loginUrl}?target=${encodeURIComponent(targetUrl)}`; }) .catch((err) => { console.error(`GoogleEA: Social Connect Err: ${err}`); }); } }; })() ]]]]]]]]>]]]]]]>]]]]>]]>
In One Chart
Last Updated: July 21, 2023 at 2:40 p.m. ET First Published: July 20, 2023 at 2:37 p.m. ET
How does the Nasdaq’s performance stack up to the S&P 500 index over the longer term?
Leonardo Munoz/Agence France-Presse/Getty Images
[]A 2023 stock-market rally led by megacap tech names is stirring fears another bubble may be forming as the Nasdaq Composite index significantly outpaces strong gains for the S&P 500.
[]But a longer term look at the tape indicates the Nasdaq may merely be playing catch-up with the large-cap U.S. benchmark, argued Jessica Rabe, co-founder of DataTrek Research, in a Thursday note, who also warned against losing sight of how dismal 2022 was for stocks.
[]The Nasdaq COMP, -0.22% was up 37.2% year-to-date through Wednesday’s close, far outpacing the S&P 500’s SPX, +0.03% 18.9% rally, but over the last three years, the S&P 500, up 42%, has outpaced the Nasdaq’s 37% rise, Rabe observed.
[]DataTrek ran the three-year rolling returns for both the S&P 500 and the Nasdaq Composite over the last 50 years to put 2022’s losses and 2023’s rebounds into a larger context. Rabe said they chose those time frames because the three-year period helps smooth out year-to-year seasonality and volatility, and five decades capture a variety of business, interest rate and valuation cycles (see chart below).
DataTrek Research []The Nasdaq Composite tends to outperform the S&P 500 over a 3-year time horizon but it is also more volatile, as would be expected, Rabe noted. The three-year average price return for the Nasdaq was 41.% versus 29% for the S&P 500 back to 1974.
[]The Nasdaq Composite is up 37.1% over the last three years, versus 42% for the S&P 500, making this year’s performance look like a reversion to the longer term mean.
[]“The Nasdaq has underperformed the S&P by almost 500 basis points over the last three years, when the Comp typically outperforms by a much larger margin (+1,220 bps). It therefore makes sense that the Nasdaq is playing some catch-up in 2023,” the analyst said.
[]The data also show 3-year returns rarely go negative and that they continue to trade in similar bands to prior cycles. “Barring a geopolitical or economic shock, both the Nasdaq and S&P tend to generate positive, double-digit returns over three-year periods,” she said.
[]Even with the Nasdaq and S&P’s double-digit rallies this year, three-year returns for both indexes are relatively ordinary as compared with historical norms, Rabe noted. The Composite’s 37.1% return over the last three years is slightly below the average of 41.2% but well within one standard deviation to the downside. The S&P 500’s 42% rise over the same stretch tops its average of 29% but is well within standard deviation to the upside, she said.
[]What does it all mean? Rabe acknowledged that stock valuations are rich and that companies need to keep delivering on earnings, but said it’s also worth noting that part of the impressive rallies for both indexes can be explained in part as a reversion to historical averages. She noted that the S&P 500 and Nasdaq’s 2022 performances were nearly or just as bad as those seen in the 1973-74 oil crisis and recession, the period around the bursting of the dot-com bubble, the lead-up to the second Gulf War, and the 2007-09 financial crisis.
[]“This year’s gains so far have gotten them back closer to their 3-year average returns but are nowhere near bubble territory,” she said.
Buy gold and sell U.S. dollars, this strategist says. Here’s why.
[]Investors are betting more on a soft landing scenario for the U.S. economy — which could boost gold’s price and weigh on the U.S. dollar.
[]William Watts is MarketWatch markets editor. In addition to managing markets coverage, he writes about stocks, bonds, currencies and commodities, including oil. He also writes about global macro issues and trading strategies. During his time at MarketWatch, Watts has served in key roles in the Frankfurt, London, New York and Washington, D.C., newsrooms.
--> More stuff could go in this aside column
No Recent Tickers
[]Visit a quote page and your recently viewed tickers will be displayed here.
[]
[] No results found
{ // If Dianomi is disabled by user, add ‘generic’ style hiding anything // with a j-dianomi-content class. Allows for cleanup of things like headers // on bottom of home/section pages and borders on MoreHeadlines of quote page const css = ‘.j-dianomi-content { display: none !important; }’; const styleEl = document.createElement(‘style’); styleEl.type = ‘text/css’; styleEl.appendChild(document.createTextNode(css)); document.head.appendChild(styleEl); } const checkDianomiVendor = () => { if (typeof __ace !== ‘undefined’) { // To get Dianomi Vendor Id (or any vendor Id) do following from Console of Marketwatch.com // console.table(__ace(‘djcmp’, ‘getAllVendors’, [])) __ace(‘djcmp’, ‘customVendorIsEnabled’, [‘5fdc7a2fa2286360b24ef388’, (isVendorEnabled) => { if (isVendorEnabled) { loadDianomiScript(); } else { addDianomiDisabledStyles(); } }]); } } // Wait for CMP to finish loading before checking if Dianomi is disabled if (typeof __ace !== ‘undefined’) { __ace(‘djcmp’, ‘executeOnCmpReady’, [{ cb: checkDianomiVendor }]); } }()); ]]]]]]]]>]]]]]]>]]]]>]]>