Питон с Уолл-Стрит Часть 4

Или извините, вам нужно снова тренироваться

Отказ от ответственности:
Этот проект состоит из восьми частей, которые я буду использовать, чтобы иметь возможность реализовать различные технологии, которые я хочу изучить.
Вы можете повторно использовать любую часть этого сценария. . Но я бы не советовал использовать его на фондовом рынке со своими деньгами. Если вы это сделаете, я никоим образом не несу ответственности за любые последствия этого.

часть 1: извлечение данных и вычисление трендовых индикаторов
часть 2: создание конвейера ETL для качества и централизации данных
часть 3: создание модели классификации
часть 4: автоматическое переобучение модели
часть 5: создание API для доступа к данным
часть 6: визуализация данных
часть 7: создание контейнера docker для архитектуры микросервисов
часть 8: автоматизация процессов

Что такое трубопровод

Весь конвейер, от извлечения данных из API, обработки данных, извлечения функций и дополнений до маркировки данных и их вставки в базу данных перед обучением, выглядит следующим образом:

Почему вам нужно переобучить вашу модель

Модель, которую вы обучаете, представляет только шаблон данных, основанный на прошлых данных. Таким образом, это только представитель окружающей среды в данный момент времени.
Модели часто требуют повторного обучения в какой-то момент после их запуска в производство. Часто распределения и статистика базовых данных, истинная правда, меняются после развертывания. Эти изменения обычно связаны с изменением рыночных и демографических условий.

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

Подходы к переподготовке

Чтобы обнаружить дрейф, я реализовал два подхода.
Один основан на статистическом подходе, основанном на проверке дискретных данных (бинарные данные, то есть: 0 и 1 для индикаторов и свечи) и непрерывных данных (функции, значения которых варьируются от -бесконечности до + бесконечности).
И еще один, основанный на машинном обучении и классификаторе, который должен отличать новые данные от прежних.

Статистические тесты:

Статистический тест обеспечивает механизм для принятия количественных решений о процессе или процессах. Цель состоит в том, чтобы определить, достаточно ли доказательств, чтобы отвергнуть предположение или гипотезу о процессе.
https://www.itl.nist.gov/div898/handbook/prc/section1/prc13.htm

Дана популяция и новая выборка. Какова вероятность того, что эта выборка, учитывая ее среднее значение и стандартное отклонение, принадлежит совокупности?
Учитывая оценку, которую возвращает статистический тест, принадлежит ли выборка совокупности или нет? Можно ли отвергнуть нулевую гипотезу?
Это можно записать следующим образом:

  • Ho: нулевая гипотеза => выборочное распределение принадлежит распределению генеральной совокупности с учетом его p-значения, нулевую гипотезу невозможно отвергнуть.
  • Альтернативное => выборочное распределение не принадлежит распределению генеральной совокупности с учетом его скорингового значения, нулевая гипотеза отклоняется.

Дискретные данные.
Данные являются дискретными, если они могут принимать только определенные значения. В нашем случае некоторые из признаков могут быть только 0 или 1. В нашем случае следующие признаки являются категориальными данными: rsi_indicator, stoch_indicator, ema_indicator, bollinger_indicator и свечи.

  • Тест хи-квадрат: тест хи-квадрат измеряет, как фактические наблюдаемые данные сравниваются с ожидаемыми результатами эксперимента. Например, если вы подбрасываете монету 1000 раз и хотите проверить, уравновешена она или нет, вы можете сравнить количество фактических выпадений орла или решки с ожидаемым числом, которое будет составлять 500 орлов и 500 решек.
    Согласно к полученному результату теста и поиску с помощью таблицы хи-квадрат вы можете затем оценить, можете ли вы отвергнуть нулевую гипотезу. В этом случае было бы так, что распределение для данной функции одинаково для нового набора данных и старого.

Непрерывные данные.
Данные являются непрерывными, если они могут принимать любые значения в заданном диапазоне. В нашем случае некоторые функции относятся к диапазону от -бесконечности до + бесконечности.
В нашем случае следующие функции являются непрерывными данными: объем, количество сделок, RSI, var_ema, var_bollinger, var_stoch.

  • T-тест: t-тест — это тип логической статистики, используемый для определения того, существует ли значительная разница между средними значениями двух групп.
    Для работы с T-тестом необходимы три ключевых значения: разница между средними значениями из каждого набора данных (средняя разница), стандартное отклонение каждой группы и количество точек данных в каждой группе.
    Затем вычисляется t-показатель, и этот показатель может использоваться в сочетании с t-таблицей для оценки вероятности возникновения этого среднего значения и может или не может быть отвергнута нулевая гипотеза.

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

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

кумулятивное значение распределения CDF: вероятность того, что переменная будет иметь значение, меньшее или равное заданному значению

  • тест Колгоромова: это непараметрический тест, который позволяет избавиться от гипотезы нормальности и, следовательно, лучше обобщает реальные случаи, чем t-критерий. Его цель — сравнить распределение/форму двух распределений.
  • Тест будет измерять дельту между CDF двух популяций. Оценка будет равна максимальному количеству этих различий (должно быть равно 0, если распределения равны). Затем еще раз оценивается вероятность наличия этого значения дельты, если нулевая гипотеза верна. Учитывая это значение, принимается решение отклонить или нет нулевую гипотезу.

Подход классификатора:

  • Случайный лес:
    можно реализовать и другой подход, основанный на случайном лесу. Цель состоит в том, чтобы обучить модель, основанную, с одной стороны, на новых поступающих данных, а с другой — на подвыборке уже вставленных данных, чтобы результирующий набор данных был сбалансирован.
    Затем будет обучена модель, и новые поступающие данные будут проходить классификацию.
    Если новые данные близки к старым, точность классификации (определяемая площадью под кривой) будет очень низкой, поскольку модель не может четко различать два класса. В противном случае, если модель действительно работает хорошо и способна эффективно различать два класса старых и новых данных, это означает, что распределение новых данных отличается от распределения старых, и поэтому после вставки новая модель должна быть обученным.

Кривая AUC — ROC представляет собой измерение производительности для задачи классификации при различных пороговых значениях. ROC представляет собой кривую вероятности, а AUC представляет собой степень или меру разделимости. Он говорит, насколько модель способна различать классы. Чем выше AUC, тем лучше модель предсказывает 0 как 0 и 1 как 1. По аналогии, чем выше AUC, тем лучше модель различает пациентов с заболеванием и без заболевания.
Кривая ROC построена с TPR в зависимости от FPR, где TPR находится на оси y, а FPR - на оси x. .

TPR: доля истинно положительных результатов
FPR: доля ложноположительных результатов

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

Вывод

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

Следующие шаги

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

Использованная литература

https://www.youtube.com/watch?v=K2Tjdx_1v9g















https://www.youtube.com/watch?v=ZO2RmSkXK3c