Впервые на top traders desk?

Деск сам считает рынок и публикует решения рядом со счётом, который по ним торгует. Короткий маршрут:

toptraders · кросс-лаборатория v2

Кросс-лаборатория v2: что осталось от перебора

перебрано проб: 29202 · финалистов в таблице: 10 · окно 2020-09-01 — 2026-08-13 · издержки 0.1% на сторону · книга 1 млн $

Мы перебрали 29 202 варианта торговых правил. Ни один не доказал, что зарабатывает не случайно. Ниже написано, как мы это проверяли и что нашли по дороге.

Правило здесь — это пара: чем входим и чем выходим. Мы взяли список входов, список выходов и список фильтров, перемножили их и прогнали каждый вариант на четырёх барах, от дневного до пятнадцатиминутного. Список инструментов собран без отбора по дожившим: имена, снятые с биржи, в нём остались.

В таблице ниже десять лучших. Проигравшие из неё не убраны и помечены поимённо: правило, которое не подтвердилось, мы печатаем так же, как то, которое сработало.

Ниже, отдельным разделом, стоит HyperDelta v.1 — правило, которое пришло к нам со стороны, а не из перебора. Устроено оно иначе, поэтому в общую таблицу мы его не ставим: у него свой раздел и свой вердикт.

Вердикт: проверку прошли 0 правил из 10. Ни одно из того, что ниже, мы не считаем доказанным. Плюс в процентах тут значит только одно: если перебрать много правил, какие-то выйдут в плюс сами собой.
как мы выбирали эти десять: жёсткие условия: правило бьёт p95 случайного входа И p95 перестановки имён, DSR выше порога, аудит тайминга чистый, медианы двух нулей одного порядка, дневной sharpe проверки не ниже 1. Разнообразие: не больше двух на семейство и попарная корреляция дневных приращений ниже порога; неизмеренная корреляция считается корреляцией

Кривые капитала

Как рос бы счёт, если торговать по правилу. Каждая линия начинается со 100: у разных баров разные окна, и складывать их деньгами нельзя. Наведите курсор — увидите все линии на эту дату. Клик по имени в списке убирает линию.

1002003004002020-09-012026-08-13счёт, % от стартаxl-momcs-1d-ls-2xl-nearhigh-4h-lsxl-macross-1d-lsxl-volsurge-1d-ls

Метрики рядом

Десять правил в одной таблице. Клик по заголовку сортирует её. Последняя колонка отвечает на главный вопрос: доказало ли правило, что оно не случайность. Деньги и место в панели получают только те, кто доказал.

место алгоритм итого годовых просадка sharpe sortino calmar pf recovery застой, дней время в рынке сделок прибыльных sharpe проверочной части DSR ёмкость контроли
1 xl-momcs-1d-ls-2 +103% +12.7% -33.6% 0.59 0.87 0.38 1.09 3.07 1073 +33% 4340 +50% 0.53 0.01 1.00 контроль не пройден: DSR, здравость контролей, sharpe
2 xl-smacross-4h-ls +47% +6.7% -15.5% 0.62 0.92 0.43 1.29 3.02 767 +14% 7112 +53% 0.20 0.01 1.00 контроль не пройден: DSR, sharpe
3 xl-nearhigh-4h-ls +76% +10.0% -34.6% 0.56 0.83 0.29 1.27 2.20 1426 +13% 9718 +48% 0.00 0.00 1.00 контроль не пройден: DSR, sharpe
4 xl-macross-1d-ls +128% +14.9% -35.4% 0.56 0.86 0.42 1.26 3.61 962 +30% 6223 +35% 0.03 0.01 1.00 контроль не пройден: DSR, sharpe
5 xl-donchian-1d-l +36% +5.3% -26.9% 0.46 0.64 0.20 1.72 1.34 1816 +5% 2217 +49% -0.12 0.00 1.00 контроль не пройден: DSR, sharpe
6 xl-donchian-4h-l +33% +4.9% -23.7% 0.47 0.69 0.21 1.39 1.40 1723 +5% 3774 +47% -0.15 0.00 1.00 контроль не пройден: DSR, sharpe
7 xl-momts-4h-ls +72% +9.5% -59.7% 0.45 0.66 0.16 1.19 1.20 1033 +30% 9029 +39% -0.44 0.00 1.00 контроль не пройден: DSR, sharpe
8 xl-fundingfade-15m-l-2 +1% +0.3% -2.2% 0.29 0.52 0.12 1.14 0.60 938 +0% 1832 +47% -0.45 0.00 1.00 контроль не пройден: DSR, sharpe
9 xl-volsurge-1d-l +48% +6.8% -67.5% 0.37 0.51 0.10 1.68 0.71 1739 +25% 3255 +44% -0.56 0.00 1.00 контроль не пройден: DSR, sharpe
10 xl-volsurge-1d-ls +106% +12.9% -55.8% 0.54 0.76 0.23 1.25 1.90 962 +33% 4289 +47% -0.63 0.00 1.00 контроль не пройден: DSR, sharpe

