Постов с тегом "ml": 37

ml


IS/OOS 75%/25% норм? – Ага щаззз.

IS – in sample (оно же обучающая выборка), OOS — out of sample (оно же тестовая выборка). Ну или ближе к обычным алго – IS – там, где оптимизируешь стратегию, OOS – данные, которые стратегия ещё не видела.

 

 

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

 

Из-за того, что несколько раз к данным подступался при разных объёмах этих самых данных, несколько выпятился наружу вопрос достаточности данных в целом и в частности вопрос соотношения IS/OOS в целом.

 

Когда данных совсем мало – без разницы как делить – не хватит ни чтобы обучить (терминология у меня ML’ная, но, по сути, без разницы, ML или классические алгоритмы) ни чтобы оценить.



( Читать дальше )

Результаты небольшого исследования про модели ML vs участки данных.

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

Когда скрипты уже отлажены ты просто их гоняешь, оцениваешь результаты, принимаешь решения. Часто при этом в голове всплывают неотвеченные вопросы, одни помечаешь себе, другие нет. Одними из таких вопросов были: это модель хреновая или OOS неудачный для модели, или в целом неудачный, а есть для него удачная модель, а для удачной модели есть неудачные участки данных тоже? В общем если убрать за скобки ML – классическая тема про переоптимизацию про то, что рынок может благоприятствовать стратегии (а скорее целому классу стратегий), а может нет. Но как с этим у моделей обстоит. В общем до этого момента только фантазировал на эту тему, закрыть вопрос через исследование было не сложно, но как-то руки не доходили, а теперь дошли.

 

Что делал: условно, взял много данных, единое признаковое пространство, по-всякому нарезал данные таким образом чтобы разные модели обучались на разных участках данных и было так же сопоставимое с кол-вом моделей кол-во OOS участков. Убедился, что OOS в конкретной паре модель-OOS не участвовал в обучении данной модели и погнал тестить разные модели на разных OOS кусках.



( Читать дальше )

Натягиваю ML поверх паттернов.

Текущее экспериментальное направление рисеча в алго – графические паттерны. Формализовал и алгоритмизировал выявление нескольких паттернов. Они в таком сыром виде работают, но не космос. Чтобы было космосее формализовал и алгоритмизировал выделение фичей (они же параметры, они же метрики, свойства – как хотите) паттерна. Ну т.е. паттерн-то он паттерн, но конкретные матчи (кейсы) они же все разные, а чем они разные? – Вот в частности значениями этих фичей. По сути, я ушел на следующий уровень абстракции (сам паттерн – первый уровень, его характеристики – второй). Ну и чтобы работать со свойствами паттерна было удобней традиционно поверх небольшим слоем размазал ML.

 

 

Текущие сложности в этом направлении:

— В моей формализации долго (относительно) ищутся паттерны на окне (зависит от размера окна), поэтому, в частности, насобирать большую выборку для ML долго, а на небольшой, например, много фичей паттерна сразу не оценишь на профпригодность. Для торговли скорости приемлемые если не слишком малые ТФ и не слишком много тикеров одновременно.



( Читать дальше )

Твой алго-трейдинг будет таким, каким ты захочешь.

 

Конечно, речь о процессе). Результат подтянется если с процессом все ок. Сейчас о процессе.

 

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

 

Недавно задавался вопросом, какой таргет для ML выбрать, много интересного написали в комментариях. Собрал тестовый стенд, формализовал таргеты, написал на питоне обработчик (вплоть до интерпретатора) результатов и погнал.

 

Взял 5 стратегий. Не буду вдаваться в детали своего подхода, для простоты… — взял 5 дата-сетов, или 5 признаковых описаний. Прикрутил некоторое кол-во разных таргетов, разнообразил некоторыми другими различиями (читай, факторами) и все это основательно прогнал. Результаты замерял на OOS.

 

Ожидание:

1. Будет выраженное влияние используемого таргета на результат стратегии.

2. Возможно, получится заметить какую-то закономерность по поводу зависимости качества модели от используемого таргета в зависимости от типа стратегии/признакового описания.



( Читать дальше )

ML в трейдинге, причины эффекта падения метрики качества с ростом вероятности.

К предыдущему посту с тоже конкретным ML вопросом получил отличный фидбек от толковых комментаторов, превзошло мои ожидания, очень круто, ещё раз всем спасибо! 

Уверен, что и по этому вопросу людям будет что сказать.


В общем использую ML для нахождения закономерностей в осмысленных признаках — так можно кратко описать мой подход). Так вот часто наблюдаю такие эффекты и не сформировал пока четкой позиции по их интерпретации, возможно, кто-то в эту сторону уже копал и как-то дальше продвинуться, буду рад почитать какие-то инсайты или просто рассуждения на эту тему. Добро пожаловать в комментарии опять.


Суть явления: всегда оцениваю зависимость между метрикой качества сигналов и вероятностью, выдаваемой моделью по сигналу. Хорошие признаки хорошая модель построит монотонно растущую зависимость. Может быть хаос вместо монотонного роста — значит модель не вывезла — или модель не алё, либо признаковое описание не але, либо слишком много признаков для такого кол-ва данных и т.д. Но часто даже если видно, что модель нащупала смысл в данных, начиная с какой-то вероятности наблюдаются разные явления.

( Читать дальше )

