Мой дорогой друг, если ты признался жене, что покупаешь робота, который будет таскать деньги с биржи, то этот пост — для тебя. Он поможет тебе найти ответ на важнейший вопрос, мешающий тебе спать, бухать и уверенно заниматься сексом:
Как понять, что робот — не говно???
Ты не поверишь, но понять это очень просто. Заставь продавца робота прогнать (или сам прогони)
Walk Forward Test (WFT) на достаточно длинном периоде. Суть теста понятна из картинки:
Если робот покажет достаточно ровную совокупную эквити на периодах верификации, то весьма высока вероятность, что такой робот притащит тебе бабло и ты наконец-то сможешь
купить жене сапоги. Но если робот завалит тест, то не покупай его ни под каким соусом. Не слушай стоны продавца про его тяжелую, одинокую жизнь и не ведись на сказки про разбогатевших покупателей.
Возможно, ты не найдешь ни одного продавца, способного доказать, что его роботы проходят тест WFT. В этом случае, ты просто сохранишь свои бабки — и не потратишь на ерунду и не сольешь на ней. Это — отличный результат! Расскажешь жене, какой ты молодец))
Удачи!
P.S.
Чуть позже выложу
Руководство покупателя робота, в котором изложу сценарий проведения теста WFT и анализ результатов.
С технической точки зрения, WFT — не сложный тест. Любой квалифицированный робописец реализует его за несколько часов.
Поведение инструмента (например, Сбера) со временем ощутимо меняется. Это изменение является следствием изменения состава и количества игроков. Изменения происходят медленно и заметны при сравнении годовых бэктестов. На месячных интервалах их не заметно. Поэтому, я выбираю период оптимизации достаточно короткий — 12 месяцев, а период верификации — 2 месяца.
Выбор более длинного периода оптимизации (24 или 36 или 48 месяцев) ухудшает качество эквити на периоде верификации. Но это касается только моего текущего робота. Не факт, что это будет справедливо для вашего.
А «продавать успешнее конкурентов» — это вы вообще загнули. Покупатели, в силу своей низкой квалификации, не понимают, зачем это надо. А если даже кто понимает — обмануть его продавцу раз плюнуть.
отсеивает не только брак.
ложно отрицательные срабатывания.
доказательством может быть собственная оценка, анализ алгоритма и как реализован
скажи что-то по теме, не заденешь мою личность, всё в порядке
есть функции оптимизации что работают при любой стратегии, если концепция стратегии — нельзя расчитывать на прибыль если не помогаешь другим участникам торгов
то, что ты скинул — моя оценка — не имеет нового смысла, теория дальше продвинулась, не стоит поддерживать ложные направления, ценно собственное мнение через специализацию
если еще раз напишете такую же невнятчину, буду вынужден забанить, чтобы вы не распугали приличных людей
ты сам можешь работать со смыслами — попробуй тему разложить на более простые слова-смыслы — заметишь что попытался упаковать в «новое» — не новое — чем оттягивается внимание — ничего выше среднего в этом посте не заметил
свои исследования
технически в рыночной экономике реализовано через страхование и инвестирование, на бирже выглядит как позиция защиты цены от волатильности на основе внутренней оценки, инструменты: залоги (имущество — акции\валюта\сырье в виде бумаг) и страховки — срочные контракты, ценой продажи страхуется риск, снижается автоматикой, ориентиры цен — аналитика, не требуется точного прогноза, хотя бы отслеживать что нет значительного перекоса между рыночной ценой и «справедливой»
это очень сильное утверждение.
помогал ли контрагент в нефти вытаскивая нефть на -37$ своим контрагентам остаться должным брокеру.
и является ли это желанной помощью?
сначала был накоплен обьём в слабых руках — «слабые руки» — держать поставочный контракт до дня экспирации без ресурсов принять поставку
профучастники — брокеры — прекрасно это видели и видят больше большинства на основе особой информации с биржи
только затем держатели стали в полуэкстремальной ситуации тренироваться работать со срочными контрактами — при панике постоянно фигня происходит, -37$ можно было спустить только рыночным ордером, справедливо при 0 — сжигание контрактов, как обесцененные.
это большая тема и смысл словами чрезвычайно сложно описать
этот частный случай не противоречит выгоде концепции, значить что делаешь — обязательно почти везде, а лишь говорит насколько значительная часть юзеров биржи не понимает чем занимается
на мой взгляд, биржа — прототип автоматической системы обмена и вот позиция пользы обществу через снижение волатильности рыночными инструментами — то, что доступно большинству и фундаментально понятно, поскольку строится на накоплении теоретически надёжного, а денежный поток формируется за счёт использования этих накоплений как обеспечение под страхование других участников через биржевые контракты
чем быстрее система обнулит счет игрока тем выгоднее.
вот это и оптимизируется.
польза для системы это не польза для игроков.
что за «счёта игроков», «система»
когда я написал про пользу участникам — так и есть напрямую, есть профучастники что руководствуются отсутствием этики, в такой позиции функции биржи позволяют выносить счета игроков в течение нескольких экспираций, а раз в несколько лет — забирать много миллиардные залоги участников маржин коллами
кооперация есть, но минимизируется совсем не польза.
Возможно, максимизируется боль и вред, или иная величина.
данные с биржи искажены — профучастники в большей степени влияют на котировки, чем пользователи услуг брокеров
быстро без риска без этики получить прибыль — сводить слабые руки на маржин колл, многочисленные разбирательства с брокерами по всему миру — пример что в этой индустрии этика сама не зародится — нужно внимание регулятора и общества
берется массив данных и делится на две части, на первой робот учится, на второй проверяется.
то есть проверка идет на данных на которых робот не обучался, новых и неизвестных для него.
спасибо за сообщение, согласен по типу тестов — это годно, я лишь про убеждённость что прошлые данные, как бы они не были разукрашены — автоматику не усиливают если изначально в неё не заложен смысл
считаю фундаментально порочным стратегия использовать лишь данные колебания котировок для попытки вычленить из них прибыльные сделки и не важно как проверяется — рынок псевдослучаен и надёжная прибыль может быть лишь помогая другим участникам (страхуя их позиции)
Обучение нынче делается тоже программным путем, то есть не надо самому забивать цифирки от нуля до бесконечности. Вы задаете диапазон настраиваемых параметорв, а программа тестер поочередно прогоняет исследуемого бота при всех возможных значениях из этого диапазона.
В итоге программа-тестер выдает вам точные значения настроек при которых достигнут оптимум на тех данных, на которых работает бот.
а вообще-то, не я тут программист:)
бот может быть оптимизирован на всей истории.
и подогнан.
— простейший пример ( но не единственный) — на сбере только в лонг.
и тогда на сбере это будет оверфиттинг. потому что в будущем мы не знаем что нужно только в лонг сбер торговать.
там может быть зашита в том или ином виде вся кривая.
или ее куски — в виде подогнанных на всей истории стопах например.
это тоже оверфит.
Да еще и на периоде в 3 года?
С уважением
1. Вы купили бота, который показал на часовике акуенно красивую эквити за 5 лет. Просадок почти нет. Доход — 100% годовых и более. Волшебно!
2. Запустили его.
3. Ждете бабло.
4. Бабла нет. Бот сливает.
Понимаете, почему так проиходит?
1. Зачем в готовом роботе на продажу оптимизация?
2. Что мешает сделать оптимизацию за предыдущие годы и что в таком случае покажет Ваш тест?
Любой робот (IMHO) должен эксплуатировать некую закономерность, которая постоянно (или периодически) присутствует на рынке. Если это так — оптимизация не особо и нужна. Если нет — она и не поможет.
С уважением
верификация — это применение оптимальной логики и параметров робота к следующему (будущему) историческому периоду
Коротко и понятно:
Сначала выясняем, какие действия успешны. Потом применяем это знание на практике. Если все ОК, делаем следующую итерацию. Если на всех итерациях получаем ОК, то это означает, что мы можем так же действовать в будущем — и все будет ОК.
Собственно, именно благодаря тесту WFT вы научились так замечательно ходить, говорить и заниматься сексом. Разве нет?
но, продавая черный ящик можно оверфиттить это.
если указывать что робот на нефть или на Si.
необходимо, но не достаточно.
Поэтому «правильный» робот должен хорошо работать на всех активах (в идеале) или на широком классе активов (в реале).
С уважением
конечно, я проверяю, чтобы работало на классе активов.
например если на нефти то на всех тикерах нефти.
с оверфиттингом приходится мирится, потому что фильтровать его сложно.
можно выплеснуть и альфу.
но тесты на похожем классе активов нужны.
если на похожем классе тикеров бот ведет себя непохоже, это повод разбираться почему.
У меня все активы делятся на 2 класса (третий пока не обнаружен).
На одном работают алгоритмы одного типа, на другом — другого.
Оптимизацию не использую.
Есть отдельная подстройка под конкретную площадку (не под актив). Связано это с особенностью исполнения ордеров на разных биржах. Иногда — с особенностью взимания комиссий, начисления свопов и т.д. В широком смысле можно назвать это торговыми правилами.
С уважением
наример ребейты это неэффективность.
можно показать что выставленная заявка в стакан это опцион.
опцион имеет РАЗНУЮ цену во времени.
а ребейт одинаковый.
значит есть возможность ставить заявки для ребейта когда цена этого опциона низкая.
и получать эту дельту на массиве сделок.
нужно быть рядом со стаканом, и уметь быстро считать цену этого опциона.
Рибейты я тоже использую, но рибейты — это не неэффективность, а характеристика процесса ценообразования. К примеру — микроструктура цены актива на площадках с рибейтами и без рибейтов совсем разная.
Мне проще, может быть, т.к. я работаю на низких таймфреймах. Там все понятнее (IMHO), так что можно сосредоточиться на поиске закономерностей. В т.ч. на FX, драгметаллах, на которых рибейтов не было, нет и не будет, наверное.
С уважением
Каждый инструмент умеет свои особенности. Ставя робота который заточен под нефть работать под сишкой, вы ставите своё депо под угрозу.
Но не благодаря оптимизации
Если у робота «не стоит», как он (благодаря оптимизации) научится заниматься сексом? Заниматься им хорошо? В будущем?
С уважением
потому что тестирование на ордерах что не были выставлены на биржу, ничего тут нового нет, система рисков биржи настроена против любой открытой позиции, в основном, срочных контрактов
вводить новый англязычной термин не описывающий ничего нового и ждать какую то реакцию «что-то новое» — наивно
У робота нет мозгов и мышления. Почувствуйте разницу.
Ищу устойчивое «пятно» параметров на истории в 11 лет.
Если робот продаётся, значит это шлак.
А шлак проверять нет смысла.
если робот продается без гарантии прохождения теста WFT — это гарантированный шлак
$100, нет.
Всё ровно так, как я написал.
Если робот продаётся с гарантией, то это ещё хуже.
Потому что обещание будущего результата на рынке — это чистое мошенничество.
Никто не знает будущего, а значит не может гарантировать доход.
Если робот продаётся, то это шлак.
Максимум, что может делать обладатель рабочей системы — это привлекать для неё деньги.
Но всё это требует тщательной проверки со стороны инвесторов.
Потому как подавляющее большинство таких предложений тоже мошеннические.
Явно или неявно.
пора заняться стандартизацией требований к продукту… а возможно и сертификацией)
по поддержке стандартов — согласен, это всегда сильный шаг
… ну а вы поступайте, как пожелаете))
Второе. Сам по себе форвард — это стратегия оптимизации. А не анализ успешности стратегии. На выходе вы получите некоторую информацию об доходности. Что дальше? Нужна модель. По которой вы будете вкладывать в стратегии. А не оценка доходности стратегии на истории.
Третье. Если есть период жизни и период смерти стратегии. То выгоднее оптимизироваться на коротком периоде. Что бы подстроиться на ближайшее будущее. А форвард классический делает наоборот. Но это в теории. Практически проанализировать что лучше сложно. Но в теории ипульс рождает тренд. А не тренд рождает импульс- это верно.
Четвертое. Никто не поедет в лес на Ламборджини. Но она самая быстрая на асфальте. А как вы определите, что ждёт в будущем стратегию? Обычно решение задачи — взять вездеход. Но вездеход это не лучший параметр при оптимизации. А вы берете лучший. Или требуете его от продавца. Он вам его и продаст.
Лохом является покупатель робота, не прошедшего тест WFT.
Но робот, прошедший такой тест будет стоить таких денег, что ни один задрот к нему даже близко не подойдет. Цена будет измеряться миллионами. И это будет справедливая цена.
Остальное — это фуфло.
тоже мне… фуфло… блть))
Бараном является покупатель робота, не прошедшего тест WFT.
Но робот, прошедший такой тест будет стоить таких денег, что ни один баран к нему даже близко не подойдет. Цена будет измеряться миллионами. И это будет справедливая цена.
Из комментария выше, полностью согласен. Нельзя полностью и со 100% уверенностью сказать что робот хороший если он покажет хороший результат на прогоне за год, два, десять лет и причин много.
Перечислю несколько. Допустим если робот принял решение купить инструмент по цене в 111 рубль и ставит заявку что я покупаю по 111 рубль. Цена дошла до 111 рубль, коснулась её но факта покупки не было, так как транкзакция не обработалась и вашу заявку не исполнили, цена ушла на 110 рублей и ниже, а в тестах всё отлично и логика отработала на ура, а в жизни не на ура.
Факт проскальзывания цены на больших движениях никто не отменял. Ваша заявка так и останется висеть на 111 рублях, потому-что вы не успели выставить и цена убежала на 112 рублей и выше. Но потом резко вернулась при обвале и забрала вашу заявку. В тестах покажет, что вы купили за 111 рублей и продали за 115 рублей.
Таких моментов много и все не описать.
Конечно если взять робота которому всё ровно большие и резкие движения, возможно там всё будет хорошо, а вот открытие рынка в первую секунду оттестировать можно только на реальных сделках.
На моём роботе из 30 сделок одна идёт с проскальзыванием. Но мой робот не считает такую сделку как исполненную.
1. В тестах я закладываю усредненное пессимистичное проскальзывание на каждую сделку со фьючами (минимум 4 рубля для сбера) + комиссию брокера и биржи за скальп.сделку (минимум 1 рубль для сбера).
2. в бою проскальзывание довольно часто случается в мою пользу — как на тейках, так и на стопах
3. я торгую только по рынку
Если у Вас есть исторические данные в тиках за год/месяц, поделитесь. Погоняю своего робота
Если автор бота не хочет вам давать такую инфу, значит не замарачивайтесь вас скорее всего хотят кинуть цыгане
Ваш сценарий — для опытного трейдера, имеющего много свободного времени. В реальном мире таких персонажей — единицы.
неужели роботами торгуете???))
Но здравые идеи приходят в голову мошенникам чаще, чем обычным людям.
Потому что в теме.
Хочу от тебя ещё добавить, что робот, зарабатывающий внутри дня, ложь абсолютная. Конторы я ля citadel, понятное дело, не в счёт, они немного в другом измерении живут…
Поступаю оч просто. Любой робот должен проходить у меня 3 этапа.
1. Прогон последнего года. Далее без изменения настроек 14-16 год и далее 12. Если проходит — едем дальше.
2. Оптимизируем по широкому спектру параметров (если он есть)) за последний год и далее гоним опять 14-16 и 12. Если проходит — едем дальше.
3. Оптимизируем за последний год и гоним с 2003 года (самые ранние котировки) — минимум с 2007. Причем на этом этапе мы назначаем динамический лот в % от эквити. Дабы исключить эффект «низкой просадки». Если же и тут проходит — можно отложить все в сторону и посмотреть, а че это за зверь такой :)
По итогу из условных 500 роботов до 3-го этапа у меня дошли только 3. Из них 1 очень сомнительный в плане мм. 2 в работе.
И никаких 100% годовых там нет. Пиковый результат — около 50% в лучшие годы. А так 20%-30% при соизмеримых (10%-20%) просадках.
Так что робот с 100% годовых это в принципе бред.
Продавец берет 10к грина (не запредельная сумма), его миллион ждет его через 6.4 года. Через пару лет можно положить в индекс и не дуть в ус. Задайте себе вопрос. Зачем ему ваши 100 баксов, если через 5 лет будет миллион? Если ботом можно торговать на америке то вопрос ликвидности до миллиона точно не стоит.
Как-то так.