Я провел последние несколько дней, работая над простым вопросом AlgoTrading: могут ли лучшие в своем классе алгоритмы распознавания изображений, которые теперь имеют точность + 99%, вместо этого использоваться для прогнозирования «выигрышных» и «проигрышных» конфигураций ценовых графиков. кошек и собак?

Это упражнение также было частью работы, которую я выполняю на курсах fast.ai. В настоящее время я пересдаю курс в их новой версии v2 (используя PyTorch вместо Keras), поэтому я подумал, что это будет хорошим мостом между моими интересами и материалами курса.

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

Поэтому я пошел дальше и построил весь конвейер (за исключением части торгового движка) на Python:

- он получает данные о ценах на валюту (я использую Oanda.com)

- затем он отображает его в соответствии с определенными «viewPorts» (60 минут ценовых данных отображаются в виде линии с шагом данных в 1 минуту)

- сохраняет каждый сюжет в виде файла .png, называя его в соответствии с его классом (покупка, продажа или удержание), а также помещает его в нужную папку внутри папки «поезд» или «действительный».

- он также принимает во внимание отличный совет Рэйчел о том, как правильно настроить обучающие и валидные наборы данных.

- затем данные проходят через модель распознавания изображений fastAI Lesson1

Весь код можно найти на моем Github, представленном в Jupyter Notebooks с пояснениями для каждого шага и раздела кода.

ЗАКЛЮЧЕНИЕ

На этом этапе уровень точности в лучшем случае является случайным (~ 50%), что и следовало ожидать с учетом специфики моего набора данных (детализированные данные FX с небольшой работой по шумоподавлению). Я знал это с самого начала, но, тем не менее, это было полезное упражнение.

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