Pull to refresh

Comments 4

Алгоритм скажет: «У меня есть сто исторических примеров». На самом деле у него может быть три события, каждое из которых породило несколько десятков перекрывающихся окон.

Поэтому оценка алгоритма должна в себя включать оценку точек входа и выхода.

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

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

Меняешь один параметр и прогоняешь весь тест заново.

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

В конце получаешь многомерную матрицу из наборов параметров и конечных результатов.

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

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

Выбираешь те участки, где видна наибольшая прибыль. Вот она - прибыль!..

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

А после этого ты увидишь, что не только Level-1, но даже Level-2 тики - это только для разводки умных людей на деньги.

Хотя бы попробуй примотреться к Level-3, и там увидишь... как бы так поцаетастее выразиться... окно в многомерную Вселенную, где обитают монстры, стемящиеся тебя сожрать, но теперь ты их хотя бы видишь и знаешь их приёмы и повсеместный обман.

Я от Level-1 откпзался, когда понял, что он - ничто иное, как 90% обмана.

На самый крайний расклад, если тебе Level-3 тики недоступны, примотрись к VWAP, но не к той туфте, которую тебе провайдеры впаривают, а строй свои графики на основе Level-1 тиков с короткими участками расчётов.

Удачи!

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

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

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

Поэтому меня интересует не вершина прибыли, а широкий устойчивый участок, где результат не разваливается от небольшого изменения параметров. После выбора параметры фиксируются и проверяются на следующих, не участвовавших в подборе данных. Иначе многомерный график получится красивым, но описывать он будет преимущественно прошлое.

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

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

И отдельно уточню: что именно вы называете Level-3 — Market by Order с жизненным циклом отдельных заявок и положением в очереди или конкретный брокерский формат глубины стакана? Если речь о MBO, то это интересный отдельный слой для модели исполнения и order-flow-признаков. Но он всё равно должен доказать дополнительную ценность вне выборки и после издержек.

За развёрнутый комментарий спасибо.

А, ну, значит, мы практически на одной волне.

То, в чём ты меня покритиковал, я просто не договлрил (не очень люблю слишком длинно писать), а мои советы тебе и так известны.

Я бы понаставил тебе плюсов, но - извини: меня школота до нуля опустила. Кармы нет. 🙂

Самое важное: не рекомендую критиковать МВО до того, как построишь свою собственную full order book from raw ticks. Там буквально ощущение, что раньше был слеп, а теперь наконец-прозрел.

Я ни в коем случае не пытаюсь перед тобой выдклываться. Мне это не нужно. И вообще я пишу под псевдонимом. Я искренне пытаюсь помочь, без какой-либо для себя выгоды, потому что я вижу в том, что ты подробно описал в статье и а ответе на мой комментарий, что ты сейчас в точности там, где я был некоторое время назад. Почти идеально точно. Поэтому и рекомендую - от всей души и без всякой подлой затеи - потратить некоторое время на МВО, а именно - на своё собственное построение full order book. Это то, где я сейчас, после технического анплиза. Приходят тики, я думаю, на какую страницу книги их записать, и вижу, что - по моей статистике - от 18% аж до 35% всех ордеров - голимый обман. Лэвэл-2 это скроет. Лэвэл-1 об этом вообще не знает. Вопрос только в том, как эффективно вскрыть менее очевидные обманы, и что делать с чистым остатком.

Просто совет.

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

Но с формулировкой про 18–35% «обмана» у меня возникает главный вопрос: что именно считается обманом?

Если речь просто о заявках, которые были быстро отменены или переставлены, этого недостаточно. Заявку могут снять из-за изменения цены, риска, очереди, частичного исполнения или появления новой информации. В публичном потоке видны действия, но не намерение участника в момент размещения заявки.

Поэтому я бы не делил события сразу на «честные» и «обманные». Скорее выделял бы наблюдаемые классы поведения:

— короткоживущая ликвидность;
— борьба за положение в очереди;
— многократное снятие и восстановление объёма;
— асимметричные крупные заявки;
— отмена после исполнения заявки на противоположной стороне;
— повторяющиеся spoof-like последовательности.

А уже затем проверял бы, дают ли эти признаки дополнительную прогнозную ценность. Иначе есть риск сначала назвать треть рынка обманом, а потом построить алгоритм, который хорошо распознаёт наше собственное определение обмана, но ничего не зарабатывает.

Самостоятельное восстановление книги мне интересно как отдельный исследовательский слой. Но там сначала нужно доказать корректность самого replay: последовательность сообщений, восстановление после пропусков, add/modify/cancel/execute, частичные исполнения, смены сессий и сверка итогового состояния. Ошибка в одном событии дальше искажает всю книгу.

Для нашей текущей задачи я бы проверял MBO не как замену поиску исторических паттернов, а как дополнительный набор микроструктурных признаков. Базовая версия работает без них, затем добавляется order-flow-слой и сравнивается результат на последовательных OOS-участках после издержек.

Поэтому направление принимаю. Но особенно интересно, как именно у вас получены эти 18–35%. Это доля отменённых заявок, определённая последовательность событий, отмена после сделки на противоположной стороне или собственная классификация? И о каком конкретно рынке и фиде идёт речь?

Sign up to leave a comment.

Articles