Аппроксимация VWAP на свечных данных

    • 03 июля 2026, 13:40
    • |
    • _sk_
  • Еще
Аббревиатура VWAP (Volume Weighted Average Price) означает средневзвешенную по объёмам сделок цену. Напомню, что точное определение VWAP производится по тикам (всем обезличенным сделкам) по формуле:
VWAP = sum(Pi * Vi) / sum(Vi),
где Pi — цена, а Vi — объём i-й обезличенной сделки. Далее, если значения VWAP для каждой 1-минутной свечи уже рассчитаны, то можно найти VWAP для любого набора 1-минутных свечей по формуле:
VWAP = sum(VWAPi * Vi) / sum(Vi),
где Vi — объём i-й свечи, а VWAPi — значение VWAP для i-й свечи.

Некоторые алготрейдеры применяют VWAP в своих алгоритмах. Возможно, что данная заметка им поможет.

Предположим, что тиков нет в наличии, а имеются лишь 1-минутные свечи, тогда имеет смысл использовать какое-то приближение для VWAP, которое можно определить по значениям цен O, H, L и C.

Рассмотрим несколько вариантов аппроксимаций и сравним их качество.

Аппроксимация 1. VWAP ≈ С.

Аппроксимация 2. VWAP ≈ (O + С) / 2.

Аппроксимация 3. VWAP ≈ (H + L) / 2.

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

Зарабатывающие торговые сигналы (читать до конца!)

    • 01 марта 2023, 13:00
    • |
    • _sk_
  • Еще

Решил «спалить грааль». Опишу тестирование торговой системы, которую можно использовать для демо-трейдинга, например, транслируя сигналы в мессенджерах и повышая свой авторитет как опытного трейдера среди аудитории. Риски использования лежат только на вас самих!

Система эксплуатирует нестационарность рынка, используя для входов и выходов моменты с повышенной волатильностью. Моменты входа и выхода зависят от одного явного параметра lookback и одного неявного greed. Торговля ведётся в лонг и шорт, может применяться на любых таймфреймах, но лучше на мелких. Подходит любой достаточно волатильный и ликвидный инструмент. Я буду демонстрировать результаты на фьючерсе на акции «Сбера» SR.
Зарабатывающие торговые сигналы (читать до конца!)

Период для тестирования выбран с начала 2015 года по конец февраля 2023 года. Торговля идёт фиксированной суммой на весь капитал по номиналу. Комиссия и проскальзывание установлены на уровне 0,03%. Склейка фьючерсов не используется, в конце дня, предшествующего дню экспирации, позиции закрываются и на следующий день открываются уже в новом фьючерсе. Таймфрейм 5 минут, чтобы было удобно оперативно транслировать сигналы через интернет.



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

Ограничитель количества транзакций на чистом QLua

    • 21 декабря 2022, 13:37
    • |
    • _sk_
  • Еще
При торговле с помощью роботов в терминале QUIK рано или поздно встаёт вопрос об ограничении количества отправляемых в секунду транзакций, чтобы не начинались ошибки вида: «Превышен лимит отправки транзакций для данного логина».

Простой способ, когда вводятся ограничения на уровне каждого торгового робота, приводит к ситуациям, когда заявки отправляются медленно из-за этого ограничения, а свободная пропускная способность ещё есть. Для введения общего ограничения для всех роботов сразу нужно использовать какой-то общий ресурс. В качестве такого ресурса может выступать база данных, собственная dll или что-то ещё. Но чистый QLua не позволяет использовать базу данных без каких-либо внешних библиотек, а dll не всякий умеет писать. К счастью, существует реализация ограничителя на базе файловой системы с помощью чистого QLua.

Создаётся некая папка D:\throttle\, где работает ограничитель интенсивности. Во время работы QLua-скрипты формируют в этой папке столько файлов, сколько транзакций в секунду разрешено, например 10. При каждой попытке послать транзакцию скрипты, грубо говоря, конкурируют за эти файлы. Если ресурса хватило, то транзакция отправляется, если нет, то скрипт ждёт 10 мс и повторяет попытку заново.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

QLua: таблица крупных "склеенных" обезличенных сделок - 2

    • 25 января 2022, 09:43
    • |
    • _sk_
  • Еще
Недавно ко мне обратился один из смартлабовцев с просьбой доработать скрипт из поста https://smart-lab.ru/blog/610116.php, чтобы можно было более гибко подходить к раскраске выводимой там таблицы крупных «склеенных» сделок. Я решил проделать эту работу и выложить сюда модернизированный скрипт.

Настройки раскраски таблицы производятся в самом скрипте. Я сделал какие-то настройки для светлой темы терминала, может быть, весьма далёкие от ваших идеалов. Каждый пользователь пусть настраивает сам на свой вкус через палитру RGB (для каждого из трёх основных цветов нужно выбрать интенсивности от 0 до 255), редактируя строки в начале основного скрипта.

