Инструменты искусственного интеллекта могут быть использованы для классификации торговых сессий по паттернам. Для этого можно использовать среду программирования Python. Здесь мы изложим концепцию.
Вы когда-нибудь думали о торговой сессии как о… цветке?"
Когда я впервые предложил такую тему своим менеджерам хедж-фондов, то увидел, как они растерялись. Уверен, что некоторые из них начали бормотать и интересоваться, не курил ли я и не ел ли каких-нибудь необычных цветов! Тем не менее, я был серъезен, и позвольте мне объяснить почему.
Давайте вернемся в 1936 год, когда британский ученый по имени Рональд Фишер разработал «алгоритм» для распознавания видов радужных оболочек по нескольким числовым характеристикам. Набор данных по радужной оболочке глаза — это «Hello world» науки о данных, то есть он широко используется для отработки основных алгоритмов машинного обучения (ML). Он состоит из пяти столбцов: длина лепестка, ширина лепестка, длина чашелистика, ширина чашелистика и тип вида. Исследователи измерили различные характеристики цветков ириса и записали их в цифровом виде. Фишер использовал четыре признака — длину чашелистика, ширину чашелистика, длину и ширину лепестка — для классификации трех видов ирисов (названных setosa, versicolor и virginica).
Взяли в руки блокнотики?))
Грааль в ML для трейдинга состоит из нескольких компонентов. По сути грааль, это «правильные» ответы на вопросы:
Пожалуй, можно составить ТОП покороче:
В новой версии появилась функция сохранения торгового отчета в виде файла HTML или PDF. Теперь вы можете легко поделиться своими торговыми достижениями с коллегами или инвесторами. Также в обновлении появилась возможность сохранить в файле текущее состояние показателей в «Обзоре рынка».
В MQL5 появились новые функции для работы с матрицами и векторами, которые применяются в машинном обучении. Помимо этого, в обновлении были внесены улучшения в профилировщик кода и тестер стратегий.
MetaTrader 5 Client Terminal
3Qu, нивапрос…
Давай ему (ML) реальный рыночный сэмпл скормим? )))
Если не подавится — бабла поднимем по самое не балуйся )))
Практически гарантирую )))
С уважениемМальчик buybuy
Мальчик buybuy,Запасы данных у меня почти бесконечныеМне непонятна.)
Постановка задачи тоже понятна
Подготовь данные для обучения, скажи каким ML обучать. Так и быть, накормлю твоими данными.
Только расскажи чему и на чем учим. Верняк скажу, что в такой постановке не прокатит и данные не подходят.) Поди туда не знаю куда, принеси то, не знаю что, или дай бабла не прокатит.
IS – in sample (оно же обучающая выборка), OOS — out of sample (оно же тестовая выборка). Ну или ближе к обычным алго – IS – там, где оптимизируешь стратегию, OOS – данные, которые стратегия ещё не видела.
Какое соотношение выборок лучше. Просто сейчас накапливаю некоторые данные (которые иным способом не получить), а любопытство оно же такое, что нельзя просто так взять и подождать 3 месяца и только тогда начать с данными работать, поэтому начал работать с данными чуть когда их было ещё совсем мало, потом продолжил когда их было просто мало, продолжил когда стало чуть побольше и т.д., сейчас уже вполне достаточно.
Из-за того, что несколько раз к данным подступался при разных объёмах этих самых данных, несколько выпятился наружу вопрос достаточности данных в целом и в частности вопрос соотношения IS/OOS в целом.
Когда данных совсем мало – без разницы как делить – не хватит ни чтобы обучить (терминология у меня ML’ная, но, по сути, без разницы, ML или классические алгоритмы) ни чтобы оценить.
Активно использую в алго ML модели. При обучении моделей тоже есть свои фишки и с точки зрения защиты от оверфиттинга и в целом. Поэтому часто обучаю по несколько моделей в одном скрипте. Это и параметры разные и участки данных разные и т.д.
Когда скрипты уже отлажены ты просто их гоняешь, оцениваешь результаты, принимаешь решения. Часто при этом в голове всплывают неотвеченные вопросы, одни помечаешь себе, другие нет. Одними из таких вопросов были: это модель хреновая или OOS неудачный для модели, или в целом неудачный, а есть для него удачная модель, а для удачной модели есть неудачные участки данных тоже? В общем если убрать за скобки ML – классическая тема про переоптимизацию про то, что рынок может благоприятствовать стратегии (а скорее целому классу стратегий), а может нет. Но как с этим у моделей обстоит. В общем до этого момента только фантазировал на эту тему, закрыть вопрос через исследование было не сложно, но как-то руки не доходили, а теперь дошли.
Что делал: условно, взял много данных, единое признаковое пространство, по-всякому нарезал данные таким образом чтобы разные модели обучались на разных участках данных и было так же сопоставимое с кол-вом моделей кол-во OOS участков. Убедился, что OOS в конкретной паре модель-OOS не участвовал в обучении данной модели и погнал тестить разные модели на разных OOS кусках.
Текущее экспериментальное направление рисеча в алго – графические паттерны. Формализовал и алгоритмизировал выявление нескольких паттернов. Они в таком сыром виде работают, но не космос. Чтобы было космосее формализовал и алгоритмизировал выделение фичей (они же параметры, они же метрики, свойства – как хотите) паттерна. Ну т.е. паттерн-то он паттерн, но конкретные матчи (кейсы) они же все разные, а чем они разные? – Вот в частности значениями этих фичей. По сути, я ушел на следующий уровень абстракции (сам паттерн – первый уровень, его характеристики – второй). Ну и чтобы работать со свойствами паттерна было удобней традиционно поверх небольшим слоем размазал ML.
Текущие сложности в этом направлении:
— В моей формализации долго (относительно) ищутся паттерны на окне (зависит от размера окна), поэтому, в частности, насобирать большую выборку для ML долго, а на небольшой, например, много фичей паттерна сразу не оценишь на профпригодность. Для торговли скорости приемлемые если не слишком малые ТФ и не слишком много тикеров одновременно.