Блог им. Kirill129

Алготрейдинг. Вставлю и я свои 5 копеек....

    • 24 ноября 2019, 14:23
    • |
    • KIRILL
  • Еще

     Тут  в чате посвящённом алго-торговле  t.me/algoinvest ,  развернулось активное обсуждение вопроса о том, что невозможно создать и алгоритм торговли «на всю оставшуюся жизнь», протестировав максимально возможный исторический отрезок. Основные причина которая называются следующая: рынок (торговая среда) постоянно меняются и то что работало вчера не работает сегодня. Я думаю, что   этот факт достаточно просто объясняется. Участники рынка стараются выиграть друг у друга с помощью торговых роботов, роботы влияют на поведение цены (график, паттерны, параметры), затем появляются новые роботы, которые вносят новые изменения в параметры торгового пространства  и этот цикл продолжается бесконечно, что и не даёт возможность создать вечный двигатель (вечный грааль).  Всё логично …

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

Поделюсь своим опытом. Лет 5 назад мне пришла в голову мысль сделать робота, торгующего ставками на теннисные матчи. Технические условия для этого очень даже неплохие. Биржа ставок Betfair даёт возможность делать ставки он-лайн по ходу матча и транслирует графики со ставками других участников, ликвидности более чем предостаточно ( сумма ставок на рядовой  матч в серии ATP в районе 300 000 – 700 000 USD, когда звёзды играют и до 10 000 000 USD доходит ) И плюс ко всему этому есть история торгов за несколько лет и API к самой бирже. В общем торгуй – не хочу.  Почему теннис думаю то же всем понятно: исходов всего два ( выигрыш/проигрыш) плюс это игра с огромным количеством статистики (счёта) внутри матча. А так-же с очень жёсткой структурированностью турниров и игроков. Дело оставалось за малым: подобрать параметры которые бы позволяли рубить капусту)). Ну ведь всё просто не так ли? Надо найти при каких начальных коэффициентах на игру, наступает момент в матче ( текущий  коэффициент и время матча  ) при котором вся совокупность матчей удовлетворяющим  данным условиям будут дальше развиваться в дном направлении (например выигрышем фаворита матча)  и соответственно приносить положительный финансовый результат. Тестирование началось с «очевидных» стратегий, ну как бы фаворит всегда должен дожимать аутсайдера если «почти» уже выиграл у него, но оказалось что нет… дальше больше… ну это уж точно, а это уж точно наверняка… Короче кончилось всё сканированием всего пространства параметров (просто тупым перебором вообще всего ) … И что Вы думаете? Таки да, абсолютно все стратегии в итоге ломались. Думаю излишне говорить, что все фильтры, которые могли быть применены к пространству матчей конечно же применялись (мужчины/женщины, квалификация турниров ну и так далее). Кстати надо всё таки отметиьт, что высшая мужская лига ( турниры ATP) показывали наиболее стабильные ( точнее, менее  не стабильные ) результаты по сравнению другими категориями турниров.

К чему это я всё? А к тому что в теннисе не существует торговых роботов, и таким образом торговая  среда то (теннисные турниры, матчи, игроки) не изменяется, а остаётся постоянной, но тем не менее закономерности выявить не удалось, хотя казалась бы она там должна присутствовать, ну по логике ( ну даже не буду пытаться аргументировать почему… ну ведь очевидно же… психология людей  и правила тенниса ведь не менялись ), но её там нет… закономерности… Так что наверное Талеб прав….

Теперь приведу другой пример из моей же жизни.  В начале 2012 года я сделал арбитражного робота которой одной ногой торговал фьючерсные  контракты на доллар  Si. А другой на Споте в одной крупной форекс-конторе. Фишка была в том, что торги долларом на ММВБ велись в то время до 19-00  и после того, как торги на ММВБ прекращались цены Si (Si торговался до 23-00) и Форекса теряли ориентиры и каждый из них уходил в самостоятельное плавание, создавая, таким образом шикарные возможности для арбитража. Ну а к 9-00  на следующий день, когда начинались торги на ММВБ, обе цены ( форекс и Si)  гарантированно становились одинаковыми. Абсолютно безрисковый арбитраж был. К сожалению счастье длилось не долго. В ноябре 2012 ММВБ стала торговать до 23-00 и эта схема перестала работать, цены перестали разлетаться….

