Перейти до вмісту

Переглянути оригінал

SolSpotVolumeConfirmedMomentumLong

Гіпотези

SOL Spot Volume-Confirmed Momentum, LONG-ONLY (SOLUSDT.BINANCE_SPOT, 4H — довга половина переваги на дефіцитній спотовій площадці)

Гіпотези

Точно реалізує гіпотезу: LONG половину моментуму, підтвердженого обсягом, на дефіцитній спотовій площадці. Лонг-онлі з плечем 1.0 і без залежності від фандингу — це саме правило маршрутизації для BINANCE_SPOT, тож venue_type спот є правильним вибором, а рахунок CASH ніколи не може бути змушений шортити (should_enter повертає лише BUY або None; SELL є лише скорочувальним виходом, який подає базовий шаблон). calculate_signal повертає сиру безперервну змінну рішення (моментум в одиницях ATR, дисконтований на участь) на кожному барі, а не заблоковану константу, а should_enter застосовує до неї поріг у тих же одиницях. Обидва інгредієнти походять з однієї серії 4H OHLCV, тож нічого не може розсинхронізуватися, і немає жодного додаткового джерела даних, відсутність якого могла б непомітно підмінити механізм переваги. Вартість round-trip на споті становить ~0.20% — вдвічі більше, ніж на перпетуалі — тож дизайн навмисно тримає оборот низьким: шлюз сплеску, вимога висхідного перетину та гістерезис виходу разом дають кілька десятків round trip на рік, а не сотні, тоді як підтверджена обсягом ділянка SOL 4H (4H ATR ~1.5-3% від ціни, утримувана через трейл 3-ATR) на порядок перевищує цю вартість. Перевірка частоти входів: кон'юнкція складається лише з двох умов (моментум >= 1 ATR AND обсяг >= 2x його 60-барної медіани), кожна з яких спрацьовує приблизно на 10-20% барів і позитивно корелює (великі рухи супроводжуються обсягом), тож на ~2200 барах 4H на рік це спрацьовує помітно частіше за поріг 10 угод/рік. Продуктивність: бари адресуються за індексом у межах обмежених вікон, трейлінговий екстремум обчислюється інкрементально за O(1), а прийнятність попереднього бару кешується, тож робота на бар постійна незалежно від накопиченої історії. Налаштуванню підлягають лише три параметри (mom_lookback, vol_surge_mult, trail_atr_mult); risk_pct та поріг входу зафіксовані, тож оптимізатор не може купити Sharpe за рахунок номіналу замість переваги.

Гіпотези

Загибель через перенавчання на пошук / статистичну незначущість (NOT fee_edge — 3.06% на угоду з великим запасом перекриває поріг для споту). Безумовний шлюз HARD PBO 0.6336 > 0.5 означає, що вибір параметрів, швидше за все, є перенавчанням, тож промоція неможлива. Робастність підтверджує шум best-of-N: deflated_sharpe 0.144 << 0.95, is_significant=false, і кандидат не виживає при контролі на рівні програми FDR (залишає 3 з 236, candidate_p 0.856) серед 225 випробувань. Обраний Sharpe (0.952) нижче порогу промоції 1.5, а верхня межа базового бектесту становить лише ~0.84, тож ще до дефляції цей моментум по одному активу на 4H знаходиться нижче рівня промоції (win_rate 0.438<0.45, DD 15.97%>10% також не досягнуто). Згідно з апріорним класом моментуму по одному активу (виживання можливе лише при Sharpe>=1.5 AND PF>=2.0; тут 0.95/1.98), і з урахуванням того, що сімейство SOL волуме-підтвердженого/моментум сімейства вже неодноразово гинуло (порт на Hyperliquid fee_edge, подвійне TF-злиття fee_edge, перенавчання імпульсу), а також плоска поверхня чутливості ~0.8-1.2 без невикористаної робастної області, ітерації немає до чого конкретного тюнити, і вона не може підняти сигнал DSR-0.144 вище шлюзів. Патерн провалу: перенавчання / високий PBO, статистично незначуще після дефляції.

Реалізація

Стратегія лонг-онлі моментуму на 4H для SOLUSDT на Binance SPOT, яка купує лише тоді, коли сплеск обсягу підтверджує рух. На кожному барі вона обчислює безперервний сигнал моментуму, зважений на участь: зміна ціни за mom_lookback барів в одиницях ATR, помножена на min(1, поточний обсяг / медіанний обсяг за попередні 60 барів / vol_surge_mult). Стратегія входить у лонг при висхідному перетині entry_thresh_atr (1.0 ATR), поки сплеск справді підтверджується (участь >= 1), а в іншому випадку залишається в кеші. Виходи структурні: розворот моментуму до -0.25 ATR (з гістерезисом, щоб пауза всередині руху не обрізала прибуткову позицію і не спричиняла другий round trip з комісіями), або трейлінг-стоп 3-ATR від найкращого закриття з моменту входу. Розмір позиції ризикує фіксованою часткою 2% капіталу відносно дистанції трейлінг-стопа, обмежений 95% номіналу капіталу, з нижньою межею кроку SOL 0.001 та мінімумом споту в $10. Без плеча, без шортів, без додаткових даних.