Какие бывают интересные таргеты для ML моделей применительно к трейдингу, товарищи?

Есть у меня подозрения, что ничего мне тут не напишете), но вдруг где-нибудь в комментариях засияет лампочка интересной идеи.


О чем речь: если натягивать ML на рынок можно задачу для ML модели/моделей сводить к разным формам. Форма в данном случае — это условно ответы на вопросы — что есть единичный объект данных (например, одна свеча), что есть признаковое описание, что есть цель.


Самые очевидный в лоб target — цена, приращение цены, направление приращения цены, т.е. регрессия, регрессия, бинарная классификация. Уверен, что можно придумать, много других интересных шаблонов, где не свеча объект не приращение таргет и т.д. Немного пофантазировал, но чутка сложно — видимо, усиленной умственной деятельностью в этом направлении уже загнал мозг в колею, выбраться — небанальная задача.

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

( Читать дальше )

Алго: конкуренция сигналов в борьбе за деньги.

Расшифрую название:

Речь о том, что некоторые стратегии генерируют сигналы (купить открыть, продать закрыть, купить закрыть, продать открыть), но не все сигналы достаточно хороши и не все достаточно хороши для данного момента. А деньги получает сигнал, который достаточно хорош, который не достаточно хорош – так и остается просто сигналом, не превращается в ордер.

 

А теперь подробней про зачем это:

У меня сейчас попроще все реализовано, но всегда смотришь в будущее чтоб что-то улучшить. Конкурировать за деньги сигналы могут по-разному – могут совсем глобально – когда есть только сущность сигнала и деньги, и не важно что за стратегии и т.д., лучшие сигналы получают деньги, худшие сосут… лапу. Такой вид конкуренции чуть более революционен и имеет некоторые нюансы, поэтому пока останется за скобками (в частности риск вмешаться в диверсификацию, которая обеспечивается разнообразием стратегий). В данном посте речь о конкуренции за деньги в пределах одной стратегии.



( Читать дальше )

Сегодня че-то много о нейросетях (НС)

    • 09 марта 2021, 16:04
    • |
    • 3Qu
  • Еще
Основной вопрос — может ли НС, и вообще методы МО, прогнозировать рынок?
Зададим более простой вопрос — можно ли НС обучить выполнять оператор if()… else? Ответ очевиден — конечно можно.
А обучить выполнению группы таких операторов? — Не вопрос, конечно можно.
Т.е., НС можно обучить практически любой логике. Вроде, сомнений не вызывает.

Теперь у нас есть заведомо работоспособная прибыльная торговая система (ТС), принимающая решения о покупке/продаже на основе некоторых данных, констант и логики. Решение — это своего рода прогноз. Решение: покупать — это прогноз роста цены актива, продавать — прогноз падения цены.

Итак, если ТС построена на логике, а НС можно успешно обучить любой логике, то НС можно обучить логике нашей прибыльной ТС. А так как решение ТС — это прогнозирование рынка, то НС и другие методы МО без всяких сомнений могут прогнозировать рынок.
Вот, мы с вами все и доказали:
НС и другие методы МО без всяких сомнений могут прогнозировать рынок.


Дарю идею для околорыночного стартапа.

Идея:

Раскрутка околорыночников на смарт-лабе, ну или кого угодно на смарт-лабе.


Суть:

Парсим все посты за все время, вытаскиваем признаковое описание — ну там — длина заголовка, наличие капса в заголовке, ключевые слова, можно заморочиться на NLP (которое не программирование) что-то построить. Таргет у нас кол-во лайков, комментов, звездочек. Обучаем ML модель. Вытаскиваем и нее закономерности, все, у нас есть инструкция как писать выходящие в топ посты и быстро раскрутиться. Дальше можно нанять пару копирайтеров чтобы писали посты по этим инструкциям.

По аналогичной сцене можно вычленить алгоритмы написания провокационных комментариев под постами.

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

При дальнейшем расширении с применением нейросетей обучаемся создавать максимально продающие обучающие курсы. Чувак в галстуке на главной странице лендинга? Или девушка с глубоким декольте? Пачка рублей или долларов? — Нейросеть выдаст четкий рецепт лучших обучающих курсов. 

( Читать дальше )

CNN и финансовые TimeSeries

Есть такая CNN, сверточная сеть то бишь. На вход ей подаются картинки, на которых она учится отличать собачек от кошечек.  Меня это, относительно применения на фондовой бирже всегда привлекало.  

Сначала определимся какие рисунки подносим CNN. В качестве рисунков мы можем подать:

  1. Сырые ряды: цены, обьемы, индикаторы
  2. Индикаторы. То есть для каждого значения подсчитать набор тех.индикаторов и красиво оформить их в матрицу. Ведь что такое рисунок? Это всего лишь набор пикселей, каждый пиксель это значение какого то техиндикатора, чем он больше тем пиксель темней. Тут есть даже практическая реализация которой я частично и воспользовался. https://github.com/nayash/stock_cnn_blog_pub
  3. Представить сырые временные ряды в другой системе координат. Например GramianAngularField, где как пишут авторы больше информации. Так блин и пишут. Набиваете в гугле GramianAngularField и выпадает куча ссылок, но мне лично больше понравилась работа иранских товарищей https://arxiv.org/pdf/1810.08923.pdf


( Читать дальше )

....все тэги
UPDONW
Новый дизайн