Ну и какой вывод я делаю?  Думаю всё таки лучше тратить усилия и время на поиск тупых  неэффективностей рынка, которые наверное существуют ( раз 2012 году были, то почему сейчас их не может быть), чем пытаться играть с другими роботами и хитроумными параметрами и алгоритмами.

А вы как думаете?

★3
35 комментариев
Я пришел к такому мнению, что если алго не арбитраж, то алго должен торговать какие то фундаментальные вещи, азы, которые подчиняются логике и имеют объяснение.

Все остальное для себя характеризую как лажу, которая рано или поздно закончится.
avatar
Андрей К, 
а какие, если не секрет?
1. Простая склонность к тренду и контртренду на разных таймфреймах к ним могут отноститься? 
2. И если не можешь достоверно объяснить какую-то, на свой взгляд, неэффективность, то ее можно торговать?
Кот Матроскин, 

2) Я не знаю, как другие. Я такой человек, если что то не могу объяснить, то это вообще не трогаю. Нафиг надо такие риски.

1) Лично у  меня? Наверное. В подавляющем кол-ве случаев на нашем рынке я знаю кто стоит за боковиком, кто стоит за разворотом и почему пошло резкое движение в основных наших фучах. Если ситуация мне предельно ясна, я буду такое трейдить.
avatar
Андрей К, 1) Инсайд?
avatar
KIRILL, нет конечно =) разве можно о таком трепать на форумах 
avatar
KIRILL, есть стратегии которые работают всегда, главное понимать что процент будит всегда плавающий выигранный проигранных сделок, главное в стратегии ни когда ее не менять и работать со статистикой 
avatar
CapitalMAN, 
главное в стратегии ни когда ее не менять и работать со статистикой 
Разрыв шаблона. 
Зачем работать со статистикой, если менять ничего нельзя?
Виталий Зотов, управление капиталом
avatar
CapitalMAN, 
главное в стратегии ни когда ее не менять
и 
управление капиталом
т е это не изменение ?
Вход- выход менять нельзя, а кол-во можно. А почему только кол=во? 
т е что хотим — меняем, остальное — ни в коем случае.
CapitalMAN, неа. Помнится ты давно это утверждаешь. И общал привести пример управления, который бы делал 5% годовых. Но вот нет до сих пор обоснования с твоей стороны. Лукавство.
avatar
KIRILL, в беттинге работает только одна вещь — value. Использовать её помогает временной лаг на смену кефов у разных буков. НО: на бэтфэйре практически нет нежффективностей. Посмотрите вилки бетфэйр — 1хбет, мли другой русский бук. Потом пинакл — любой русский бук. Вилок будет море. Притом, что спред у этих буков минимальный. После посмотрите вилки бетфэйр — пинакл. Опа… а из и нет практически! Собственно, как и неэффективностей
avatar
Павел, Да я не о бэттинге писал, я писал о том, что пытался выявить закономерности в статистике матчей не зависимо, от их участников, а в зависимости от парамтров перед матчем и втечение матча, на длинном отрезке времени,  статистику я не рассматривал в разрезе конкретных участников, а беттинг именно это подразумевает.
avatar
KIRILL, Вот-вот. Я о том и говорю, что Вы пытались найти неэффективности там, где их быть не может по определению. Неудивительно, что результата нет. Алгоритмическая торговля подразумевают серию однотипных сделок, т.е. исходные условия должны быть одинаковыми, а без учета конкретных игроков/команд данное условие является невыполненым.
avatar
Павел, У меня однотипность заключалась в однотипности входных параметров: соотношение предматчевых коэффицентов: основной параметр однотипности был, (я их по группам дедил от 1.05 с шагом 0.1, ну и дальше) все перечисленные и не перечисленые в статье фильрты накладывлись я умышленно не рассматривал конкретных игроков, что бы не влиял конкретный человеческий фактор. Огромное количество статистики позвляло задат достаточно жёсткие критерии, и они работали до определённого момента, потом ломались. Естественно чем более жесткие( однотипные ) были критерии, тем всё выглядело красивее нга каком то отрезке времени, но потом всё равно ломалось
avatar
Появилась такая мысль по ставкам. Цены ведь меняются в режиме онлайн и в это время можно делать ставки? А что если применить какую нибудь идею на этих ценах из трейдинга? Например пробой канала дончиана. Цена пробила максимум за 5мин, то покупаем надеясь на тренд.
Андрей Возяков,  Поверьте на слово, нету там такого понятия трэнд, все графики матчей это в основном флэт с высокой амплитудой
avatar
Андрей Возяков, меняются не цены, а коэффициенты, которые отражают вероятность выбоанного исхода. Это сродни опционам скорее, нежели споту. А там ТА бесполезен.
avatar
Павел, Слушайте, я два года этой хренью занимался, и Вы будете мне тут про отличия цен от кефов рассказывать… конечно кефы, но в применение к  Бетфейру (ставкам) кеф это и есть цена. потому что вы делаете ставку по определённому кефу
avatar
KIRILL, посмотрите внимательно еще раз: сообщение выше адресовано не Вам, а Андрею)) я не зануда и не буквоед))
avatar
Павел, Сорян)
avatar

