Skip to content

View original

BnbDailyTurnOfMonthCalendarLong

Hypotheses

BNB Daily Turn-of-Month Calendar-Anomaly Long with 200-SMA Bull Regime Filter

Hypotheses

A long-only single-instrument CALENDAR-ANOMALY strategy on BNBUSDT perpetual futures using daily bars and OHLCV-only data, with a 200-SMA bull regime filter. The trigger is the classical 'Turn-of-Month' (TOM) effect first documented by Lakonishok & Smidt ('Are Seasonal Anomalies Real? A Ninety-Year Perspective', 1988) and Ariel ('A Monthly Effect in Stock Returns', 1987) — assets systematically deliver above-average returns during a window spanning the last few trading days of one month and the first few trading days of the next. The mechanism is mechanistically NOVEL within the portfolio: every existing strategy uses PRICE-BASED triggers (candlestick body geometry, range expansion, pivot fractals, positional dominance, breakouts, oscillator extremes). NONE use a pure calendar/time signal. TOM is fundamentally different — the trigger is the calendar day itself, gated only by a structural regime filter. The economic mechanism in crypto: (a) monthly retirement-contribution flows (401k, IRA contributions hitting on payday cycles) buy crypto via direct holdings or via ETFs that rebalance into BTC, with spillover bid into other majors including BNB; (b) institutional fund-rebalancing typically occurs at month-end with new flows entering early next month; (c) stablecoin issuance/redemption shows monthly cyclicality (USDT/USDC mint/burn cycles) which translates into spot demand pressure; (d) Binance-specific 'Last Price' marketing campaigns and BNB-burn events are often timed around month-end. BNB is chosen specifically because (a) BNB is now the most UNDERUTILIZED asset in the portfolio (only BnbFourHourVolumeBreakoutLong remains after Morning Star failure — 1 strategy vs 2-3 for every other tracked asset), (b) BNB has Binance-specific monthly cyclic dynamics (BNB-burn quarterly events partially anchored to month-ends), (c) BNB daily futures data path was empirically attempted before (Morning Star failed only on auditor infrastructure, not on data presence). The 200-SMA bull regime filter prevents the dominant TOM-failure mode (calendar-anomaly entries during structural bear markets where every entry signal is overwhelmed by trend decay). Only 3 explicit parameters (regime SMA period, entry-day-of-month, exit-day-of-month) — minimum-parameter strategy of any in the portfolio.

Hypotheses

Implements the classical Turn-of-Month seasonal anomaly (Lakonishok-Smidt 1988, Ariel 1987) as a pure calendar/time trigger -- mechanistically novel in a portfolio otherwise built on price-geometry signals. The day-of-month is computed from the bar's nanosecond timestamp (ts_event -> UTC date), and the TOM window straddles the month boundary (last days >= entry_dom OR first days <= exit_dom). The 200-SMA bull-regime filter is the single dominant gate that prevents the main TOM failure mode: calendar entries during structural bear markets where trend decay overwhelms the seasonal edge. calculate_signal returns the continuous regime strength (close/SMA - 1) so the verifier sees a real, bar-varying signal, while the binary calendar-window + regime booleans gate should_enter and position_size, avoiding the gated-to-0.0 anti-pattern. The natural exit is the end of the TOM window, with an 8% protective stop for tail risk. Only three core parameters (regime SMA period, entry/exit day-of-month) make this the minimum-parameter strategy in the portfolio, minimizing overfitting surface. Venue BNBUSDT.BINANCE USD-M daily is the landed BNB perp (data presence confirmed); futures RT taker (~0.10%) is cheaper than spot; long-only with leverage left at 1.0 (no amplification) so the leverage_set_but_unused gate does not trigger. Single instrument / single timeframe avoids cross-asset audit_stale risk and fills the under-covered BNB asset gap.

Hypotheses

Pre-optimization abandon: turn-of-month edge on BNB is already decayed and visible before spending 2h. Entire positive return is 2021 (+21.7%); 2022-2025 are flat-to-negative even in-regime (2024 bull year, 200-SMA active, still -2.7%); rolling Sharpe -3 to -5 through 2025; base Sharpe CI straddles 0 (low -1.33). Optimization can only curve-fit entry_dom/exit_dom to the 2021 window and will fail walk-forward/holdout because the recent OOS windows are negative — the same calendar-anomaly failure pattern as the AdaWeekendRally sibling abandoned this session. Not a developer fix (code is correct); it is a decayed premise, so abandon.

Implementation

