(function(){
var CN = 'menthorq_utm_params';
var LK = 'menthorq_utm_params';
var UK = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content','utm_id'];
var CK = ['gclid','fbclid','msclkid','ttclid','twclid'];
var CD = 30;
var AK = UK.concat(CK);function sC(n,v,d){var e=new Date(Date.now()+d*864e5).toUTCString();var c=n+'='+encodeURIComponent(v)+';expires='+e+';path=/;SameSite=Lax';if(location.protocol==='https:')c+=';Secure';document.cookie=c;}
function gC(n){var m=document.cookie.match(new RegExp('(?:^|; )'+n+'=([^;]*)'));return m?decodeURIComponent(m[1]):'';}
function sv(d){var j=JSON.stringify(d);sC(CN,j,CD);try{localStorage.setItem(LK,j);}catch(e){}}
function hk(o){if(!o)return false;for(var i=0;i<AK.length;i++)if(o[AK[i]])return true;return false;}
function nm(d){if(!d)return null;if(d.first)return d;if(hk(d))return{first:d,last:d};return null;}
function ld(){var r=gC(CN);if(r){try{var n=nm(JSON.parse(r));if(n)return n;}catch(e){}}try{var s=localStorage.getItem(LK);if(s){var n=nm(JSON.parse(s));if(n)return n;}}catch(e){}return null;}var ps = new URLSearchParams(window.location.search);
var fd = {}, has = false;
for (var i = 0; i < AK.length; i++) {
var v = ps.get(AK[i]);
if (v) { fd[AK[i]] = v; has = true; }
}if (has) {
fd.captured_at = new Date().toISOString();
var ex = ld();
sv(ex ? {first: ex.first, last: fd} : {first: fd, last: fd});
return;
}var raw = gC(CN);
if (raw) {
try {
var p = JSON.parse(raw);
if (!p.first && hk(p)) sv({first: p, last: p});
} catch(e) {}
return;
}try {
var s = localStorage.getItem(LK);
if (s) { var n = nm(JSON.parse(s)); if (n) sv(n); }
} catch(e) {}
})();
var breeze_prefetch = {"local_url":"https://menthorq.com","ignore_remote_prefetch":"1","ignore_list":["/account/","/login/","/thank-you/","/wp-json/openid-connect/userinfo","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://menthorq.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
https://menthorq.com/wp-content/themes/yootheme/vendor/assets/uikit/dist/js/uikit.min.js
https://menthorq.com/wp-content/themes/yootheme/vendor/assets/uikit/dist/js/uikit-icons-circle.min.js
https://menthorq.com/wp-content/themes/yootheme/assets/site/js/theme.js
window.yootheme ||= {}; yootheme.theme = {"i18n":{"close":{"label":"Close","0":"yootheme"},"totop":{"label":"Back to top","0":"yootheme"},"marker":{"label":"Open","0":"yootheme"},"navbarToggleIcon":{"label":"Open menu","0":"yootheme"},"paginationPrevious":{"label":"Previous page","0":"yootheme"},"paginationNext":{"label":"Next page","0":"yootheme"},"searchIcon":{"toggle":"Open Search","submit":"Submit Search"},"slider":{"next":"Next slide","previous":"Previous slide","slideX":"Slide %s","slideLabel":"%s of %s"},"slideshow":{"next":"Next slide","previous":"Previous slide","slideX":"Slide %s","slideLabel":"%s of %s"},"lightboxPanel":{"next":"Next slide","previous":"Previous slide","slideLabel":"%s of %s","close":"Close"}}};
CPI Pre-Market Trading Playbook for Futures Traders Preparing for CPI with a Structured Trading Framework Turning Gamma Levels Into a Trade Plan: CPI Pre-Market Trading Playbook This session is a textbook example of how to prepare for a high-impact macro day, in this case CPI. The focus is not prediction. It is preparation.
The speaker walks through a structured process of identifying what matters most before CPI , building anchor points, and translating options positioning into actionable scenarios for futures traders.
This article breaks that process down so you can follow along with the webinar and apply the same workflow yourself.
Step One: Start With Context, Not Charts
(0:12 – 0:34)
The session begins with one key reminder:
This is a pre-CPI environment . That immediately changes everything.
CPI is not just another data point. It is a potential market-moving catalyst that can override positioning, trigger volatility expansion, and break ranges.
Actionable Takeaway
Before doing anything:
Identify the event (CPI) Assume higher volatility Expect multiple scenarios, not one bias This is not a day to “be right.” It is a day to be prepared .
Step Two: Find Your Anchor First
(0:45 – 2:32)
The first real step in the workflow is identifying what stands out.
CPI Pre-Market Trading Playbook for Futures Traders 23 The speaker asks a simple question:
What is changing, or what demands attention?
The answer:
Call resistance held yesterdayThe same call resistance is active again today This is confirmed across SPY and NQ This becomes the primary anchor .
Why This Matters
If a level rejected price yesterday and remains unchanged today, it becomes:
A key resistance zone A decision point for both longs and shorts Actionable Takeaway
Before the open:
Identify 1–2 anchor levels where:
Price failed previously Positioning is still concentrated These are your decision zones.
Step Three: Define Directional Conditions (2:32 – 3:10)
Once the anchor is identified, the next step is not trading. It is defining conditions.
The speaker breaks it down clearly:
If you want to be bearish, you must stay below call resistance.
If price breaks above, the short idea is invalid.
Actionable Takeaway
Turn every idea into a condition:
Short bias: only valid below resistance Long bias: only valid above resistance No confirmation: no trade This removes guesswork.
Step Four: Build the Trade Structurally (Stops & Risk) (3:10 – 5:03)
Now the workflow becomes practical. The speaker shows how to build a trade using cross-asset levels:
Shorting NQ at call resistance Using NDX call resistance as a stop reference This creates a structured setup:
Entry: NQ call resistance Stop: NDX call resistance Range: ~130 points Why This Matters
This is not random risk placement. It is using options positioning across instruments to define:
Where the idea breaks How much room the trade needs Actionable Takeaway
When building a trade:
Use related instruments (SPX, NDX) for confirmation Place stops beyond structural levels, not arbitrary points Accept that wider structure = wider stop Think about Risk Management first.
Step Five: Identify Conflicting Signals (Critical Step) (5:03 – 6:25)
This is where most traders fail.
CPI Pre-Market Trading Playbook for Futures Traders 24 The speaker identifies a gamma cluster on QQQ that acts as a strong support zone.
This creates a conflict:
Bearish idea from call resistance Bullish support from gamma cluster Why This Matters
Not all setups align. When signals conflict, you must:
Reduce conviction Wait for confirmation Avoid forcing trades Actionable Takeaway
Before the open, always ask:
Is there anything that invalidates my idea?
If yes:
Trade smaller Wait for confirmation Or stay out Step Six: Define Upside Targets Using Structure (6:25 – 8:10)
If price breaks above resistance, the focus shifts to upside targets.
CPI Pre-Market Trading Playbook for Futures Traders 25 The speaker identifies:
One-day max Call resistance above A visible gap in price structure This creates a clean long scenario:
Break → move into gap → potential gap fill
Actionable Takeaway
For long setups:
Identify breakout level Map next liquidity zone (gap, resistance) Define target before entry Step Seven: Define Downside Targets Clearly (10:40 – 11:33)
The downside is just as structured.
CPI Pre-Market Trading Playbook for Futures Traders 26 If price fails:
Target put support Potentially retrace the news-driven move The key insight:
Markets often revisit areas where large candles originated .
Actionable Takeaway
For short setups:
Map downside targets before entry Look for previous impulsive zones Expect price to revisit those areas Step Eight: Add Macro Catalyst Layer (8:10 – 10:13)
This is where the session becomes more advanced.
The speaker connects:
CPI Geopolitical headlines (peace talks) Friday positioning risk These are all potential impulses .
Why This Matters
Options positioning defines structure. Macro events provide the energy to break that structure .
Actionable Takeaway
Before the open:
List all possible catalysts.
Then ask:
What could push price higher? What could push price lower? This helps you understand why a level might break.
Step Nine: Use VIX as Confirmation (11:56 – 14:25)
VIX provides a critical signal.
CPI Pre-Market Trading Playbook for Futures Traders 27 Key observation:
VIX below 20 for the first time since February Sitting at put support and zero-DTE support This creates an A+ setup .
Interpretation
Two possibilities:
VIX is cheap → volatility expands → equities fall VIX continues lower → equities rally Actionable Takeaway
Before the open:
Mark VIX levels.
Then define:
If VIX rises: bearish confirmation If VIX falls: bullish confirmation Never ignore volatility.
Step Ten: Define ES Range Conditions (15:45 – 16:37)
CPI Pre-Market Trading Playbook for Futures Traders 28 On ES, the structure is clear:
One-day max + call resistance above High wall + put support below This creates a range environment .
Actionable Takeaway
If price stays inside:
Expect rotation Trade range extremes Avoid middle If price breaks:
Switch to breakout strategy Step Eleven: Read Structural Shifts (Advanced Insight) (16:50 – 19:24)
CPI Pre-Market Trading Playbook for Futures Traders 29 The speaker highlights two advanced signals:
Risk trigger rising Shift from upper band to lower band These are not basic indicators. They reflect:
Structural changes in positioning Potential regime shifts Actionable Takeaway
When you see:
Rising risk trigger Band shifts Ask:
Is the market transitioning into a new structure? If unsure use QUIN to validate.
Full Pre-Market Playbook Scenario 1: Rejection at Call Resistance Price stays below resistance VIX stabilizes or rises Execution
Short near resistance Target lower support Invalidation
Break and hold above resistance Scenario 2: Breakout Above Resistance Price breaks one-day max Momentum builds Execution
Long breakout Target gap fill Invalidation
Scenario 3: Range Day Price stays between key levels No catalyst follow-through Execution
Invalidation
Conclusion This webinar is not about finding “the trade.” It is about building a framework.
The key lessons are simple:
Start with context Find your anchor Define conditions Map both sides Let the market confirm Most traders look for answers. Professional traders build scenarios.
By the time the market opens, they already know:
Where they will act Where they will exit When they will do nothing That is the real edge. Use QUIN to help your Preps.
Join us today
Access daily Market Research and our interactive Dashboard . Make better trading decisions.
MenthorQ ©2025 701 Brickell Key BLVD 33131, Miami (FL)
Quantitative Models
Resources
Company
Account UIkit.icon.add({"fa6-regular--user":"<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\" width=\"20\" height=\"20\"><path d=\"M304 128a80 80 0 10-160 0 80 80 0 10160 0zm-208 0a128 128 0 11256 0 128 128 0 11-256 0zM49.3 464h349.5c-8.9-63.3-63.3-112-129-112h-91.4c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c98.5 0 178.3 79.8 178.3 178.3 0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"\/><\/svg>"})
https://menthorq.com/wp-content/plugins/wp-whatsapp/assets/dist/js/njt-whatsapp.js
var njt_wa_global = {"ajax_url":"https://menthorq.com/wp-admin/admin-ajax.php","nonce":"b80a132718","defaultAvatarSVG":"\u003Csvg width=\"48px\" height=\"48px\" class=\"nta-whatsapp-default-avatar\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n viewBox=\"0 0 512 512\" style=\"enable-background:new 0 0 512 512;\" xml:space=\"preserve\"\u003E\n \u003Cpath style=\"fill:#EDEDED;\" d=\"M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\"/\u003E\n \u003Cpath style=\"fill:#55CD6C;\" d=\"M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\"/\u003E\n \u003Cpath style=\"fill:#FEFEFE;\" d=\"M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\"/\u003E\n \u003C/svg\u003E","defaultAvatarUrl":"https://menthorq.com/wp-content/plugins/wp-whatsapp/assets/img/whatsapp_logo.svg","timezone":"America/New_York","i18n":{"online":"Online","offline":"Offline"},"urlSettings":{"onDesktop":"api","onMobile":"api","openInNewTab":"ON"}};
//# sourceURL=nta-js-global-js-extra
https://menthorq.com/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-button.js
var menthorq_gtm = {"system":{"ajax_url":"https://menthorq.com/wp-admin/admin-ajax.php","nonce":"d9e70ef5d8","site_url":"https://menthorq.com","home_url":"https://menthorq.com","timestamp":1779245138,"environment":"production"},"debug":{"enabled":true,"environment":"production"},"user":[],"container_id":"GTM-599ZCR89"};
//# sourceURL=gtm-tracking-js-extra
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/GoogleTagManager/Assets/Public/Js/gtm-tracking.js
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/Mixpanel/Assets/Public/Js/mixpanel-tracking.js
var menthorq_common = {"system":{"ajax_url":"https://menthorq.com/wp-admin/admin-ajax.php","nonce":"7f70e158c7","version":"1.29.2","site_url":"https://menthorq.com","home_url":"https://menthorq.com","timestamp":1779245138},"debug":{"enabled":true,"environment":"production"}};
//# sourceURL=common-core-js-extra
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/Core/Assets/Public/Js/common.js
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/TableOfContents/Assets/Public/Js/tableofcontents.js
https://menthorq.com/wp-content/themes/memberpress-wp-th/dist/js/public.bundle.js
(function() {
'use strict';
// Function to get cookie value
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
return null;
}
// Function to delete cookie
function deleteCookie(name) {
document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
// Read pending events from cookie
const cookieValue = getCookie('gtm_events_v2');
if (cookieValue) {
try {
// First decode URL encoding (browsers automatically encode cookies)
// Then decode from base64, then parse JSON
const urlDecoded = decodeURIComponent(cookieValue);
const decodedValue = atob(urlDecoded);
const events = JSON.parse(decodedValue);
// Validate that events is an array
if (!Array.isArray(events)) {
throw new Error('Events is not an array');
}
console.log('%c[TrackingManager GTM]%c Found ' + events.length + ' pending events in cookie', 'color: #4CAF50; font-weight: bold', 'color: inherit');
// Ensure dataLayer exists
window.dataLayer = window.dataLayer || [];
// Push all events to dataLayer
events.forEach(function(eventData, index) {
const dataLayerEvent = {
event: eventData.event
};
// Add all properties
if (eventData.properties && typeof eventData.properties === 'object') {
Object.keys(eventData.properties).forEach(function(key) {
dataLayerEvent[key] = eventData.properties[key];
});
}
dataLayerEvent._timestamp = eventData.timestamp;
window.dataLayer.push(dataLayerEvent);
console.log('%c[TrackingManager GTM]%c Event #' + (index + 1) + ':', 'color: #4CAF50; font-weight: bold', 'color: inherit', eventData);
});
console.log('%c[TrackingManager GTM]%c All events pushed to dataLayer', 'color: #4CAF50; font-weight: bold', 'color: inherit');
// Delete the cookie
deleteCookie('gtm_events_v2');
} catch (e) {
console.error('[TrackingManager GTM] Error parsing events from cookie:', e);
// Delete corrupted cookie
deleteCookie('gtm_events_v2');
}
}
// Also clean up old cookie format (v1) if it exists
deleteCookie('gtm_pending_events');
})();
(function(){
var GA4_COOKIE = 'ga4_client_id';
var GA4_LS_KEY = 'menthorq_ga4_client_id';
var COOKIE_DAYS = 730;
var MAX_RETRIES = 10;
var RETRY_MS = 500;function getCookie(name) {
var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
return match ? decodeURIComponent(match[1]) : '';
}function setCookie(name, value, days) {
var expires = new Date(Date.now() + days * 864e5).toUTCString();
var cookie = name + '=' + encodeURIComponent(value) + ';expires=' + expires + ';path=/;SameSite=Lax';
if (location.protocol === 'https:') cookie += ';Secure';
document.cookie = cookie;
}function extractClientId() {
var ga = getCookie('_ga');
if (ga) {
var parts = ga.split('.');
if (parts.length >= 4) {
return parts.slice(2).join('.');
}
}
return '';
}function capture() {
if (getCookie(GA4_COOKIE)) return true;var clientId = extractClientId();
if (clientId) {
setCookie(GA4_COOKIE, clientId, COOKIE_DAYS);
try { localStorage.setItem(GA4_LS_KEY, clientId); } catch(e) {}
return true;
}
return false;
}if (capture()) return;// _ga cookie not yet set — poll until gtag.js initializes
var attempts = 0;
var timer = setInterval(function() {
attempts++;
if (capture() || attempts >= MAX_RETRIES) {
clearInterval(timer);
// Last resort: restore from localStorage
if (!getCookie(GA4_COOKIE)) {
try {
var stored = localStorage.getItem(GA4_LS_KEY);
if (stored) setCookie(GA4_COOKIE, stored, COOKIE_DAYS);
} catch(e) {}
}
}
}, RETRY_MS);
})();