Спасибо за статью! У вас интересный опыт! Плюсу и в профиль. 
Не хочу язвить, но думаю вы согласитесь с этой правдой жизни: то что вам (или мне) ну удалось найти неэффективность, не значит что ее нет. Вот пример: 
www.bloomberg.com/news/features/2018-05-03/the-gambler-who-cracked-the-horse-racing-code 

Про него есть статья и в википедии. 

avatar
dip, не работает сылочка, что там?
avatar
avatar
Спасибо! Ссылка, к сожалению не открывается. Но скачки это особая история, я в их сторону даже и не смотрел…
avatar
avatar
невозможно создать и алгоритм торговли «на всю оставшуюся жизнь»
Пытаюсь опровергнуть утверждение, близок к успеху.

И как раз примерно на этом поле:
Простая склонность к тренду и контртренду на разных таймфреймах
avatar
Это большая ошибка в подходе, что на теннисе, что на ставках — попытаться найти некий фундаментал, который одновременно и будет объяснять матч и одновременно не будет известен другим участникам. Особенно это заметно на американских видах спорта, типа бейсбола и американского футбола, где накоплено просто море статистики. 
Нужны либо оригинальные подходы — например определять тональность реакции зрителей по аудиодорожке трансляции, или пытаться выявлять договорные матчи, профилируя игроков. 
avatar
Spekyl, довольно стандартная ситуация в машобучении — чтобы улучшить предсказательную силу модели, нужно или искать дополнительные фичи которые увеличат общее имеющееся количество информации, или допиливать алгоритм обучения, чтобы из того что есть извлечь чуть больше чем смогли другие.
Spekyl, Каой фундаментал, в моих исследованиях не было ни какого фудаметала, просто я пытался подобрать такие параметры, которые регулярно приводили к положитилгныму фин. Результату. Подбор числовых параметров не имеет никакого отношения к фудаменталу
avatar
KIRILL, В этом все и дело! Как раз в отсутствии фундамента. Раз коэффициент (справедливо оцененый) отражает вероятность наступления исхода, то на дистанции значимых статистических расхождений не будет по определению! Те моменты, когда Ваша стратегия показывала плюс были аномалией (по существу жирным хвостом распределения). Поэтому стратегия и ломалась постоянно.Здесь скорее уместно было играть на возврат к среднему, но, думаю, расхождения были невелики, а учитывая отрицательное МО в виде спреда, комиссий и проскальзываний — денег там нет от слова вообще.
KIRILL, Ваш подход к работе с данными весьма грамотный, вопросов нет. Только направление выбрано такое, где ничего и быть не может. Фактически Вы оттестили насколько корректно выставленный коэффициент отражает реальную вероятность наступления выбранного исхода. А в бэтфэйр точность весьма высока (я сейчас не учитываю расходы), что и было подтверждено Вашими тестами. Если Вы проделаете такой же опыт с русскими буками, результат будет намного интереснее, только фильтровать матчи все-таки нужно более тонко. Кстати, Вы писали, что высшая лига (ATP) показывала меньшую дисперсию результатов. Это, разумеется, работает и в любом другом виде спорта. Дело в том, что в топовых чемпионатах букмекер уделяет намного больше внимания анализу матчей, чем в любых других по причине ликвидности. Как думаете, кого легче и нужней анализировать: Манчестер Юнайтед или Верхнепышмские Крылья Советов?
avatar
KIRILL, результаты исследования сравнивали с нормальным распределением?
avatar
Павел, Исследование проводилось не в парадигме математики, а в парадигме психологии и здравого смысла скорее. Я сам играю в теннис и в какой то момент по ходу игры я заметил, что в   при определённом счёте ты начинаешь понимать выиграешь ты или проиграешь, в зависимости от того какого соотношение твоего класса игры по отношению к к классу соперника. Вот эту идею я и проверял собственно. Да буки правильно считают кефы ДО игры. но в процессе игры уже не буки а игроки (которые делают ставки) определяют текущий кеф. Так вот ещё раз идея сводилась к тому, что при определённых начальных кефах отфильтрованным текущим (биржевым) кефом.мы получим однозначный исход в большинстве случаев. Ну например: Начальный кеф 1.5 и концу игры в 3 ем сете уже 1. 3 ставко на фаворита, и казалось бы в большинстве случаев у аутсайдера нет шансов… но увы не работает. А то что основной фундаметал тут психология подтверждает тот факт, что если у мужчин в высшей лиге ещё были более менее продолжительные стратегии, то у женщин, опять же в высшей лиге их не было вообще.
avatar
KIRILL, Ваш личный опыт игры, к сожалению, статистически нерелевантен. А вот дальнейшие утверждения верны только отчасти, а именно:
1. Буки корректно выставляют кефы только до матча. Действильно, неэфыективностей в лайве гораздо больше, но эту закономерность, к большому сожалению, нивелирует адское проскальзывание, которое настроено в пользу бука ( в свое время работал в БК, была возможность поковырять ПО которое предлставлял головной офис для работы)
2. Игроки своими ставками двигают кефы в лайве. Да, это так. Но точно так же это верно и для кефов до матча))) Сначала выставляются эталонные кефы (за вычетом маржи), а после этого кефы корректируются в процессе приема ставок. Если попытаться прикинуть конкретный механизм (как бы Вы двигали кефы на месте букмекера, на каком основании) то многие вещи становятся понятны.
А по поводу психологии Вы на правильную мысль наткнулись, только, на мой взгяд все с точностью до наоборот: люди любят фаворитов! Вдумайтесь: кто в здравом рассудке станет проставлять большие суммы на аутсайдера? Мой опыт работы подтверждает эту мысль. Поэтому сумма принятых ставок всегда пропорционально больше на фаворита! А ведь это обстоятельство является триггером для букмекера, вынуждая его менять кеф. Все буки знают об этом свойстве психологии игроков. Поэтому при вычитании маржи из эталонного кефа она будет непропорцинально смещена на фаворита. Таким образом возникает парадокс: по дефолту выгодней ставить на аутсайдера!
avatar
Павел, По поводу любви к фаворитам и аутсайдерам Вы невнимательно читали основной пост. Вот цитата из него: «Тестирование началось с «очевидных» стратегий, ну как бы фаворит всегда должен дожимать аутсайдера если «почти» уже выиграл у него, но оказалось что нет… дальше больше… ну это уж точно, а это уж точно наверняка… Короче кончилось всё сканированием всего пространства параметров (просто тупым перебором вообще всего ) … » ВСЕГО ПРОСТРАНСТВА ПАРАМЕТРОВ!!! Карл!
avatar
Кончилось все закономерно, по озвученным мною выше причинам…

А вообще, кажется, круг замкнулся))))) Засим, откланиваюсь, приятно было пообщаться.
avatar

теги блога KIRILL

....все тэги



UPDONW
Новый дизайн