Блог им. abel
Как думаете, сколько может принести алгоритмическая торговля? 10% годовых? 100%? Или больше?
Все мы знаем, что machine learning может делать множество крутых вещей. А уж применить его в трейдинге для анализа графиков и прочих цифр — эта идея вообще очевидная. Почему же в публичном пространстве почти не встречается историй успеха? Не знаю, возможно потому что деньги любят тишину.
Однако я точно знаю что machine learning работает! На самом деле очень многие его применяют. Да я сам занимаюсь этим для прогноза движений по индексу S&P 500. Я также общался с человеком, который за год заработал $5млн от стартового депозита в $300 тыс. Буквально вчера общался с другим человеком, который подтвердил, что легко можно делать 300%-500% на американских индексах. Врут? Думаю что нет.
С помощью ML я и сам смог заработать +45.9% к счету только за февраль, а депозит у меня не маленький. Ниже приведены результаты по моим сделкам в феврале на реальном счете. Для сравнения в скобках указано значение тех же метрик за тот же период по самому индексу S&P 500.
Feb 2021 assets change: +45.9% (S&P 500 Feb: +2.6%)
Average daily return: 2.07% (S&P 500 Feb: 0.14%)
Annualized return: 14918.8% (S&P 500 Feb: 40.7%)
Annualized volatility: 57.1% (S&P 500 Feb: 14.3%)
Maximum drawdown: 1.6% (S&P 500 Feb: 3.2%)
Annualized Sharpe ratio: 9.12 (S&P 500 Feb: 2.46)
Повезло? Может быть. Однако все цифры в целом совпадают с бэктестами за предыдущие периоды. Это позволяет мне оставаться оптимистом и думать, что это не случайность.
Честно говоря, могло бы быть даже лучше. Я пару раз открывал сделки без рекомендаций от ML моделей. И оба таких раза пришлось закрывать пусть с небольшим, но с убытком. На диаграмме ниже приведены изменения депозита на реальном счете по сравнению с идеальным, если бы я торговал исключительно по рекомендациям. Ну что ж, выводы сделаны, буду больше доверять моделям и своим алгоритмам.
К сожалению (или к счастью?) искусственный интеллект и в трейдинге справляется гораздо лучше человека. Человек просто не способен анализировать огромное количество разных параметров и движений на рынке, а машины с этим уже справляются. Продолжаю развивать проект, теперь у меня еще больше идей и планов.
Телеграм канал проекта - https://t.me/right_side_vision
— сосед в 75 лет говорит, что может 5 раз, а я ни разу.
Врач: Ну, и вы говорите.
Уважаемый, какие нах истории, если уже даже на ру-рынках через 70% переваливает объём торгов, совершаемый роботами. На Западе так и через 80 давно перевалил.
Сколько вам еще историй нужно?
Ну и на смартлабе каждый месяц многие постят отчеты алготрейдинга.
Желающий глаза да увидит, желающий прихвастнуть даже не посмотрит
Еще 3 года и будет тысяча немаленьких депозитов. И форбс у Ваших ступней.
Да и вообще я не вижу смысла врать. Зачем мне это? Я ничего не пытаюсь никому продать.
Там 30 человек всего, на этом не заработать :)
Abel, да я просто над вами немножечко подшучиваю. Все мы что то да продаем.
Было бы интересно узнать детали, но переходить для этого в телегам чатик не хочется.
У вас 13 сделок судя по графику за месяц было, зачем вам инфляция в фичах? как часто вы вообще сделки совершаете?
с[i] =(C[i] -C[0])/C[0] или с[i] =(C[i] -C[I])/C[I] — это по последнему значению I. Можно это на константу умножить, чтобы значения не слишком маленькими были.
Я так делаю.
3Qu, хмм… ну вот смотрите, может я туплю конечно, но допустим у нас есть цены и мы их приводим к одному диапазону, как ниже Abel спрашивал, нормализацуем от 0 до 1. Без всякого рода преобразований, нам надо знать диапазон входных данных и если новое значение будет выходить из этого диапазона мы не сможем его использовать, ну или сможем приравнять к 1. Что ж, так себе вариант. Далее мы возмем и будем приобразовывать скажем по вашей формуле, или можно по процентному изменению, или логорифмическими процентами, или еще как то. Получаем вроде бы более менее приемлимые одинаковые данные, но опять таки сталкиваемся с проблемой, что в обучающей выборке у нас будет минимум и максимум. Я имею ввиду, если у нас скажем все наши данные в выборке для обучения болтаются в каком то диапазоне, а потом этот диапазон меняется, но мы больше не можем доверять модели.
однако глядя на график 80х120 пикселей мы всегда имеем один и тот же диапазон для обучения, и использования в будущем :)… вопрос конечно что именно мы видим на картинке, и какие пиксели задействованы..
Наиболее рабочий из offline RL — делается несколько прогнозов и смотрится их дисперсия. На данных близких к обучающей выборке дисперсия разных прогнозов будет небольшая, а за пределами большая. В офлайн RL обычно не используют прогнозы в области большой дисперсии. Если модели легкие, то можно учить сразу несколько, если тяжелые, то обычно берут общюю основу и несколько легковесных голов.
Я торгую портфелями, вот тут пока не придумал, как RL приспособить, поэтому не использую.
В моем случае, относительный диапазон более-менее сохраняется.
ЗЫ Кстати, на приведенной мной нормализации НС и леса-деревья вполне сносно прогнозируют, при условии, что прогнозируется не каждый чих, а заранее отобранные области.
3Qu, это же просто приращения цен, пересчитанные в проценты? Вроде, есть инттегральное ощущение, что так вот «в лоб» не работает...
В лоб это действительно не работает, но самому ML действительно больше ничего не нужно.
Там ниже есть коммент немного развивающий тему.
SergeyJu, ох, боюсь есть большая доля правда в ваших словах.
Однко, не спора ради, но мы ведь видим, что стандартные методы работы с ценовыми рядами, часто не дают никакого значимого улучшения и в итоге получаем фичи которые на самом деле не несут в себе никакой предстказалетной силы. Поэтому приходится применять воображение и магию ), но и конечно не стоит отметать метод работы с ценовыми и временными рядами.
Если бы одного ценового ряда было достаточно, то у меня бы все заработало еще пару лет назад.
А так-то даже не программист давно может ML прогнозы строить сейчас. Тут я уже писал как-то об этом, там много ума не нужно.
ЗЫ Вот, кстати, от старых экспериментов картинка сохранилась по прогнозированию котировок:
По х — прогнозируемое значение, по У — реальное значение через время Т. Для прогноза используется толко и непосредственно используется ценовой ряд, ничего больше.
Все значения нормированы к некоторому диапазону. При прогнозе >1.5 почти все будет в плюс. При прогнозе в окрестностях нуля, естественно, ничего интересного мы не увидим.
А вы говорите — фичи.))
Раньше метода с НС не пошла, т.к. оказалось, что она не эффективней существующей стратегии.
Abel, какими «подробностями»? Что Вы использовали Tensorflow? =)
ПС Телеги нет и не будет, звиняйте. Мне СЛ хватает.
Вы сказали, что за месяц у Вас волшебный результат, а бэктест за годы еще более волшебный по дохе. Про риски ничего не сказали, про издержки тоже. То есть подход явно дилетантский. Возможно, Вы нашли жемчужину в куче навоза. Но верится в это с трудом.
P.S. А ходить по чатикам и телегам как-то не принято тут. Всегда можно ответить прямо и по существу.
Вижу легкую внутреннюю несогласованность в посте).
С одной стороны имеем результаты за февраль, которые, как вы говорите, соответствуют бэктестам, т.е. типа норма. А за февраль видим шарп 9 и прочие вещи. Т.е. между строк читаем: модель феерическая.
И далее вы пишете, что руками два раза торговали и пишете так неуверенно, что становится понятно, что вы не особо руками торгуете.
И возникает резонный вопрос, какого лезть руками, если руками не умеешь и знаешь, что у тебя феерическая модель). Нипаняятна.
Направшиваются выводы: модель не феерическая или её феерические результаты ближе к случайным.
Я говорю, что с февраля я стиль торговли очень сильно изменил. Для сравнения, в январе сделок было 135. Там одних комиссий я почти на $800 баксов заплатил.
Потому что использование ML лишь упрощает перебор в большинстве случаев. В рамках заданных условий и направления поиска.
А если за этими условиями ничего позитивного и реально существующего нет?
Нужна идея, которая может что-то дать. Это должно быть интуитивно понятно. И эту идею нужно суметь передать ML.
PS. На финише алго, который будет делать 500+ сделок @ES в день.
У меня в IB по $2.1 выходит за контракт сейчас. Я смотрел брокеров разных, но дешевле не нашел. Буду очень благодарен, если поделитесь.
У меня только за январь почти $800 на комиссии ушло. Это одна из причин кстати почему я стал торговать по-другому и сильно снизил общее количество сделок.
Биржи кому-то делают скидки?
не хотел бы портить ваш мимимшный диалог, но гавна в вашем арбитраже существенно больше, чем палок. Так что, в таком виде, как в публикациях на смартлабе, это до продакшна не дойдет.
в свое время всякие нейросети на дельфях и сиплюсплюсах делал
Здесь и здесь можно посмотреть как она себя ведет на бэктестах.
Как вела система себя на падениях в феврале на реальном счете — здесь.