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

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

toptraders · кросс-лаборатория v2 · отчёт алгоритма

momcs 1d, лонг и шорт — алгоритм фазы «бычка»

xl-momcs-1d-ls-2 · бар 1d · окно 2020-09-01 — 2026-08-13 · инструментов 547 · книга 1 млн $

Плечо 1.0: потерять больше счёта нельзя. Хеджа нет. Шорт есть, и он платит фандинг в свою сторону.

итого
+103%
годовых
+12.7%
просадка
-33.6%
sharpe
0.59
сделок
4340
прибыльных
50%

1. Что оно делает

2. Два ограничения

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

Обе стороны сразу по одному инструменту не открываются; доля счёта держит одну позицию за раз. Шорт платит фандинг в свою сторону, и это учтено в каждом числе выше.

Кривая капитала

1001251501752002020-09-012026-08-13счёт, % от стартаправило

3. Контроли: с чем сравнивали

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

с чем сравниваем прогонов правило медиана контроля p95 контроля вывод
правило +103%
случайный вход 200 +103% +15% +44% бьёт p95
перестановка имён 200 +103% +1% +9% бьёт p95
перестановка фильтра +103% у правила нет фильтра — переставлять нечего
случайный вход фазы «бычка» 60 +146% +37% +69% не бьёт p95
альт-индекс: держать весь список +103% -21% правило впереди
BTC купил-держит +103% +432% обходит правило

У каждого контроля напечатано число прогонов: p95 без своего n — это не полоса, а одно число неизвестной точности. Перестановка имён берёт ОДНУ фиксированную перестановку на прогон и держит её всё окно; перетасовка на каждом баре платила бы оборот, которого настоящая книга не платит, и занижала бы контроль.

случайный вход
правило +103%p95 +44%-3%+103%
перестановка имён
правило +103%p95 +9%-6%+103%

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

4. Чем оно торговало

Список инструментов собран поквартально по долларовому обороту, без отбора по дожившим: имя, бывшее большим и умершее, торгуется тем кварталом, в котором стояло в верхушке. Измерено имён: 547. Сделок в окне: 4340, сделок, начатых до окна: 0.

Не торговалось никогда: имена, которыми деск не торгует, плечевые токены и всё, что за швом ряда — за швом стоит другой инструмент.

5. Аудит тайминга

Вердикт: clean. Проверено сделок: 100 из 4340. Расхождений: 0.

Чистый аудит доказывает отсутствие заглядывания вперёд и НИЧЕГО БОЛЬШЕ. Он не говорит, что правило работает, что оно продолжит работать и что издержки посчитаны верно.

DSR и число проб

величина число
DSR 0.007
порог 0.50
проб всего 12109
sharpe годовой 0.59
ожидаемый максимум шума 1.60

Остальные метрики

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

величина число
sortino 0.87
calmar 0.38
pf 1.09
recovery 3.07
застой, дней 1073
время в рынке +33%
медиана сделки +0.1%
медиана сделки в R 0.013
средняя сделка в R 0.205
выигрыш к убытку 1.12
убытков подряд 13
лучший месяц +22.3%
худший месяц -17.1%
положительных месяцев +51%
доля лучших трёх сделок +26.8%
итого без лучших трёх +4293%

Распределение сделок в R

R — сколько единиц риска принесла закрытая сделка. В паспорте лежат процентили, а не корзины, поэтому здесь стоят они: гистограмма по пяти числам дорисовала бы форму, которой никто не мерил.

точка распределения R
p5 -6.27
p25 -2.49
p50 0.01
p75 2.25
p95 7.24
худшая сделка -25.37
средний убыток -3.11
средний выигрыш 3.49
лучшая сделка 119.34

Правила целиком

Поле и что оно значит. Порогов, окон и множителей здесь нет: по ним алгоритм повторяется, и деск их не печатает. Бот читает их из внутреннего файла на своей машине.

