Research
49 материал(ов) по 11 итерациям исследования
Новый production trigger по образцу FB MTF v7 — но на M5 timeframe для intraday mean-reversion. Полная R&D-итерация end-to-end за ~8ч: новая таблица candles_5m (7M+ M5 bars), detector ta/vwap_rev_mtf.py (multi-bar VWAP deviation + return), walk-forward Phase 1 (z_threshold sweep, winner σ_vw z=1.5), Phase 2 (dev_bars=2-3), Stage 2 full sweep (1500 cells), production integration (scan.py emit + catalog_matcher + UI checkbox). CRITICAL FINDING — structural SHORT-bias: 5/6 OOS SHORT cells passing acceptance, ВСЕ LONG uniformly negative. Top OOS cell: SHORT × HYBRID_DOWN × TP_RR=1.0 × window=72 × trail=0.75 → WR=64.4% avgR=+0.675R n=865 — значительно сильнее FB MTF best (~+0.3R). VWAP_REV winners ОТЛИЧАЮТСЯ от FB MTF: trail=0.5-1.0 (FB=0.25), window=72 M5 bars=6h (FB=24 H1 bars).
1 материал(ов)
Калибровка ключевого exit-параметра trail_atr (узкий trailing-stop после касания TP) через двухэтапный walk-forward sweep. Probe на 12 ячейках tier × dir × regime подтвердил гипотезу что trail=0.25 побеждает прежнее значение 0.5. Full sweep расширил на полное пространство — 3000 ячеек (2 tier × 2 dir × 6 regime × 5 TP_RR × 5 windows × 5 trail) на 7 годовых окнах 2019-2026: trail=0.25 — monotonic winner в 119/120 ячеек tier × dir × regime × TP_RR. Единственное исключение — cell blue/LONG/HYBRID_DOWN/TP=3R, которая структурно убыточна на всех window × trail комбинациях (FB-LONG в bear-режиме с TP=3R не работает по дизайну паттерна). Production TRAIL_ATR синхронизирован 0.5 → 0.25, прибавка +0.05-0.08 R на сделку во всех режимах и направлениях.
1 материал(ов)
Полный rebuild каталога — переход от v6 cherry-pick noise к validated trigger-by-trigger подходу. FALSE_BREAKOUT MTF: multi-bar pattern (1-3 баров closed beyond level → return bar inside) с trail-after-TP 0.5×ATR. Walk-forward 2019-2026 на 7 годовых окнах, touch-based exits, TP_RR=1.0. Validated на 20 blue chips (~1044 SHORT trades, AvgR +0.23R, Cons 7/7) + 116 Tier-2 mid-caps (~3843 SHORT, AvgR +0.20R, Sum +1768%). 4 подкаталога по universe × direction с mode-aware regime gating. Отвергнуто: TP_RR > 1.0 (outlier overfit), close-based exits (degradation все периоды), 1-bar FB (мусор детекции), trail к BE (срезает волатильность).
1 материал(ов)
Бэктест реальной торговли по каталогу v6 на ~150k синтетических триггеров (synthetic_trigger_log, 2025-01-03 → 2026-04-07). Условия: оборот ≥50M ₽, SHOCK-дни IMOEX исключены, тренд-фильтр НЕ применён (тестируем все направления, что прошли каталог). Каждый триггер сопоставлен с TOP-1 вариантом каталога по OOS E[R] (с учётом strength bucket); затем walk-forward по candles_1h до TP/SL/EXPIRED, применён round-trip friction 0.10%, EXPIRED переклассифицирован в TP/SL по знаку P&L после friction. Период разделён на IS (2025-01 → 2025-09, look-ahead bias) и OOS (2025-10 → 2026-04, чистый тест). Главная фильтрация: variant.oos_er ≥ 0.30 — без неё friction × массовые ~50% WR сделки уносят весь edge в минус. Sweep PNG показывают как меняется доход и качество при разных порогах E[R] от 0 до 0.80.
1 материал(ов)
Переход от cumulative-фильтра strength ≥ X к range-фильтру [min, max). Cumulative не ловит non-monotonic кривые E[R] по strength — например VWAP_REVERSION × Utility × Morning имеет peak edge в диапазоне [1.5, 3.0) и коллапс в [3.0, 7.0). 4 фиксированных bucket ([0, 1.5), [1.5, 3), [3, 7), [7, ∞)) с границами, выровненными по анализу v4→v5 distribution (3.0 = старый clamp). Минимум N≥50 per bucket (строже чем 30 в cumulative — узкий фильтр тоньше sample). Cell может пройти в нескольких buckets → отдельная строка per bucket. Главный вопрос: открываются ли новые combos, которые cumulative-фильтр пропускал?
1 материал(ов)
Снят hardcoded clamp strength=3.0 в ta/triggers.py — все детекторы зажимали raw-значение strength сверху на 3.0, теряя дискриминацию между «средне-сильными» и «экстремально сильными» сигналами. У FALSE_BREAKOUT 22% сигналов ровно на cap, у CLEAN_BOUNCE 38%. После uncap real max strength: FALSE_BREAKOUT до 45, CLEAN_BOUNCE до 19, BOS до 34. Replay_triggers.py перезапущен на новом коде, синтетический лог переcчитан (329k строк). STRENGTH_GRID расширен до [0..20] (13 значений). Результат: модест прирост vs v4 — большую часть edge система уже захватила в v4 благодаря cumulative-фильтру (strength≥X включает всё выше).
1 материал(ов)
Расширение T2 v3 — добавлена 7-я dimension: минимальный порог strength триггера. Для каждой ячейки (direction × variant_type × TP × SL) теперь оптимизируется лучшая комбинация (window, strength). Strength-grid: [0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]. Чистый эксперимент — все 21 (cluster × session) переоценены с нуля. Покажет, помогает ли фильтр по strength раскрыть combos, упущенные в v3.
1 материал(ов)
Переход от узкого списка 16 combos к полному обзору всего пространства (trigger × cluster × session × direction). Применение минимально-достаточных ограничений (N≥30, WR, E[R], EXPIRED, consistency, direction). Forward-looking IS/OOS split. Результат — 47 combos / 82 стратегических variants в живом каталоге.
1 материал(ов)
Валидация инвертированных combos на разделённых периодах IS/OOS. Проверка на overfit. Из 7 инвертированных — 6 STABLE, 1 OVERFIT (COMPRESSION Financial).
1 материал(ов)
Проверка гипотезы "контрариан как первичный сигнал" для 7 CONTRA-WINS combos из итерации 1. Доказательство: VWAP_REVERSION — на самом деле trend-continuation, а не mean-reversion.
8 материал(ов)
Разработка методологии оценки combo через 2D-поверхность (TP × SL) expectancy. R-multiple нормализация, hit-rate curves с baseline, time-to-target, adverse-before-favorable. Прогон на 16 combos Track 2 v2 с сравнением signal vs contrarian направлений.
18 материал(ов)