
Найдите высокие движущиеся запасы, прежде чем они движутся, используя обнаружение аномалий и машинное обучение. Удивительный использует машинное обучение, чтобы посмотреть на объем + ценовое действие и вывести необычные шаблоны, которые могут привести к большим шагам в акциях.
| Путь | Описание |
|---|---|
| удивительный | Основная папка. |
| └ Словарь | Папка для сохранения словарей данных для последующего использования. |
| └ Цифры | Цифры для этих репозитории GitHub. |
| └ Акции | Список всех акций, которые вы хотите проанализировать. |
| data_loader.py | Модуль для загрузки данных из Yahoo Finance. |
| Detection_Engine.py | Основной модуль для выявления аномалий для данных и поиска акций с наиболее необычными ценами и объемами. |
| feature_generator.py | Генерирует функции цены и объема возврата, а также множество технических индикаторов. |
Вам нужно будет установить следующий пакет для обучения и тестирования моделей.
Вы можете установить все пакеты, используя следующую команду. Обратите внимание, что сценарий был написан с использованием Python3.
pip install -r requirements.txt
Вы также можете использовать Docker, если знаете, что это такое, и есть некоторые знания о том, как его использовать. Вот шаги, чтобы запустить инструмент с Docker.
docker build . -t surpriver<C:\path\to\this\dir> с помощью каталога, в котором вы работаете.docker-compose up -ddocker exec -it surpriver к вашей командной строке.Если вы хотите пойти дальше и напрямую получить наиболее аномальные запасы на сегодня, вы можете просто запустить следующую команду, чтобы получить акции с самыми необычными шаблонами. Мы погрузимся глубже в команду в следующих разделах.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 0 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 1 --is_test 0 --future_bars 0
Эта команда даст вам 25 лучших акций , у которых был самый высокий балл аномалии в последних 14 барах 60 -минутных свечей . Он также будет хранить все данные, которые он использовал для прогнозирования в словари/data_dict.npy . Ниже приведено более подробное объяснение каждого параметра.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 1 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 0 --is_test 0 --future_bars 0 --output_format 'CLI'
Обратите внимание на изменение в is_save_dictionary и is_load_from_dictionary .
Вот вывод того, как выглядит единственное предсказание. Обратите внимание, что отрицательные оценки указывают на более высокие аномальные и необычные паттерны, в то время как положительные оценки указывают на нормальные закономерности. Чем ниже, тем лучше .
Last Bar Time: 2020-08-25 11:30:00-04:00
Symbol: SPI
Anomaly Score: -0.029
Today Volume (Today = Date Above): 313.94K
Average Volume 5d: 206.53K
Average Volume 20d: 334.14K
Volatility 5bars: 0.013
Volatility 20bars: 0.038
Future Absolute Sum Price Changes: 72.87
Если вы подозреваете использование машинного обучения и искусственного интеллекта в торговле, вы можете на самом деле проверить прогнозы этого инструмента на исторических данных. Двумя наиболее важными аргументами командной строки для тестирования являются is_test и future_bars . Если первый установлен на 1, а более поздний - что -то более 5, инструмент фактически оставит этот объем данных для целей анализа и использует данные до этого для аномальных прогнозов. Далее он будет рассмотреть оставшиеся данные, чтобы увидеть, насколько хорошо прогнозы. Вот пример графика рассеяния из следующей команды.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 0 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 1 --is_test 1 --future_bars 25
Если вы уже сгенерировали словарь данных, вы можете использовать следующую команду, в которой мы установили is_load_from_dictionary 1 и is_save_dictionary в 0.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 1 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 0 --is_test 1 --future_bars 25

Как вы можете видеть на изображении выше, аномальные акции (оценка <0) обычно в среднем имеют более высокое абсолютное изменение в будущем. Это доказывает, что прогнозы на самом деле предназначены для тех акций, которые двигались более чем в среднем в ближайшие несколько часов/дни. Один вопрос возникает здесь, что, если инструмент просто выберет самые высокие акции волатильности, потому что они принесут высокие будущие абсолютные изменения. Чтобы доказать, что это не так, вот более подробное описание статистики, которую вы получаете из вышеуказанной команды.
--> Future Performance
Correlation between future absolute change vs anomalous score (lower is better, range = (-1, 1)): **-0.23**
Total absolute change in future for Anomalous Stocks: **89.660**
Total absolute change in future for Normal Stocks: **43.000**
Average future volatility of Anomalous Stocks: **0.332**
Average future volatility of Normal Stocks: **0.585**
Historical volatility for Anomalous Stocks: **2.528**
Historical volatility for Normal Stocks: **2.076**
Вы можете видеть, что историческая волатильность для нормальных и аномальных запасов не так отличается. Тем не менее, разница в общем абсолютном будущем изменении составляет вдвое больше для аномальных запасов по сравнению с нормальными акциями.
Теперь вы можете указать, какой источник данных вы хотите использовать вместе, а какие списки акций вы хотели бы использовать.
python detection_engine.py --top_n 25 --min_volume 500 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 0 --data_dictionary_path 'dictionaries/feature_dict.npy' --is_save_dictionary 1 --is_test 0 --future_bars 0 --data_source binance --stock_list cryptos.txt
Мы постараемся выложить 25 лучших результатов для одного набора параметров каждую неделю.
Инструмент находит только акции, которые имеют некоторое необычное поведение в их цене и объеме действий вместе взятых. Он не предсказывает, в каком направлении будет двигаться акция. Это может быть функцией, которую я буду реализовать в будущем, но сейчас вам нужно будет посмотреть на диаграммы и сделать свой DD, чтобы выяснить это.
Продукт от традиционных технологий
Copyright (c) 2020-й-present, tradytics.com