Что каждое из них делает

Одна строка на правило: на чём оно входит, на каком баре работает и в какой фазе рынка живёт.

алгоритм семейство бар сторона фильтр фаза цикла
xl-momcs-1d-ls-2 momcs 1d лонг и шорт нет алгоритм фазы «бычка»
xl-smacross-4h-ls smacross 4h лонг и шорт есть всефазный
xl-nearhigh-4h-ls nearhigh 4h лонг и шорт есть алгоритм фазы «бычка»
xl-macross-1d-ls macross 1d лонг и шорт нет алгоритм фазы «бычка»
xl-donchian-1d-l donchian 1d только лонг есть алгоритм фазы «бычка»
xl-donchian-4h-l donchian 4h только лонг есть алгоритм фазы «бычка»
xl-momts-4h-ls momts 4h лонг и шорт есть алгоритм фазы «бычка»
xl-fundingfade-15m-l-2 fundingfade 15m только лонг есть алгоритм фазы «аккумуляция»
xl-volsurge-1d-l volsurge 1d только лонг есть алгоритм фазы «бычка»
xl-volsurge-1d-ls volsurge 1d лонг и шорт нет алгоритм фазы «бычка»

Sharpe против просадки

Чем выше точка, тем ровнее доход; чем правее, тем глубже правило проседало. Хорошее место — левый верх. Размер кружка говорит, сколько от бумажного sharpe останется, если торговать этим правилом на большие деньги. Номер внутри — место в таблице выше, цвет закреплён за правилом и от прогона к прогону не меняется.

00.20.40.60204060просадка, %sharpe12345678910

Доходность по месяцам

Один месяц — одна клетка. Зелёная клетка — месяц в плюс, красная — в минус; чем ярче, тем больше. Правило выбирается списком, число видно при наведении.

01020304050607080910111220202021+15+122022+18-17-1620232024+222025+142026

Не все правила работают на всём рынке

Рынок бывает в трёх состояниях: растёт, падает и стоит на месте. Мы разметили окно этими тремя состояниями по одной формуле и посчитали каждое правило в каждом из них отдельно. Одна строка — одно семейство правил.

Колонка «в своей фазе» — как правило работает там, где ему хорошо. Колонка «вне её» — то же самое в остальное время. Мы печатаем обе: правило, показывающее только свою фазу, прячет половину окна.

семейство класс что оно делает лучшая фаза sharpe в своей фазе sharpe вне её правил в замере
pullback трендовые в растущем рынке дождаться короткого отката и купить его аккумуляция 1.23 -0.15 6
smacross трендовые цена пересекла одно длинное среднее, иногда с проверкой наклона аккумуляция 1.09 0.11 4
rsimr контртрендовые индекс перекупленности упал низко — покупаем отскок бычка 1.08 0.11 6
fundingfade контртрендовые ставка фандинга ушла в крайность — встаём против толпы аккумуляция 0.91 0.06 4
macross трендовые быстрое среднее пересекло медленное — самое старое трендовое правило бычка 0.91 0.27 3
nearhigh трендовые цена вплотную к многомесячному максимуму — покупаем силу, а не пробой бычка 0.90 -0.88 4
donchian трендовые цена вышла за максимум последних N баров — входим в ту же сторону бычка 0.87 -0.20 3
supertrend трендовые линия по размаху цены переворачивается — сторона меняется вместе с ней аккумуляция 0.84 0.44 4
momcs кросс-секционные сравнить все имена между собой и взять верхние против нижних бычка 0.82 -0.21 2 (мало)
volsurge событийные объём резко выше обычного — идём за движением или против него бычка 0.81 -0.08 2 (мало)
bbfade контртрендовые цена ушла далеко от своего среднего — ставим на возврат медвежка 0.72 -0.42 2 (мало)
gann трендовые максимумы и минимумы короткого окна дают лесенку — идём за лесенкой бычка 0.67 -0.01 2 (мало)
momts трендовые доходность самого инструмента за последние K баров вышла за полосу бычка 0.67 0.01 3
squeeze событийные размах цены сжался до минимума — ждём выхода из сжатия бычка 0.51 0.15 4

