Tool lesson

Seasonal: Check Regime And Macro Overlap Before Trusting Seasonality

An intermediate Seasonal lesson for treating calendar patterns as one layer inside wider market context: separate crisis samples, overlay scheduled macro events, add COT positioning, and write the outside-event pause rule.

13 minIntermediate5 chapters

Educational only

The examples teach workflow and risk framing. They do not provide trade recommendations, personalized advice, leverage guidance, or guaranteed outcomes.

Chapter 01

Let regime sit above the calendar

Trader question

What wider market condition could overwhelm this clean seasonal window?

A seasonal window is a historical timing layer, not the whole market. The learner should first ask what current regime could make the calendar pattern less useful.

Desk checklist

  • Name the seasonal window.
  • Name the current market regime.
  • State how the regime changes the read.

Interactive proof

Market tab, regime summary, and Seasonal Overview

Open the regime overlay board and decide whether the base seasonal window stays a watch item or needs a caveat.

1Market regimeWeather layerA broader market condition can overwhelm a clean month or event-window read.
2Crisis samplesSeparate bucketCrisis periods are not normal samples. Check whether they carried or distorted the average.
3Macro overlapEvent filterFOMC, CPI, budgets, duties, and FX shocks can change the premise of a seasonal window.
4COT contextSlow positioningCrowded positioning changes how fragile or reviewable a clean seasonal tendency may be.
5Pause ruleOutside-event gateA clean window downgrades when an outside event is strong enough to challenge the setup.

Seasonality is one evidence layer. Current regime, crisis rows, scheduled macro events, FX context, and COT positioning decide whether the note stays watch, downgrades, or pauses.

Interactive desk lab

Seasonal Regime Overlap Board

A practical Seasonal Analysis regime-overlap board for layering FOMC, CPI, FX, COT, and crisis context on top of a seasonal window before choosing watch, downgrade, or pause.

Native scroll

A practical Seasonal Analysis regime-overlap board for layering FOMC, CPI, FX, COT, and crisis context on top of a seasonal window before choosing watch, downgrade, or pause.

50s Remotion sceneSeasonalRegimeWeatherLayerVideo

Regime weather layer

A clean seasonal window becomes less standalone as FOMC, FX, and crisis regime badges settle over it.

Storyboard beats4 cues
1

A clean seasonal window appears as a calm calendar band.

2

A market regime layer settles above the band.

3

FOMC, FX, and crisis badges arrive one by one.

4

The final frame shows the seasonal read downgraded into a caveated watch state.

Remotion code

SeasonalRegimeWeatherLayerVideo

The snippet is stored with the lesson so a future Remotion project can render the chapter video.

Show component snippet
import {AbsoluteFill, Easing, Sequence, interpolate, useCurrentFrame} from "remotion";

const overlays = [
  {label: "FOMC week", color: "#2454a6", x: 110},
  {label: "FX shock", color: "#b42318", x: 360},
  {label: "Crisis regime", color: "#805407", x: 620},
];

export const SeasonalRegimeWeatherLayerVideo = () => {
  const frame = useCurrentFrame();
  const cover = interpolate(frame, [28, 96], [0, 1], {
    extrapolateLeft: "clamp",
    extrapolateRight: "clamp",
    easing: Easing.bezier(0.16, 1, 0.3, 1),
  });

  return (
    <AbsoluteFill style={{background: "#fff8e8", color: "#071126", padding: 72}}>
      <h1 style={{fontSize: 52, lineHeight: 1}}>Regime sits above the calendar.</h1>
      <div style={{position: "relative", marginTop: 58, height: 340}}>
        <div style={{position: "absolute", left: 70, top: 134, width: 780, height: 96, background: "#fffdf7", border: "3px solid #d9971f", boxShadow: "8px 8px 0 rgba(217,151,31,0.18)"}}>
          <span style={{position: "absolute", left: 28, top: 28, fontSize: 28, fontWeight: 900}}>Clean seasonal window</span>
        </div>
        <div style={{position: "absolute", left: 70, top: 80, width: 780 * cover, height: 210, background: "rgba(7,17,38,0.14)", border: "2px solid #071126"}} />
        {overlays.map((overlay, index) => {
          const visible = interpolate(frame, [44 + index * 18, 64 + index * 18], [0, 1], {
            extrapolateLeft: "clamp",
            extrapolateRight: "clamp",
          });
          return (
            <Sequence key={overlay.label} from={40 + index * 18} layout="none">
              <div style={{position: "absolute", left: overlay.x, top: 38, width: 190, padding: 16, opacity: visible, background: "#fffdf7", border: "3px solid " + overlay.color, color: overlay.color, fontSize: 24, fontWeight: 900}}>
                {overlay.label}
              </div>
            </Sequence>
          );
        })}
      </div>
      <Sequence from={112} layout="none">
        <p style={{fontSize: 27, color: "#805407"}}>The read becomes: reviewable, but caveated by regime overlap.</p>
      </Sequence>
    </AbsoluteFill>
  );
};

Sources used for this tutorial

Next step

Open the tool with the checklist beside you.

Move from the lesson into the matching Bullion Brains tool, keep the checklist visible, and treat the output as evidence until the caveats are clear.

Open Seasonal Analysis