Проверка
Monte Carlo
Почему
Заработок на одном куске истории могут тянуть несколько сделок подряд. Уже зафиксированные сделки режут по времени на блоки и тянут с возвращением, чтобы увидеть, зарабатывает ли ещё и более слабая сборка.
Формула
Что тянут
Тянут только уже запертые сделки из пользовательской книги отрезка обнаружения. Запечатанный отрезок не тянут. У каждой сделки берут деньги, не процент.
Деньги лонга = (цена выхода − цена входа) × количество × множитель контракта − комиссия − фандинг У шорта разница цен берётся с обратным знаком
Издержки уже сидят в этих деньгах: тейкер 0.05, мейкер 0.02 (процентные пункты), проскальзывание 10 базисных пунктов, фандинг 0.0001 за 8 часов.
Длина блока
n = число сделок на отрезке обнаружения L = min( floor(n / 2) , max( 5 , floor(√n) ) )
По порядку сделок режут на неперекрывающиеся блоки длиной L, последний блок может быть короче. Порядок внутри блока сохраняют. Последний блок не пришивают обратно к первому.
Пересборка
Эти блоки тянут с возвращением Снова собирают n сделок Денежная сумма этой сборки C = сумма денег собранных n сделок
Если у того же набора сделок только поменять порядок, сумма не изменится: это не эта пересборка. Разбить каждую сделку и перемешать по одной — тоже не эта пересборка.
Прохождение
5-й процентиль этих C > 0
При n < 10 эта проверка не пройдена. Если сделок меньше 10, даже посчитанный 5-й процентиль нельзя считать прохождением. Другая длина блока L, больше или меньше, даёт другой нижний уровень.