Результати перевірки

Підтвердіть, що базовий FactoryStrategy враховує перевизначення підкласом min_bars_required для свого шлюзу прогріву (поведінка в пісочниці вказує на це). Якщо базовий клас ігнорує перевизначення, перейменуйте, щоб уникнути плутанини; інакше залиште як є.

Результати перевірки

min_bars_required(self) перевизначає метод фреймворку, позначений статичним аналізом (base_shadow). Це виглядає навмисним — перевизначення повертає max(vol_window+2, atr_period+2, mom_lookback+2), розумний шлюз прогріву, а синтетичні тести та пісочниця обидва згенерували угоди, тож базовий шлях прогріву задовольняється коректно. Не блокує.

Результати перевірки

Пісочниця виглядає здоровою (avg_trade_return_pct 2.09%, PF 1.66, Sharpe 0.84, 228 угод, позитивна в усіх трьох режимах волатильності), тож немає негайних сумнівів щодо прибутковості. Одне, за чим слід стежити аналітику: це чисто OHLCV механізм тренду/моментуму по одному активу на споті на 4H, сімейство, яке часто гине на етапі walk-forward/holdout через погану OOS генералізацію (перенавчання), навіть коли внутрішньовибіркові метрики хороші. Дизайн похвально фіксує всі параметри, крім 3 (mom_lookback, vol_surge_mult, trail_atr_mult), і фіксує risk_pct/поріг входу, що обмежує поверхню перенавчання, але навіть невелику кількість параметрів, що налаштовуються, слід оцінювати на стабільність OOS, а не на сирий Sharpe. Information_ratio проти buy-hold -0.97 у пісочниці (з урахуванням ризику вона поступається простому утриманню SOL на укороченому вікні) — це очікувано для захисного оверлею з переходом у кеш, але аналітику слід підтвердити, що перевага на повній історії є реальною альфою, а не просто зниженою бетою.

Огляд бектесту

avg_trade_return_pct 2.09% становить приблизно 10x від ~0.20% вартості round-trip на споті і значно вище порогу 0.25% для споту — перевага на угоду з великим запасом перекриває комісії, не є вразливою до комісій.

Огляд бектесту

PF 1.66 з 228 лонг угодами за 6-річне вікно (13,295 барів) є статистично значущою вибіркою, і вона позитивна в усіх трьох режимах волатильності (Sharpe при спокійному/нормальному/стресовому режимах 0.58/1.14/1.12).

Огляд бектесту

Механізм відповідає гіпотезі: 228 лонг / 0 шорт угод на спотовому рахунку CASH, низький оборот (36.7), експозиція 25.7% — справжній оверлей моментуму з переходом у кеш, а не прихований лонг (бета 0.078, позитивна альфа 0.071).

Огляд бектесту

Немає ознак артефакту: Sharpe помірний (0.84), DD 13.6%, end_unrealized_pct 0.09 (заголовне значення є реалізованим, а не MTM паперовим), CAGR 16.5% правдоподібно.

Огляд бектесту

Навмисно невелика поверхня для налаштування (3 параметри: mom_lookback, vol_surge_mult, trail_atr_mult; вхід/вихід/ризик зафіксовані) обмежує поверхню перенавчання для оптимізатора.

Огляд бектесту

Тренд/моментум по одному активу на 4H OHLCV — це сімейство, яке часто не проходить OOS генералізацію (перенавчання) на етапі walk-forward/holdout навіть за хороших внутрішньовибіркових метрик — головний ризик, за яким слід стежити на прогоні фази 3.

Огляд бектесту

Information_ratio проти buy-hold складає -0.97: з урахуванням ризику стратегія поступається простому утриманню SOL. Це очікувано для оверлею зі зниженою бетою на кеші, але перевага на повній історії має виявитися реальною альфою, а не просто нижчою бетою — підтвердіть WF-OOS Sharpe та holdout, а не сирий прибуток.

Огляд бектесту

Відсоток виграшних угод 41.7% означає, що перевага повністю тримається на співвідношенні розмірів виграшу/програшу (avg_win 3982 проти avg_loss 1713); чутлива до налаштування trail_atr_mult.

Аналіз

Перевага на угоду з великим запасом перекриває комісії: avg_trade_return_pct 3.06% становить приблизно 15x від ~0.20% вартості round-trip на споті і значно вище порогу 0.25% для споту. Це NOT смерть через fee_edge.

Аналіз

Holdout пройшов шлюз HARD: holdout Sharpe 1.17 на 14 угодах, коефіцієнт 1.319, consistent_with_oos=true, z_vs_oos 0.208 — саме форвардне вікно було позитивним.

Аналіз

Walk-forward не позначено як перенавчання (is_overfitted=false; середній IS 1.54 -> середній OOS 0.89, коефіцієнт ~1.7 < 3.0), сітка чутливості не має обривів, і 4 з 5 заздалегідь зареєстрованих прогнозів справдилися.

Аналіз