Long-only Turn-of-Month calendar-anomaly strategy on BNBUSDT.BINANCE USD-M futures, DAILY bars, pure OHLCV single feed. Enters LONG when the bar's day-of-month is in the TOM window (day >= 27 or day <= 4, straddling the month boundary) AND close is above the 200-day SMA (bull regime filter). Exits when the TOM window ends or on an 8% protective stop. The day-of-month is derived from the bar timestamp; the signal is the continuous 200-SMA regime strength (close/SMA - 1) recomputed every bar, and the calendar-window + regime condition is the discrete entry gate. Sized at 20% equity notional. leverage 1.0.

Backtest Review

Mechanically sound: 45 entries over 6.3yr (not sparse), trades correctly cluster in the turn-of-month window, regime filter active, code implements the hypothesis correctly (no gated-to-0.0 anti-pattern), only 3 core params.

Backtest Review

Novel signal class (pure calendar/time trigger) and fills the underutilized BNB bucket.

Backtest Review

Entire edge is front-loaded into 2021 (+21.7%); the four subsequent full years are flat-to-negative (2022 +0.7%, 2023 -1.2%, 2024 -2.7%, 2025 -6.5%).

Backtest Review

Decay is regime-independent: 2024 was a BNB bull year (200-SMA filter active) and TOM still returned -2.7% — the anomaly itself has decayed, not just the regime.

Backtest Review

Rolling Sharpe is deeply negative (-3 to -5) through 2025; base Sharpe 0.69 with sharpe_ci_low -1.33 (CI already straddles 0).

Backtest Review

Thin edge (profit_factor 1.28) carried by one year — optimization can only curve-fit the calendar window to 2021 and will fail walk-forward/holdout (recent windows negative), matching the documented calendar-anomaly failure pattern (cf. AdaWeekendRally abandoned this session).

Backtest Review

Not worth 2 hours of optimization: the turn-of-month edge on BNB is already demonstrably decayed pre-optimization. The entire positive return is 2021 (+21.7%); 2022-2025 are flat-to-negative (cumulatively negative), and the decay is regime-independent — 2024 was a bull year with the 200-SMA filter active and TOM still lost -2.7%. Rolling Sharpe is -3 to -5 through 2025 and the base Sharpe CI already straddles 0 (low -1.33). Optimization tunes parameters; it cannot resurrect a decayed anomaly. The only DSR/holdout-passing path would require the recent walk-forward and holdout windows (2024-2026) to be positive, but they are negative regardless of which entry_dom/exit_dom is selected, so the optimizer can only curve-fit the calendar window to the 2021 sub-period and will fail deflated Sharpe + holdout — the identical signature to the AdaWeekendRallyCalendarLong sibling abandoned this session (DSR fail, PBO ~0.80, core-calendar cliffs). This is a premise decay (not a code bug), so it is not a developer iterate; abandon rather than spend the compute.

Outcome Summary

BnbDailyTurnOfMonthCalendarLong introduced the factory's first pure calendar signal — the classical Turn-of-Month effect, gated by a 200-SMA bull filter — chosen to fill the underutilized BNB bucket with a mechanistically novel, three-parameter design. The code was correct and the strategy traded densely (45 entries correctly clustered around month boundaries), but its entire profit came from 2021, with every subsequent full year flat-to-negative and rolling Sharpe deeply negative through 2025. Critically the decay was regime-independent — 2024 was a BNB bull year with the filter active and the anomaly still lost money — proving the premise itself had faded. The analyst abandoned it before optimization, judging that parameter tuning could only fit the 2021 window and would fail forward validation, the same decayed-calendar-anomaly signature as the abandoned AdaWeekendRally sibling.

Outcome Summary

A calendar/seasonal anomaly can decay outright rather than merely under bad regimes; once the edge is confined to one historical sub-period and stays negative in-regime, optimization cannot resurrect a dead premise — abandon before spending compute.

Outcome Summary

It was abandoned at the pre-optimization backtest-review gate (verdict: abandon) because the turn-of-month edge had already demonstrably decayed: the gains were confined to 2021, the decay was regime-independent (2024 was a bull year with the SMA filter active yet still lost 2.7%), and the base Sharpe CI already straddled zero, so optimization could only curve-fit the calendar window to 2021 and would fail walk-forward/holdout.

Outcome Summary

A long-only BNBUSDT daily Turn-of-Month calendar anomaly (Lakonishok-Smidt/Ariel), buying in the last-few/first-few trading days around each month boundary when price was above its 200-day SMA bull-regime filter — a novel pure-time signal using only three core parameters.

Outcome Summary

Over ~6.3 years it took 45 long trades with a 46.7% win rate, profit factor 1.28, a +9.86% total return, Sharpe 0.69 (CI [-1.33, 2.33]), and a 15.6% max drawdown. The entire positive return was front-loaded into 2021 (+21.7%), with 2022–2025 flat-to-negative (2022 +0.7%, 2023 -1.2%, 2024 -2.7%, 2025 -6.5%) and rolling Sharpe running -3 to -5 through 2025.
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.