Замерено 14 семейств из 15. Не попало сюда: tom — до проверки фаз ни одно его правило не дошло, и выдумывать за него строку мы не будем.

Воронка отбора

Сколько правил вошло на каждый шаг, сколько отсеялось и почему. Мы печатаем это целиком: перебор, который не говорит, сколько правил он выбросил, ничем не отличается от перебора, который ничего не искал.

15m: имён отранжировано1 01615m: ниже порога оборота34215m: выше порога, но не в корзине24715m: не измерен ни разу15515m: в корзине2721d: имён отранжировано1 0161d: ниже порога оборота1001d: выше порога, но не в корзине1511d: не измерен ни разу1541d: в корзине6111h: имён отранжировано1 0161h: ниже порога оборота1781h: выше порога, но не в корзине2681h: не измерен ни разу1551h: в корзине4154h: имён отранжировано1 0164h: ниже порога оборота1004h: выше порога, но не в корзине2144h: не измерен ни разу1544h: в корзине548шаг A: killed:sharpe ниже порога19 470шаг A: killed:сделок мало30шаг A: alive24шаг B: killed:sharpe ниже порога7 869шаг B: killed:сделок мало147шаг B: alive124шаг C: проба593шаг C: killed:sharpe ниже порога113шаг C: alive12шаг C: killed:сделок мало2кандидатов заведено25кандидатов с контролями25кандидатов выпало0DSR: не прошёл49перестановка имён: не прошёл9перестановка имён: прошёл40случайный вход: не прошёл5случайный вход: прошёл44здравость контролей: не прошёл2здравость контролей: прошёл47аудит тайминга: прошёл49ёмкость измерена25ёмкость без отношения0

Сколько правил мы попробовали всего

Чем больше правил перебрать, тем выше шанс, что какое-то выйдет в плюс просто так. Поэтому мы считаем каждую пробу и делим на неё. Занизить это число — единственная ошибка счёта, которая делает результат красивее, поэтому мы печатаем его целиком.

что считаем проб
проб всего 29202
из них измерено 28566
снято перечислителем 636
проб до этого прогона 182
шаг A 19524
шаг B 8140
шаг C 720

Кандидаты без строки

кандидат бар почему
xl-bbfade-1h-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-donchian-1d-l-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-fundingfade-1d-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-fundingfade-4h-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-gann-1d-ls контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-macross-1d-ls-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-momts-1d-ls-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-nearhigh-1d-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-nearhigh-1d-l-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-pullback-1d-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-pullback-1d-l-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-pullback-4h-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-pullback-4h-l-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-rsimr-1d-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-rsimr-1d-l-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-rsimr-1h-l контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-rsimr-1h-l-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-smacross-1d-ls контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-smacross-1d-ls-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-squeeze-1d-ls контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-squeeze-1d-ls-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-squeeze-4h-ls-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-supertrend-1d-ls контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
xl-supertrend-1d-ls-2 контроли есть, а в списке кандидатов имени нет: список пересобран после ступени D
строки без пройденных контролей остаются в таблице и помечены поимённо: отрицательный результат публикуется так же, как выигравший, а счёт и админку получают только прошедшие

HyperDelta v.1 — заведён владельцем, вне перебора

Правило сравнивает имена корзины между собой по доходности за одно и то же прошедшее окно: верхушка списка идёт в лонг, хвост — в шорт, равными долями. Инструменты — перпы Binance, пятнадцать штук одновременно; сумма долей нулевая, то есть книга не стоит ни за рост, ни за падение рынка целиком, а объём заявок вдвое больше счёта. Корзина пересобирается через фиксированное число баров 4h; между пересборками веса не трогаются. Длина шага, окно момента и размер ноги публично не печатаются — по ним правило повторяется, и они лежат во внутреннем отчёте.

В таблицу десяти он не поставлен, и это не оговорка. Финалисты перебора держат по одной позиции на долю счёта и не открывают обе стороны сразу; здесь книга двусторонняя, с нулевой суммой долей. Строка рядом с ними сравнивала бы разные вещи по одинаковым колонкам. Само правило деск не искал: его завёл владелец по чужому бэктесту, а движок деска пересчитал на своих данных.

Вердикт: контроль не пройден: sharpe. Ни одна плюсовая цифра ниже не считается деском доказанной. Счёт на бумаге правило всё равно получает — так решил владелец, и вердикт напечатан рядом со счётом, а не вместо него.

Что намерил деск

Две линии инструментов и две издержки. Первая линия — пятнадцать имён владельца: список знает, кто дожил до 2026 года, поэтому он ПОТОЛОК, а не оценка. Вторая берёт первые пятнадцать по обороту на первый день каждого квартала, то есть состав известен на дату решения и будущего не знает. Окна у линий разные и напечатаны в своей колонке: подпись обязана следовать за данными.

