Найти в Дзене
Практика

Трейдинг бот. Спустя год... ч4.1 Возвращение к боту.

Добрался я до продолжения работы над трейдинг ботом. Уж очень хочу завести этот проект. Это всё потому что накануне выдались отличные выходные и мне даже удалось отдохнуть и куда-то выспаться! Начало здесь: Создание Трейдинг бота Заодно решил протестировать "вкусный" фреймворк superduperdb, об этом я писал немного ранее Обзор фреймворка superduperdb Что было сделано в эту итерацию. Ну в общем поехали! Пересчитал метрики Пересчитал метрики ну чтобы убедиться что инструменты ранее отобранные - подходят, ну и как оказалось нифига не работает =(. Точнее не работает импорт из финама (тк я использовал пакет которая тянет данные с помощью парсинга сайта). Ну и естественно как все такие инструменты работает до тех пор пока не изменён дизайн. Зато нашёл альтернативный годный пакет moeximporter, который уже работает через api. Далее пересчитал метрики. Естественно инструменты поменялись... Но это ещё не всё! Изучая метрики я понял что те метрики которые я использовал совершенно не подходят
Оглавление

Добрался я до продолжения работы над трейдинг ботом. Уж очень хочу завести этот проект. Это всё потому что накануне выдались отличные выходные и мне даже удалось отдохнуть и куда-то выспаться!

Начало здесь: Создание Трейдинг бота

Заодно решил протестировать "вкусный" фреймворк superduperdb, об этом я писал немного ранее Обзор фреймворка superduperdb

Что было сделано в эту итерацию.

  • Пересчитаны (переделаны) метрики (смотри Выбор инструмента)
  • Упрощена концепция
  • Проведены многочисленные неудачные попытки обучить нейросеть
  • Найдена альтернативная модель которая дана достаточную точность
  • Посчитана фин-модель (Ну это конечно громко сказано)

Ну в общем поехали!

Пересчитал метрики

Пересчитал метрики ну чтобы убедиться что инструменты ранее отобранные - подходят, ну и как оказалось нифига не работает =(. Точнее не работает импорт из финама (тк я использовал пакет которая тянет данные с помощью парсинга сайта). Ну и естественно как все такие инструменты работает до тех пор пока не изменён дизайн. Зато нашёл альтернативный годный пакет moeximporter, который уже работает через api.

Далее пересчитал метрики. Естественно инструменты поменялись... Но это ещё не всё! Изучая метрики я понял что те метрики которые я использовал совершенно не подходят. Они подсчитаны на спекуляцию внутридневную. В таком случае усложняется модель и в целом работа с ней, надо запускать скрипты раз в15 минут или чаще, да и без специальных тарифов кажется что будет не выгодно. В итоге метрики я переписал так: считаем 20й перцентиль от минимумов lo_20 по дню (я брал часовые свечи) и 80й перцентиль hi_80 от максимума. Соответственно оценочная выгода при 100% точности модели будет hi_80 (завтра) - lo_20(сегодня). Ну в таком виде пересчитал метрики. Посчитал на разных интервалах в итоге остановился на 180 дней.

-2

Кандидаты: 'GTRK', 'TNSE', 'RTSB', 'SARE', 'KCHE', 'KCHEP', 'ASSB', 'TGKB', 'KBSB',
'MISB', 'RTSBP', 'NKHP', 'ARSA', 'DVEC', 'NNSBP', 'NNSB', 'IGST',
'KTSB', 'RBCM', 'ROST', 'NSVZ', 'TASB', 'IGSTP', 'MRSB', 'MISBP',
'KLSB', 'CHGZ', 'MRKZ'

-3

Ну и пока переписывал метрики меня посетило озарение, при котором поменялась концепция. Итак модель(регрессия) должна спрогнозировать 2 числа завтра lo20 и послезавтра hi80. Идея такая: попасть в 20% значения проще чем в 1 % (если прогнозируем max\min). Ну и если такая модель успешная то выставить заявку на hi80 + 5% никтож не мешает.

Далее логика принятия решения - простая. Если модель прогнозирует что завтра цена покупки меньше чем цена продажи после завтра то совершаем сделку. И всё готово!

Далее опишу данные, эксперименты с нейросетями и другими моделями.

Графики.

Графики очень похожи поэтому добавлю какой-нибудь один.

-4