Для работы скрипта нужен собственно сам скрипт и один или несколько файлов настроек для ваших наборов инструментов. Границы крупных и очень крупных сделок, проскальзывания и «многосоставности» сделок также пользователи настраивают под себя. В терминале QUIK запускается файл с настройками, а он в свою очередь запускает основной скрипт.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Алготрейдинг в QUIK с 14 сентября

    • 09 сентября 2020, 15:23
    • |
    • _sk_
  • Еще
МосБиржа планирует 14.09.2020, в конце-концов, перейти на 19-значные номера заявок и сделок. При этом терминалы QUIK, которые должны обеспечивать корректную работу с такими номерами в QLua, всё ещё в сыром состоянии. Историю вопроса можно почитать, например, тут:
forum.quik.ru/forum10/topic5119/

У меня лично тестовый терминал 8.8.4.3 периодически падает через пару-тройку дней непрерывной эксплуатации. Реальная торговля пока идёт на версии 8.3. При этом альтернатива такая: либо вообще тушить торговлю с 14 числа придётся, либо сидеть и бояться, что терминал внезапно упадёт. Неприятная ситуация.

Алготрейдеры, использующие QLua, кто и как планирует жить с 14 сентября? Напишите в комментариях.
  • обсудить на форуме:
  • QUIK

Просто цена или что-то, стоящее за ней?

    • 13 июля 2020, 13:23
    • |
    • _sk_
  • Еще
При разработке торговой системы на основании свечного графика можно идти двумя путями.

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

Путь 2. Предложить более глубокую модель, где каким-то образом вычисляется что-то, стоящее за ценой и определяющее её. Например, пусть в модели как-то связываются спрос и предложение в предыдущие и текущий момент времени некоторой ощутимой группы участников рынка, после чего вычисляется текущий совокупный спрос (total demand) и предполагается, что именно этот совокупный спрос и будет двигать цену в ближайшем будущем (есть корреляция между будущим приращением цены и текущим total demand модели). Если есть заметный перекос, надо быстро зайти в рынок и успеть прокатиться на этом дисбалансе (есть положительное математическое ожидание). В этом случае модель делает статистический прогноз на ближайшее будущее более обосновано, что-ли, по сравнению  тем, как это было для первого пути.

Какой из вариантов более плодотворен для получения хороших результатов в алготрейдинге?

Есть ли какие-то существенные аргументы за или против второго пути?

Лично у меня больше успехов по первому направлению, а хотелось бы и по второму тоже чего-то добиться.

Ответы на ребусы

    • 12 июля 2020, 08:45
    • |
    • _sk_
  • Еще
Вчера я написал пост, где предлагалось размять мозги и решить несколько «околорыночных» ребусов.

Настало время опубликовать ответы для тех, кому интересно, и показать, что решения ребусов, всё-таки, есть.


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

Ребусы

    • 11 июля 2020, 10:17
    • |
    • _sk_
  • Еще
В выходные рынки закрыты, поэтому можно и развлечься на рыночно-математическую тему. Извините, но у алготрейдеров будет преимущество. :)

Разгадайте ребусы, где одинаковым буквам соответствуют одинаковые цифры.

Ребусы



Примечание 1. Ребус может иметь больше одного решения.

Примечание 2. Пост рекламой не является. :)


Поиск и эксплуатация закономерностей

    • 09 июля 2020, 13:58
    • |
    • _sk_
  • Еще

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

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



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

Как я нейросети в трейдинге применял

    • 27 июня 2020, 08:24
    • |
    • _sk_
  • Еще
Ниже я честно описал одну из своих неудачных попыток применения нейросетей для трейдинга и привёл результат теста на истории системы для торговли на фьючерсе RI.

Разрабатываемая торговая система относится к непрерывным с фиксированным капиталом: в ней нет ни тейков, ни стопов, а есть лишь доля капитала, которая сейчас размещена в торгуемом инструменте (аллокация) и тройка предикторов. В тестах размер капитала постоянный, чтобы реинвестирование не искажало результат. Если доля равна 1, то взят лонг на весь капитал при торговле по номиналу, если доля -1, то шорт на весь капитал; для аллокации допустимы любые вещественные значения между -1 и 1.

Возьмём 15-минутный таймфрейм. Торговая система осуществляет сделки по ценам закрытия свечей. На каждой свече, за исключением самой последней свечи торговой сессии, с помощью нейросети вычисляется доля капитала под позицию, определяется, сколько контрактов должно быть в этой позиции, после чего покупается или продаётся такое число контрактов, чтобы текущая позиция превратилась в целевую.

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

теги блога _sk_

....все тэги



UPDONW
Новый дизайн