Skip to content

Алгоритм поиска аномальных значений объема и изменения цены и принятия решения о покупке/продаже.

Notifications You must be signed in to change notification settings

al33m501/anomaly-vol-alert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Anomaly-Vol-Alert

Авторы:

https://github.com/rasulibragimov

https://github.com/al33m501

https://github.com/GiryaII

Алгоритм поиска аномальных значений объема и изменения цены и принятия решения о покупке/продаже. Для запуска необходим REFRESH TOKEN брокера АЛОР. Необходимые модули есть в requirements.txt

Описание алгоритма

BUY: VOL (1MIN) > QUANTILE*(100 LAST VOLS, Level=0,9995) AND

ROCP**(1MIN) > 0

SELL: VOL (1MIN) > QUANTILE(100 LAST VOLS, Level=0,9995) AND

ROCP > QUANTILE(100 LAST ROCP, Level=0,9995)

*Quantile alpha-level of [the absolute value of] last n observations

**ROCP: Rate of change Percentage: (price-prev_price)/prev_price * 100

Техническая реализация

Anomaly-vol-alert состоит из нескольких пакетов:

  • Backtest_Strategy
  • Realtime_Signals

Backtest_Strategy

Первый пакет отвечает за проверку стратегий. В нем используется Фреймворк Backtesting для проверки стратегий на котировках из прошлого. Он не может получать данные быстро в реальном времени (в рамках задачи для данного пакета это и не требуется), однако он может загружать автоматически большие объемы данных (с помощью API брокера АЛОР) для тестирования различных стратегий, для их дальнейшего использования во втором пакете.

Realtime_Signals

Второй пакет отвечает за информирования пользователя о необходимости покупки либо продажи в соответствии с выбранной стратегией. Скрипт автоматически и в реальном времени загружает тики по всем тикерам Мосбиржи (с помощью API брокера АЛОР) и рассчитывает необходимые значения индикаторов, уведомляя в случае необходимости совершить сделку через телеграм канал. Данный пакет не предназначен для проверки стратегий, он создан для использования уже протестированного алгоритма из первого пакета.

Немного про реализацию: Запрос по каждому тикеру беспрерывно, в бесконечном цикле, далее тики агрегируются в минуты, при агрегации, если собрано уже 100 минут (объем хранения минут ограничен, хранится не более 100 последних минут, это уже оптимизированный гиперпараметр) за прошлые периоды, происходит проверка на сигнал: рассчитываются все индикаторы и аналогичный алгоритму выше алгоритм решает, надо ли выпускать сигнал о покупке/ продаже. При положительном решении, на основе данных о цене, объеме, и значениях всех индикаторов генерируется текст сигнала и он отправляется в телеграм канал. Скрипт проработал более недели без сбоев, результат работы имеется в телеграм канале: https://t.me/joinchat/28bkkQ-1GqszOThi

About

Алгоритм поиска аномальных значений объема и изменения цены и принятия решения о покупке/продаже.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published