Постов с тегом "Python": 283

Python


Как меняется Equity, если “учитель” (ИИ DNN LSTM) будет менее дерганным

Раннее писал о том, как наконец запустил обучение нейронных сетей в связке Metatrader+dll+R+Python+(Deepnet, Keras, Tensorflow и др).

https://smart-lab.ru/blog/1350243.php#comment19932474

Раз все теперь работает корректно, можно продолжить эксперименты.

В предыдущий раз, я использовал более менее дефолтные настройки, которые уже не раз запускал для отладки работы самих алгоритмов и технологической связки.

Настало время немного “подкрутить” параметры. Для иллюстрации, того, как изменится кривая Equity изменим параметры учителя немного, а именно сделаем два канала и синхронизируем их. Все, что не удалось синхронизировать в одинаковую сторону сигналы двух каналов, обозначим, как NA и в последствии уберём из обучающей выборки.

Период, принципы торговой системы (ТС) из предыдущей статьи и другие параметры сетей изменять не будем (пример №1 из предыдущей статьи).

Был запущен дополнительный вариант тестирования, при котором позиция закрывалась на следующем баре, если не достигла заданного TP. Посмотрим, что получилось.



( Читать дальше )

Суслик есть или нет. Сравнение RSI, Random и ИИ (ML DL DNN LSTM) в трейдинге

Именно такое название хотелось обозначить и закрыть свой “гештальт” в вопросе целесообразности (эффективности) использования каких либо “индюков” (индикаторы) или ML/DL при предсказании (найти в хаосе тренд) будущей цены на валютных парах.

Наверное, много, кто “гонял” оптимизатор и история, чтобы найти оптимальные параметры на какой-то срок, потом круг повторялся, когда все ломалось. Мне надоело, так делать и мне хотелось, чтобы механизм нейронных сетей (ML/DL) делал это за меня и за тестер. Так, начал свой “ресерч” (мне было очень интересно сравнить разные сигналы в одинаковых условиях ТС), потом забрасывал на годы, потом пересматривал и вот наконец, все таки, “добил” и оно “заработало”.

Предлагаю выбрать (LSTM, DNN_v1, RSI, DNN_v2, Random) и написать свой ответ в комментариях, какому варианту результата соответствует данный график Equity:

Суслик есть или нет. Сравнение RSI, Random и ИИ (ML DL DNN LSTM) в трейдинге

( Читать дальше )

9 библиотек Python для количественного трейдинга

9 библиотек Python для количественного трейдинга

Для всех, кто хочет погрузиться в мир количественных инвестиций и систематической торговли, Python станет незаменимым инструментом. Python — основной язык программирования для многих разработчиков в сфере количественных финансов. Он предлагает обширную экосистему библиотек, которые упрощают все: от анализа данных до реализации стратегий. Знания о библиотеках Python необходимы трейдерам для создания и внедрения торговых стратегий.

Quantstart рассказывает о девяти основных библиотеках Python, которые используют профессиональные количественные аналитики и трейдеры.

NumPy: быстрые математические и матричные операции

NumPy — это основа количественных вычислений в Python, обеспечивающая поддержку многомерных массивов и матриц, а также набор математических функций для эффективной работы с этими массивами. NumPy часто используется при работе с ценовыми данными, сигналами и тестированием на исторических данных.

Ключевые особенности:

  • Высокопроизводительные операции с массивами.
  • Широкая поддержка математических, логических и статистических функций.


( Читать дальше )

Баг, который принёс 70 тысяч — и почему я его всё равно починил


У меня на срочном рынке работает автомат: собирает данные, считает целевой портфель, сам ставит ордера через API брокера и вечером сверяет позиции со счётом. На прошлой неделе он двое суток держал не тот портфель, который должен был. И заработал на этом 69 762 ₽.

Сразу оговорюсь, чтобы не было разночтений с прошлым постом: речь про счёт в песочнице брокера. Ордера, маржа, роллирование и экспирация там настоящие, деньги виртуальные. Реальный счёт у меня отдельный и маленький, он тут ни при чём.