поле что это значит
таймфрейм бар 1d; решение на закрытии бара, исполнение на открытии следующего
вход моментум сечения: имя оказалось в верхней (или нижней) части списка инструментов по доходности за окно
сторона лонг и шорт
фильтр нет
выход по времени: позиция держится фиксированное число баров и закрывается на открытии следующего
проверка выхода счётчик баров от входа
исполнение выхода закрытие бара выхода — движок наливает по нему, а не по следующему открытию
стоп внутри бара нет: срабатывание считается по закрытию — иначе тест увидел бы цену, которой в момент решения не было
трейлинг нет
усреднение нет
% позиции от депозита равные доли: счёт делится на список инструментов, каждая доля компаундит внутри себя
позиций одновременно по одной на инструмент списка; доля держит одну позицию за раз
список инструментов корзина таймфрейма: имена ранжируются по долларовому обороту поквартально, состав квартала известен на его первый день; измерено имён: 547
исключено имена, которыми деск не торгует; плечевые токены; ряд делится по швам, и доходность через шов не считается никогда
окно и его причина 2020-09-01 — 2026-08-13; окно у каждого бара своё и печатается, а не обобщается
издержки 0.1% на сторону: перп-тейкер и проскальзывание; фандинг начисляется всегда, лонг платит, шорт получает
плечо / шорт / хедж 1.0 / есть / нет
движок тот же файл считает и бэктест, и книгу бота

Доходность по годам

Годы посчитаны из тех же месяцев, что и сетка ниже. Неполный год подписан диапазоном месяцев. У контролей помесячного ряда в артефакте нет — напечатан только их итог окна, и придумывать им годовые числа деск не станет.

год итого
2020 (09-12) +10.7%
2021 +40.9%
2022 -6.6%
2023 +14.3%
2024 +1.2%
2025 +23.8%
2026 (01-08) -2.6%
BTC купил-держит за всё окно +431.9%
альт-индекс за всё окно -20.8%

Форма результата

Четыре фигуры ниже построены из тех же опубликованных величин, что и таблицы: помесячная сетка, просадка, sharpe окном и сделки в R. Настроек правила в них нет.

По месяцам

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

Знак месяца — цветом, величина — насыщенностью.

Просадка во времени

-30%-20%-10%0%2020-09-012026-08-13

Сколько книга провела ниже своего максимума. Это честнее одного числа худшей просадки: видно и глубину, и длину.

Sharpe скользящим окном в шесть месяцев

-5052021-022026-08

Окно одно на все отчёты деска. Видно, куплен ли sharpe одним удачным отрезком.

Сделки в единицах риска

p5-6.27p25-2.49p500.01p752.25p957.24пять измеренных процентилей, не гистограмма

Половины окна

отрезок итого годовых просадка sharpe сделок прибыльных
2020-09-01..2023-08-23 +49% +14.4% -33.3% 0.60 2003 +51%
2023-08-23..2026-08-13 +36% +11.0% -23.0% 0.57 2337 +49%
часть подбора +72% 0.61
часть проверки +18% 0.53

Фазы цикла

Алгоритм не обязан работать во всех фазах. Лучшая фаза стоит в заголовке; вне своей фазы стата печатается тоже, и просадка вне фазы — часть паспорта, а не примечание.

фаза дней доля времени итого годовых sharpe просадка
бычка 1164 54% +145.7% +32.6% 1.12 -25.8%
медвежка 605 28% -9.7% -5.9% -0.13 -33.3%
аккумуляция 403 19% -8.4% -7.7% -0.28 -21.1%

Издержки и фандинг

прогон итого sharpe разница с базой
x0 от тарифа +111% 0.61 +7.7%
x2 от тарифа +96% 0.57 -7.3%
x3 от тарифа +89% 0.54 -14.2%
без фандинга +93% 0.55 +10.6%

На 1 млн $

итого
+103%
sharpe
0.59
заявок не влезло
13
0%20%40%60%80%100%250 тыс. $500 тыс. $1 млн $2 млн $4 млн $sharpeитого% от бумажного прогона
книга итого sharpe просадка сделок заявок не влезло доля пропусков
на бумаге +103% 0.59 -33.6% 4340
250 тыс. $ +103% 0.59 -33.6% 4330 13 0%
500 тыс. $ +103% 0.59 -33.6% 4330 13 0%
1 млн $ +103% 0.59 -33.6% 4330 13 0%
2 млн $ +103% 0.59 -33.6% 4330 13 0%
4 млн $ +103% 0.59 -33.6% 4330 13 0%
модель исполнения: грубая модель: участие = номинал / долларовый оборот бара, добавка к издержке на сторону линейна по участию, заявка выше потолка доли бара не исполняется. Точная модель требует стакана, которого у деска нет

6. Что это оставляет

КОНТРОЛЬ НЕ ПРОЙДЕН: dsr, sanity, sharpe

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

все числа — из этого файла и из прогона, которым он собран. Отрицательный результат публикуется так же, как выигравший