Провал безумовного шлюзу HARD (без винятків): PBO 0.6336 > 0.5 — вибір параметрів, швидше за все, є перенавчанням на пошук. Вердикт про промоцію було б скасовано.

Аналіз

Робастність рішуче негативна: deflated_sharpe 0.144 << 0.95, is_significant=false, окрім PSR, і кандидат NOT не виживає при контролі на рівні програми FDR (Benjamini-Hochberg q=0.10 залишає 3 з 236, candidate_p 0.856). Серед 225 випробувань (70 ефективних) обраний Sharpe невідрізнимий від шуму best-of-N. Поєднання високого PBO і низького DSR — це остаточна причина відмови.

Аналіз

Оптимізований Sharpe становить лише 0.952 (< порогу 1.5), а верхня межа базового бектесту — ~0.84; win_rate 0.438 < 0.45 і max_drawdown 15.97% > 10% також не досягнуто. Ще до дефляції цей моментум по одному активу на 4H знаходиться нижче рівня промоції.

Аналіз

Апріорна оцінка класу: моментум по одному активу OHLCV нижче рівня переможців ADA (Sharpe>=1.5, PF>=2.0; тут 0.95/1.98) неодноразово гинув при дефляції, а конкретно сімейство SOL волуме-підтвердженого/моментум сімейства вже загинуло — порт на Hyperliquid (fee_edge), подвійне SOL-злиття TF (fee_edge), імпульс SOL (перенавчання). Чутливість плоска ~0.8-1.2 скрізь без невикористаної робастної області, тож ітерації немає до чого конкретного тюнити.

Аналіз

min_oos_sharpe заздалегідь зареєстрований прогноз (0.90) не справдився (0.890).

Аналіз

Benjamini-Hochberg при q=0.10 серед 236 кандидатів програми залишає 3. Кандидат, який тут не виживає, невідрізнимий від власного шуму програми, хоч би якими хорошими виглядали його індивідуальні статистики.

Підсумок результатів

SolSpotVolumeConfirmedMomentumLong-9bf78d9fb3

Підсумок результатів

SolSpotVolumeConfirmedMomentumLong запропонувала дисциплінований оверлей спотового моментуму з низьким оборотом, який купував SOL лише тоді, коли сплеск обсягу підтверджував рух, а в іншому випадку тримав кеш, з жорстко обмеженою поверхнею налаштування у 3 параметрів. Початковий бектест виглядав механічно надійним — 228 лонг/0 шорт угод, прибуток на угоду ~2.1% перекриває комісії, позитивний в усіх режимах волатильності — тож аналітик схвалив її для повної оптимізації на фазі 3. Після оптимізації показники на папері покращилися (Sharpe 0.95, PF 1.98, holdout Sharpe 1.17), але статистика робастності виявилася вирішальним аргументом проти: PBO 0.6336 порушив безумовний шлюз перенавчання, дефльований Sharpe становив лише 0.144, і стратегія не вижила при контролі на рівні програми FDR. Оскільки обраний Sharpe вже був нижче порогу промоції 1.5, поверхня чутливості була плоскою і не давала конкретного напрямку для налаштування, а сімейство моментуму SOL вже неодноразово гинуло раніше, стратегію було відхилено після однієї ітерації як кандидата, перенавченого на пошук і статистично незначущого.

Підсумок результатів

Моментум по одному активу на 4H OHLCV, який опиняється нижче рівня ~Sharpe 1.5 / PF 2.0, зазвичай гине при дефляції навіть за позитивного holdout — сильна перевага на угоду та пройдений holdout не можуть врятувати кандидата з високим PBO і низьким дефльованим Sharpe.

Підсумок результатів

Аналітик відхилив стратегію після оптимізації через провал безумовного шлюзу HARD — PBO 0.6336 > 0.5 — підкріплений дефльованим Sharpe 0.144 (<<0.95), is_significant=false, і нездатністю вижити при контролі на рівні програми FDR, що вказує на те, що обрані параметри були шумом best-of-N, а не реальною перевагою.

Підсумок результатів

Оверлей моментуму лонг-онлі на кеш-рахунку на споті SOLUSDT (4H бари), який купує SOL лише тоді, коли сплеск обсягу підтверджує спрямований моментум, а в іншому випадку залишається в кеші, з метою захопити довгу половину переваги моментуму, підтвердженого обсягом, на дорогій спотовій площадці.

Підсумок результатів

Оптимізований бектест за ~6 років (13,295 барів, 112 угод) показав загальний прибуток 134.1% з Sharpe 0.95, профіт-фактором 1.98, відсотком виграшних угод 43.8% та максимальною просадкою 16.0%; прибуток на угоду 3.06% з великим запасом перекрив ~0.20% вартості round-trip на споті, а holdout пройдено успішно (Sharpe 1.17 на 14 угодах).
Звіт про стратегію

Stratmill — це інструмент для дослідження та паперової торгівлі, а не фінансова консультація чи брокер. Результати бектестів і паперової торгівлі є гіпотетичними. Торгівля пов'язана з ризиком втрати коштів.