Дальше — про экспирацию. Не в смысле «не забудьте дату в календаре», а в смысле «она ломает ровно те места, где вы её не ждёте».

Что произошло

Портфель рыночно-нейтральный: несколько длинных позиций против нескольких коротких. Отдельную позицию дальше называю ногой, так короче. 

Одна из коротких ног — по инструменту с квартальной серией контрактов.

25 августа. Ликвидность переехала на следующий контракт. Активный контракт я выбираю по максимуму дневного объёма, и он честно переключился. Проблема в том, что переключился за день до последнего торгового дня старого. Объём мигрирует когда мигрирует, а не когда мне удобно.



( Читать дальше )

Как я проверяю, что стратегия не подогнана: протокол из 14 процедур, код открыт

В алготрейдинге около года, пришёл из другой сферы, где исследование начинается
с протокола: что проверяем, каким способом и какое решение принимаем по каждому
результату — всё это ДО того, как посмотрели на данные. В трейдинге меня удивило,
что здесь так почти никто не делает: сначала перебирают параметры, потом решают,
что считать успехом.

Выложил в открытый доступ то, чем сам проверяю систематическую стратегию перед
тем, как пустить её на реальные деньги:
github.com/andreyvarakin/quant-validation

Это не библиотека и не грааль. Половина содержимого давно и лучше сделана
в arch, quantstats, pypbo, backtesting.py — в README так и написано: в продакшн
берите их. Ценность в другом: в порядке процедур и в том, что каждая метрика
откалибрована.

Четыре вещи, ради которых писалось.

1. Отбор не должен видеть проверку. Если параметр выбран по всей истории, а
потом на ней же и показан — это не результат, а описание прошлого. В коде
параметр выбирается только на прошлом и применяется вперёд, без исключений.



( Читать дальше )

Мой сканер объёмов пропускал аномалии. Норма догоняла всплеск

Пишу сканер аномальных объёмов по MOEX. Логика простая: считаем норму объёма
для инструмента, сравниваем с текущим, превышение — сигнал. Всё работало.
Сигналы приходили, ложных было немного, я был доволен.

Потом полез в логи разбираться, почему на очевидном движении не было сигнала.
И выяснил, что система его видела. Посчитала. И сама же выбросила.

## Почему EMA казалась хорошей идеей

Норму я считал через экспоненциальную скользящую по объёму. Аргумент был
железный: рынок меняется, режимы меняются, статистика за 90 дней устаревает.
EMA подстраивается под текущий режим — если объёмы выросли в целом, порог
поднимется сам, и мы не завалим канал сигналами на ровном месте.

Звучит разумно. Так делают многие. Это и есть ошибка.

## В чём проблема

EMA обновляется той же свечой, с которой вы её сравниваете.

Прилетает аномальный объём. Система его фиксирует, но этой же свечой EMA идёт
вверх. Следующая аномальная свеча сравнивается уже с задранной нормой —
превышение меньше. Третья ещё меньше. К четвёртой-пятой свече EMA догнала



( Читать дальше )

Зоны спроса и предложения как алгоритм: скоринг зон, мультитаймфрейм и вход по пинбару (Python, asyncio)

 

Зоны спроса и предложения (supply/demand) — один из самых сильных концептов в трейдинге и один из самых субъективно рисуемых. Идея красивая: цена уходит из области, где крупный игрок набрал позицию, а потом возвращается «добрать» — и от этой области снова разворачивается. 

В этой статье разберём сканер, который делает именно это. Он проходит по всему рынку BingX, находит зоны спроса и предложения на старшем таймфрейме, оценивает каждую зону скорингом, ждёт возврата цены и подтверждающего пинбара на 5-минутках — и присылает сигнал в Telegram с нарисованным графиком: свечи, зоны, выделенная сигнальная область, уровни входа и стопа.

Весь код выложен на GitHub — советую читать статью параллельно с исходниками.

Зоны спроса и предложения как алгоритм: скоринг зон, мультитаймфрейм и вход по пинбару (Python, asyncio)


Что такое зона — и почему её оцифровать сложно