что измерено издержки на сторону окно итого годовых просадка sharpe
15 имён владельца (только дожившие), издержки деска 0.1% 2022-03-16 — 2026-08-13 +78% +13.9% -23.6% 0.73
15 имён владельца (только дожившие), издержки источника 0.065% 2022-03-16 — 2026-08-13 +128% +20.6% -20.9% 1.00
топ-15 по обороту на дату решения, издержки деска 0.1% 2020-09-01 — 2026-08-13 +171% +18.3% -48.2% 0.69
топ-15 по обороту на дату решения, издержки источника 0.065% 2020-09-01 — 2026-08-13 +275% +24.9% -45.8% 0.87
Только дожившие: первая линия собрана из имён, живых в 2026 году, и проиграть на снятии с торгов она не может по устройству. Вторая линия этой поблажки не имеет, и её просадка вдвое глубже — разница между строками и есть цена такого списка.

Окно источника и его заявка

Заявка пришла без метода и без прогона, поэтому её нельзя ни воспроизвести, ни опровергнуть — она печатается как чужое число и ни в одну метрику деска не входит. Рядом стоит наш пересчёт того же правила на ЕГО окне: сначала нашими издержками, потом его, потом без издержек вовсе. Последняя строка ставит верхнюю границу тому, сколько разрыва можно списать на комиссию; остаток нашими данными не отвечается, потому что состав корзины и источник цен у него нам неизвестны.

строка издержки на сторону окно итого годовых просадка sharpe
15 имён владельца (только дожившие), издержки деска 0.1% 2024-03-01 — 2026-08-14 +19% +7.3% -22.0% 0.45
15 имён владельца (только дожившие), издержки источника 0.065% 2024-03-01 — 2026-08-14 +37% +13.7% -16.4% 0.74
15 имён владельца (только дожившие), без издержек вовсе 0% 2024-03-01 — 2026-08-14 +79% +26.8% -13.7% 1.28
топ-15 по обороту на дату решения, издержки деска 0.1% 2024-03-01 — 2026-08-14 +31% +11.6% -43.0% 0.49
топ-15 по обороту на дату решения, издержки источника 0.065% 2024-03-01 — 2026-08-14 +50% +18.0% -41.2% 0.66
топ-15 по обороту на дату решения, без издержек вовсе 0% 2024-03-01 — 2026-08-14 +94% +30.9% -37.7% 0.97
заявка источника — деском НЕ подтверждена 0.065% 2024-03-01 — 2026-08-14 +434% -21.7% 2.00
Кто заявил: truenorth (внешний бэктест, метода не раскрыта)

Фандинг

Книга перповая и платит ставку в обе стороны: половина имён платит, половина получает. У корзины с нулевой суммой долей это слагаемое того же порядка, что доход, поэтому оно вынесено строкой, а не спрятано внутри итога. Минус означает, что книга за фандинг платит.

что считаем значение
фандинг в составе итога -2.7%
издержки в составе итога +71.7%
итого, если фандинг не начислять +82.7%
sharpe, если фандинг не начислять 0.76
разница итога -5.0%

Контроли

Каждая полоса — двести случайных прогонов по фиксированным зёрнам, и сравнение идёт с p95 полосы, а не с её серединой. Первая полоса спрашивает, выбирает ли момент ИМЕНА; вторая — несёт ли информацию знак момента или только его величина. Третья переставляет ранги на каждом пересборе и платит кратно больший оборот, поэтому она меряет частоту торговли, а не ранг, и в вердикт НЕ входит. Ниже — два внешних ориентира: та же корзина, купленная целиком, и BTC.

с чем сравниваем прогонов медиана итого p95 итого p95 sharpe правило выше
имя торгует чужой момент 200 -57.3% -18.6% -0.19 да
знак момента перевёрнут половине имён 200 -51.5% +32.6% 0.44 да
ранги переставлены на каждом ребалансе 200 -95.9% -92.9% -3.42 да
вся корзина 1/N в лонг -24.3% 0.26 да
BTC куплен и удержан +55.1% 0.45 да

Поправка на число проб

Правило пришло готовым: деск не перебирал ни порогов, ни окон, ни вариантов, поэтому знаменатель проб здесь равен единице, и это сказано вслух. Такая поправка МЯГЧЕ любой поправки финалиста перебора — там знаменатель считает всю серию. Сравнивать эти две величины между собой поэтому нельзя.

что считаем значение
DSR 0.94
порог 0.50
проб 1
дней в измерении 1611