Я провел последние несколько дней, работая над простым вопросом AlgoTrading: могут ли лучшие в своем классе алгоритмы распознавания изображений, которые теперь имеют точность + 99%, вместо этого использоваться для прогнозирования «выигрышных» и «проигрышных» конфигураций ценовых графиков. кошек и собак?
Это упражнение также было частью работы, которую я выполняю на курсах fast.ai. В настоящее время я пересдаю курс в их новой версии v2 (используя PyTorch вместо Keras), поэтому я подумал, что это будет хорошим мостом между моими интересами и материалами курса.
В конце Урока 1 Джереми предлагает вам сделать свои собственные снимки, которые необходимо правильно отсортировать, и попытаться заставить алгоритм предсказать класс. Он особо отмечает, что алгоритм хорошо подходит для таких вещей, как кошки и собаки, и не обязательно для других типов изображений (о чем мы поговорим позже в этом посте).
Поэтому я пошел дальше и построил весь конвейер (за исключением части торгового движка) на Python:
- он получает данные о ценах на валюту (я использую Oanda.com)
- затем он отображает его в соответствии с определенными «viewPorts» (60 минут ценовых данных отображаются в виде линии с шагом данных в 1 минуту)
- сохраняет каждый сюжет в виде файла .png, называя его в соответствии с его классом (покупка, продажа или удержание), а также помещает его в нужную папку внутри папки «поезд» или «действительный».
- он также принимает во внимание отличный совет Рэйчел о том, как правильно настроить обучающие и валидные наборы данных.
- затем данные проходят через модель распознавания изображений fastAI Lesson1
Весь код можно найти на моем Github, представленном в Jupyter Notebooks с пояснениями для каждого шага и раздела кода.
ЗАКЛЮЧЕНИЕ
На этом этапе уровень точности в лучшем случае является случайным (~ 50%), что и следовало ожидать с учетом специфики моего набора данных (детализированные данные FX с небольшой работой по шумоподавлению). Я знал это с самого начала, но, тем не менее, это было полезное упражнение.
Надеюсь, это поможет любому, кто попытается провести аналогичный эксперимент.