Зона спроса/предложения — это область, из которой начался сильный импульс. Логика простая: если из какого-то ценового кармана рынок резко улетел, значит, там был дисбаланс — крупные заявки, которые не успели исполниться целиком. Когда цена возвращается в этот карман, оставшиеся заявки доисполняются, и рынок часто снова разворачивается.



( Читать дальше )

Трендовая линия как алгоритм: фрактальные пивоты, нормированный угол и пробой телом (Python, без индикаторов)

 

Трендовая линия — самый субъективный инструмент технического анализа. Дайте одному графику десять трейдеров — получите десять разных линий. Кто-то ведёт по теням, кто-то по телам, кто-то «на глаз подгоняет» так, чтобы линия подтверждала уже открытую позицию. Это не анализ, это гадание с линейкой.

А раз линию рисует человек — её нельзя ни протестировать, ни автоматизировать. Каждый раз получается новая.

Интересная инженерная задача — формализовать «настоящую» трендовую линию в строгую геометрию: набор чётких математических условий, по которым машина строит линию объективно, одинаково и, главное, честно — не заглядывая в будущее. Никаких индикаторов, только цена, экстремумы и ATR.

В этой статье разберём детектор, который это делает. Он находит трендовые поддержки и сопротивления по фрактальным пивотам, отсеивает всё, что «уровнем» на самом деле не является, ловит пробой телом с фильтрами качества — и присылает сигнал в Telegram с нарисованным скрином: линия, якоря, свеча-пробой, уровни входа, стопа и тейка.



( Читать дальше )

Торговый робот для Т-Инвестиций. Как обычно самая сложная часть — не стратегия

GUI bot

Сразу оговорюсь: саму торговую стратегию в статье показывать не буду. Не потому, что там спрятан очередной «грааль», который превращает тысячу рублей в квартиру на Патриках. Просто статья вообще не об этом.

Недавно я завершил торгового робота под T-Invest API. И этот проект в очередной раз подтвердил старую мысль: придумать условие покупки и продажи обычно намного проще, чем сделать систему, которой не страшно дать доступ к реальному счёту.

На уровне первого прототипа всё выглядело довольно бодро:

получили цены > проверили условие > нашли сигнал > отправили заявку

Если задача — показать демку на своём компьютере, этого почти достаточно. Но как только появляются реальные деньги, начинается всякая мелкая, противная и очень важная работа. Заявка может исполниться частично. API может не ответить. Клиент может вручную что-нибудь купить или продать. Цена может оказаться старой. Программа может закрыться ровно в тот момент, когда брокер уже принял заявку, но ответ до робота ещё не дошёл. И вот тут простой скрипт заканчивается.

( Читать дальше )

Как вайбкодинг заставил меня скрестить крипту с ИИ.

Как вайбкодинг заставил меня скрестить крипту с ИИ

Всем привет! Страшно подумать, но мой аккаунт живет здесь с 2013 года, а последний раз я писал на Смартлаб аж в 2019-м. Много воды утекло, рынки поменялись, но недавно случилась история, которая заставила меня стряхнуть пыль с клавиатуры. Хочу рассказать, как я докатился до создания собственного ИИ-терминала, и заодно послушать фидбек от местных гуру алготрейдинга.

От первых тестов вайбкодинга до архитектуры собственного крипто-комбайна

Началось всё банально. Связался я как-то с нейросетями — пользовался активно, как и все: текст подправить, мелкий кусок кода написать, но в подкапотную магию особо не вникал. А потом в инфополе начало мелькать модное слово «вайбкодинг». Это когда ты не просто скрипты копипастишь, а буквально на пальцах объясняешь нейронке архитектуру, и она собирает тебе рабочий софт.

И тут меня осенило. У меня же годами пылилась куча торговых идей! А тут еще гиганты вроде Google и OpenAI буквально каждую неделю выкатывают всё более умные модели (счет идет уже на сотни). Где еще тестировать всю эту вычислительную мощь, как не в крипте?



( Читать дальше )

....все тэги
UPDONW
Новый дизайн