Repeating clocks create testable hypotheses—not automatic edges
Markets run on schedules. Venues open and close, auctions concentrate orders, economic data arrives at announced times, futures settle, funding rates update, indexes rebalance, and institutions report at month or quarter end.
A time-based strategy asks whether returns, volatility, liquidity, or another outcome behaves differently around one of those recurring schedules. The clock or calendar label is not the cause. It is a way to locate a mechanism that must still be explained and tested.
Time-of-day effects and calendar effects deserve a shared guide because both are easy to discover accidentally. A day can be sliced into many intervals and a year into hundreds of calendars. If only the best historical slice is reported, ordinary noise can look like a stable pattern.
Why scheduled behavior can repeat
Intraday activity often follows the organization of the trading day. The open absorbs overnight information and inventory. The close concentrates benchmark and auction demand. Scheduled announcements change uncertainty and order flow. Dealer and institutional workflows can create repeatable liquidity needs. Empirical intraday studies document recurring return structure, but the result depends on the interval, universe, and cross-sectional construction.
Longer calendar patterns may reflect tax decisions, portfolio rebalancing, reporting, benchmark changes, or funding conventions. But the mechanism can decay when rules, venue structure, participants, or execution methods change.
The correct comparison is not always “all other times.” A high-volatility opening interval should be compared with equivalent opening intervals across days, or with a matched state, before its average return is called unusual.
Put every observation on the right clock
Use the exchange’s historical calendar and a declared canonical timezone. Daylight-saving rules, holidays, early closes, and venue changes must be applied as they existed on each date.
For event-relative research, the event timestamp is the origin. “Thirty minutes before an announcement” is different from “10:00 local time,” even if they sometimes coincide.
Avoid converting first and asking questions later. A one-hour timezone error can move an apparent opening effect into the middle of the session while leaving a plausible chart.
Turn a schedule into a strategy
| Component | Questions to answer |
|---|---|
| Schedule | Which venue event, clock interval, weekday, month-end, or announcement? |
| Eligibility | Every occurrence or only a state known beforehand? |
| Entry | Before, at, or after the scheduled event—and with what knowable information? |
| Exit | Fixed elapsed time, session boundary, or independent signal? |
| Comparison | Same asset outside the window, matched state, or later holdout? |
| Search family | How many windows, calendars, assets, and variants were tried? |
| Costs | Is execution occurring during an auction, spread widening, or thin period? |
An intraday example
Illustrative example. Suppose a researcher asks whether an equity-index future has positive returns during the final 30 minutes of the primary session.
The baseline rule is:
- Use the historical exchange calendar to identify each full primary session.
- Enter at the first modeled event at 15:30 exchange-local time.
- Exit at the first modeled event at 16:00.
- Exclude early-close days by a rule declared before examining returns.
- Apply the spread, fees, and slippage associated with both daily trades.
The research comparison should show the same 30-minute interval across years, the rest of the session, and matched-volatility intervals. It should also show how many neighboring windows—15:15–15:45, 15:20–15:50, and so on—were considered.
If 15:30–16:00 is selected only because it had the highest mean, the result is the winner of a search, not a predeclared close effect.
A calendar example
For a month-end hypothesis, define month end using actual trading calendars, not the last numbered calendar day. State whether exposure begins one, three, or five sessions before month end, and whether it ends at the close or after the turn.
Then roll the evaluation forward. A pattern that appeared in early decades may weaken once published or after institutional processes change. Report each tested window and the full family’s uncertainty.
Designing a useful study
Start from a mechanism and a small predeclared window family. Split discovery from later evaluation and keep the clock rules fixed. Useful diagnostics are:
- number of non-overlapping occurrences;
- mean, median, dispersion, and tail outcomes;
- contribution by year and market;
- neighboring-window results;
- matched-state comparison;
- spread, slippage, and auction assumptions; and
- stability before and after venue or rule changes.
Intraday rows are not necessarily independent. Five overlapping five-minute windows around one event do not create five separate pieces of evidence.
Calendar research needs unusually strong data-snooping discipline because a researcher can enumerate weekdays, month positions, holidays, turn-of-month definitions, and combinations almost without limit.
Important failure modes
- Historical timezone or daylight-saving conversion is wrong.
- Early closes and venue-calendar changes are silently treated as normal days.
- Overlapping windows inflate the apparent sample.
- One exceptional year or market carries the result.
- The selected interval is the best of many unreported variants.
- An effect remains gross but vanishes at the actual auction or spread cost.
- Participants adapt after the schedule becomes widely known.
Try it in Arizmic
Strategy composition
Build the premise with shipped signals
Turn a clock or calendar pattern into a rule only after specifying the session clock, eligible window, comparison period, and risk state. Shipped signals support intraday schedule experiments directly; broader calendar cohorts remain an analysis layer rather than an invented calendar signal.
These are starting structures, not presets or evidence of an edge. Choose one, replace the bracketed decisions, and keep the signal roles separate as you test it.
Composition 01
Intraday window with session state and volatility control
Clock-window recipe- Time WindowEligibility clock
- Session SegmentsSession phase
- Realized VolatilityRisk-state input
Data: OHLCV Bars, Instrument Context
View configuration and complete ruleHide recipe details
Composition 01
Intraday window with session state and volatility control
Time Window
Eligibility clock
Time Window supplies an explicit in-window state and exit event for a declared session timezone.
Configure
- start_minute · [window start]
- Define the earliest eligible decision minute.
- end_minute · [window end]
- Define the end of exposure or new-entry eligibility.
Use the output
- in_window
- Permit the article’s directional setup only while true.
- exit_window
- Flatten or stop new entries according to the declared policy.
Session Segments
Session phase
Session Segments distinguishes opening, initial-balance, middle, and close-related states inside the broader clock.
Configure
- opening_end_minute · [opening end]
- Define the opening phase.
- initial_balance_end_minute · [initial-balance end]
- Define the early-session boundary.
- close_start_minute · [close phase start]
- Define when closing behavior begins.
Use the output
- segment
- Require [declared segment] and compare nearby segments separately.
Realized Volatility
Risk-state input
Realized Volatility prevents a time label from hiding large differences in movement across days.
Configure
- window · [volatility window]
- Estimate current variability at the selected interval.
Use the output
- realized_volatility
- Scale or gate exposure under [declared volatility policy].
Assemble the rule
- Entry
- Apply [directional or reversion setup] only when both the time window and declared session segment are active.
- Exit
- Exit on the setup’s own invalidation or when exit_window becomes true.
- Decision time
- Use exchange-local, daylight-saving-aware timestamps and completed bars.
- Sizing
- Use capped inverse-volatility or fixed risk consistently across time cohorts.
Useful variations
- Shift window boundaries by one bar to test sensitivity to arbitrary clock cuts.
- Compare the same rule inside and outside the window under matched volatility.
- Evaluate adjacent historical subperiods instead of pooling the entire sample.
Keep in view
A time window has no direction by itself. The underlying entry premise must be declared, and repeated exploration of many clock cuts creates a substantial selection problem.
Composition 02
Opening participation state conditioned on overnight gap
Session-context recipe- Time WindowOpening eligibility
- Relative VolumeParticipation condition
- Overnight GapCross-session context
Data: OHLCV Bars, Instrument Context
View configuration and complete ruleHide recipe details
Composition 02
Opening participation state conditioned on overnight gap
Time Window
Opening eligibility
Time Window limits this variant to the declared post-open interval.
Configure
- start_minute · [start minute]
- Wait until required opening data is available.
- end_minute · [end minute]
- Stop entries after the intended opening interval.
Use the output
- in_window
- Permit candidates only while the opening window is active.
Relative Volume
Participation condition
Relative Volume identifies unusually active or quiet opening periods.
Configure
- window · [volume baseline]
- Define the reference for the selected intraday bar.
Use the output
- relative_volume
- Classify the opening as [quiet/normal/active] using declared boundaries.
Overnight Gap
Cross-session context
Overnight Gap distinguishes an ordinary open from a large discontinuity that may change the time-of-day pattern.
Configure
No configurable parameter is required for this role.
Use the output
- gap_pct
- Condition the strategy on [gap range or direction] without counting the gap itself as trade return.
Assemble the rule
- Entry
- Within the opening window, apply [declared setup] only in the chosen participation and gap context.
- Exit
- Use the setup’s invalidation and force exit at the time-window boundary.
- Decision time
- The gap is known at the open; participation is known only through the completed decision bar.
- Sizing
- Use [fixed or separately declared risk] with a session loss cap.
Useful variations
- Compare active and quiet openings under the same gap class.
- Use gap context as a label versus a hard gate.
- Repeat across adjacent years and session-calendar regimes.
Keep in view
Intraday timestamp, exchange calendar, early-close, and daylight-saving errors can manufacture apparent seasonality. Validate the clock before interpreting the pattern.
Ask the AI Companion
Draft this strategy
Turn a recurring session or calendar idea into a simple draft while keeping the clock separate from the trade premise.
I have noticed that [instrument] often shows [observed behavior] around [session window or calendar event], and I want to turn that observation into a systematic strategy. Recommend the timeframe, comparison baseline, and supporting market conditions I should begin with, and then build the strategy for me. Keep the recurring time or calendar event as context rather than the only reason to trade, and explain how the design avoids simply selecting the best-looking historical window.
Extend it in Marimo
Begin from a retained Study so calendar version, session timestamps, and explored windows remain traceable.
Compare the same strategy rule across clock windows and calendar cohorts without turning each cut into an independent discovery.
- Bring in
- engine-reported time-window, segment, volatility, gap, volume, decision, fill, and result values, exchange calendar, timezone, holidays, and early-close flags, retained candidates and explored parameter identifiers
- Build
- session heat map of opportunity, exposure, and net outcome, window-boundary sensitivity chart, cohort table by year, calendar state, volatility, and participation
Interpretation: A stable effect should survive small boundary shifts and adjacent periods. A single bright heat-map cell after many searches is weak evidence.
Value origin: Calendar fields, signal outputs, decisions, fills, and retained metrics are engine-reported. Heat-map bins, cohort labels, boundary sweeps, and multiplicity summaries are notebook-derived.
With Companion: Ask Companion to draft reviewed calendar-audit cells, inspect timezone and cohort logic, then explicitly apply the diff.
Further reading
- Heston, Korajczyk, and Sadka, “Intraday Patterns in the Cross-Section of Stock Returns” (2010) — Documents return continuation at matching half-hour intervals across trading days, alongside recurring volume, imbalance, volatility, and spread patterns. Its cross-sectional result should not be generalized to every asset or clock window.
- Sullivan, Timmermann, and White, “Dangers of Data Mining: The Case of Calendar Effects in Stock Returns” (2001) — Evaluates nearly 9,500 calendar rules jointly; nominally impressive effects do not remain conventionally significant after the search family is accounted for.
- McLean and Pontiff, “Does Academic Research Destroy Stock Return Predictability?” (2016) — Finds lower returns for 97 published predictors out of sample and especially after publication, supplying broader evidence for the guide’s warning that discovered schedules can decay.