Seasonal: Separate Month Tendency From Event Tendency
A beginner-safe Seasonal lesson for classifying whether a timing claim comes from the broad month, a specific event window, a regional overlap, or a sample too thin to use.
Educational only
The examples teach workflow and risk framing. They do not provide trade recommendations, personalized advice, leverage guidance, or guaranteed outcomes.
Chapter 01
Separate month pattern from event pattern
Trader question
Is this pattern about the month, or about a specific event inside the month?
A monthly seasonal bar and an event-window row answer different questions. The learner should label the source of the claim before writing the note or opening the next tool.
Desk checklist
- Name whether the claim uses the full month or event window.
- Keep monthly and event evidence side by side.
- Route each claim to the matching tool surface.
Interactive proof
Overview major event impact panel, Detailed view CTA, and Event Analysis tab
Use the splitter lab to classify each claim as month, event, overlap, or insufficient sample.
A month bar and an event row answer different calendars. Label the claim as month, event, overlap, or too thin before routing it forward.
Interactive desk lab
Seasonal Month Versus Event Splitter
A practical Seasonal Analysis month-versus-event lab for comparing a broad monthly bar with event-window rows, then classifying claims as month, event, overlap, or insufficient sample.
A practical Seasonal Analysis month-versus-event lab for comparing a broad monthly bar with event-window rows, then classifying claims as month, event, overlap, or insufficient sample.
Two calendars, one month
A monthly bar separates into event-window rows with different labels and caveats.
A positive monthly bar appears for September.
Three event windows slide out from inside the same month.
Each event window receives average, win rate, occurrences, worst return, and volatility labels.
The final frame asks whether the claim is month, event, overlap, or too thin.
Remotion code
SeasonalTwoCalendarsOneMonthVideo
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 eventRows = ["Festival window", "FOMC week", "Regional holiday"];
export const SeasonalTwoCalendarsOneMonthVideo = () => {
const frame = useCurrentFrame();
const split = interpolate(frame, [28, 76], [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: 54, lineHeight: 1}}>One month can contain different event questions.</h1>
<div style={{marginTop: 46, display: "grid", gridTemplateColumns: "260px 1fr", gap: 30}}>
<div style={{height: 260, display: "grid", alignItems: "end", borderBottom: "3px solid #071126"}}>
<div style={{height: 172, background: "#d9971f", display: "grid", placeItems: "center", color: "#071126", fontSize: 28, fontWeight: 900}}>Sep +0.9%</div>
</div>
<div style={{display: "grid", gap: 12, opacity: split, transform: "translateX(" + ((1 - split) * 50) + "px)"}}>
{eventRows.map((row, index) => (
<div key={row} style={{padding: 16, background: index === 1 ? "#fbe5df" : index === 2 ? "#fff3d6" : "#ddf3e8", border: "1px solid #ad862d", fontSize: 24}}>
{row}: different window, different caveat
</div>
))}
</div>
</div>
<Sequence from={102} layout="none">
<p style={{fontSize: 26, color: "#805407"}}>Classify the claim before routing the idea forward.</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.