Введение
Я работал в количественном хедж-фонде в течение пяти лет. За это время ML/AI стали все больше и больше присутствовать в отрасли. В рамках пилотного проекта я занимаюсь Fanyuan Investment Management и Pan-Origins LLC, а также частью деятельности Udacity Data Science Nano Degree, на которую я зачислен; Я создал веб-приложение, которое позволяет проводить точное тестирование торговой стратегии с широкими возможностями настройки. Во время работы над функцией оптимизации веб-приложения был задан вопрос: можно ли использовать машинное обучение в качестве средства проверки потенциального торгового пула?
Создание скринера на основе модели машинного обучения само по себе вызывает несколько вопросов:
- Какой тип модели машинного обучения работает лучше? Под присмотром или без присмотра?
- Какова точность моделей и что может влиять на точность? Достаточно ли он точен для применения в реальных ситуациях?
- Если модель пригодна для использования, какие другие факторы необходимо учитывать? и как лучше всего включить его в веб-приложение?
Метрики
- Метрики, используемые для оценки моделей, — это точность, матрица искажения, стандартное отклонение.
- Метрики выбраны потому, что основной интерес представляет точность предсказания модели, следовательно, оценка того, будет ли она применяться в реальном мире.
Анализ
Чтобы ответить на вопросы, я создал классификатор случайного леса и модель искусственной нейронной сети, а также проверил прогнозы, оценил точность модели и создал матрицу путаницы для дальнейшей оценки.
В модели классификации случайного леса с применением k-кратной перекрестной проверки:
Точность: 59,11%
Стандартное отклонение: 6,75%
Точность матрицы путаницы: 61,54%
В модели искусственной нейронной сети (эпохи = 100):
Точность: 71,43%
Точность матрицы путаницы: 55,38%
Глядя на результаты, можно сделать несколько замечаний:
- На первый взгляд неконтролируемая модель имеет гораздо более высокую точность.
- Однако точность матрицы путаницы противоречит оценочным результатам точности, поскольку контролируемая модель тестировалась на высокую точность матрицы путаницы.
- Если углубиться в рассуждения, это может быть связано с небольшим размером выборки тестовых данных. По мере того, как в модель ИНС будет поступать больше тестовых данных, несоответствия между оцененной точностью и точностью матрицы путаницы будут уменьшаться.
- расхождения двух точностей в контролируемой модели намного меньше, потому что точность получена из перекрестной проверки K-кратности.
- Обе модели могут быть дополнительно оптимизированы, однако это ограничено.
Вывод
- Модель с наибольшей точностью является неконтролируемой моделью.
- Точность модели зависит от количества и качества данных.
- Модель можно использовать в качестве средства проверки торговли акциями в реальном мире, однако необходимо учитывать и другие факторы, не связанные с моделью. Например, точность может показаться хорошей, но если часть из 30% выпущенных акций имеет высокую доходность, это может свести на нет потери выпущенных акций.
- В зависимости от самой торговой стратегии модель может оказаться полезной и применимой для предварительной проверки реальных сделок или оказаться более вредной для торговой стратегии. Тестирование на истории без модели и тестирование на истории с моделью в качестве скринера необходимо выполнить, чтобы сравнить результаты возврата, чтобы сделать вывод, следует ли применять модель в качестве предварительного скринера в стратегии реальной торговли.
- Вообще говоря, для торговых стратегий с фиксированным процентом прибыли и сокращением процента убытка, таких как набор данных, предоставленный Fanyuan, для повышения доходности торговой стратегии требуется точность модели 70%. Следовательно, классификатор случайного леса 59,11% бесполезен в этом сценарии, и может быть полезна модель ИНС с точностью 71,43%.
- Точность модели можно повысить, если предоставить больше торговых данных, поскольку количество и качество данных влияют на точность модели.
- При применении скринера в реальных ситуациях необходимо учитывать все факторы, связанные с торговлей, такие как, помимо прочего, стоп-выигрыш, сокращение убытка, время торговли и т. д.
- Лучший способ включить скринер в веб-приложение — протестировать стратегию с помощью скринера и сравнить результаты с бэктестингом без скринера. После этого может быть принято решение о том, стоит ли торговать в режиме реального времени со скринером или нет.
Опять же, выводы, сделанные здесь, являются частью ненаучного/формального исследования, и поэтому необходимо провести дальнейший анализ, чтобы принимать решения на основе этих данных.
Подробности каждого анализа (код и шаги) и репозиторий для веб-приложения можно найти в этом репозитории Github.
Получили ли вы другие выводы из анализа? Возражать против выводов? Хотите воспроизвести результаты или провести другой анализ тех же данных или провести тот же анализ других данных? Не стесняйтесь вносить свой вклад!