Избранное трейдера Burzhui

по

Интеграция Lua и С++ (2)


Обмен данными между Lua и Сpp осуществляется через Lua-стэк, то есть через специальным образом структурированное (по принципу Last In — First Out) пространство. 


Интеграция Lua и С++ (2)

Иллюстрация процесса добавления переменных в Cтэк (Push) и извлечения переменных из Стэка (Pop).

Иными словами, Lua стэк — это одномерный массив переменных (список, строка) с прямой (от 1 до n) индексацией.



Заполняется стэк командами lua_push (С-side) :

void lua_pushnumber (lua_State *L, lua_Number n);
const char *lua_pushstring (lua_State *L,  const char *s);

и другими. 


Новой переменной в стэке Луа длинной n автоматически присваивается индекс [n+1] или [-1], где n+1 — абсолютный индекс переменной, а -1 — индекс новой переменной относительно конца (!) стэка. 




Доступ, к переменным, соответственно осуществляется функциями lua_to (C-side) :

lua_Number lua_tonumber (lua_State *L, int index);
const char *lua_tostring (lua_State *L, int index);
где L — указатель Lua-стэка, а index — абсолютный или относительный индекс переменной в стэке.

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

Интеграция MatLab Engine и С++ (1)

В сложных вычислительных задачах (или просто при нежелании программировать на Lua, Cpp и т.д., а пользоваться более высокоуровневыми инструментами разработки), незаменимым оказывается API интерфейс Матлаба реализованный в качестве Active-X COM Automation Server.  Для его реализации на языке Си существует специальная библиотека libeng.lib, позволяющая языкам Си, С++, Фортран обмениваться данными и пользоваться всеми ресурсами Матлаба (обычно это обработка видео, автопилоты, ИИ, нейронные сети и т.п.).


Поэтому, в качестве изучения возможностей, попробуем реализовать простейший проект обмена данными и вызова функций Матлаб со стороны Си++ при использовании CodeBlocks и MinGW64.



  • Запуск интерфейса Матлаб

Чтобы адресовать все внешние процессы к единому процессу Матлаб, а не запускать Engine для каждого процесса в отдельности, 
запустим «двигатель» матлаба внутренней командой :

server=actxserver('matlab.application.single'); server.Execute(' enableservice (''AutomationServer'', true)');


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

Практическая теория. 1

Без практики теория, как бы, дохлая кошка. Но прежде чем практиковаться, надо подумать. Сделать, как вы это называете ТС. Я постараюсь выбрать время и запустить такую ТС вместе с вами. А пока вспомним немного теории, или узнаем, и по ходу будем ее юзать. Конечно, я бы хотел, что бы вы мне помогли советами. Может мы, как то, вместе это улучшим. Пока для немногих, кто случайно не в курсе про опционы, изложу методы вычисления. Как обычно прикреплю файлик в экселе. https://cloud.mail.ru/public/2etF/2upCiHKgs

Я возьму SPY вернее не весь, а только его финансовый сектор XLF. Оно и дешевле и ликвидность хорошая. Вы можете взять РТС или SI. Мы будем продавать опционы и как то из этого выкручиваться. Продавать мы будем коллы, а покупать БА. У кого нет денег, тот может либо их взять, либо продавать путы. Деньги брать можно прямо на бирже, потому что биржа это такая организация, которая торгует деньгами.

Итак, методика. На листе XLF я выписал цены закрытия XLF с 13.01.2020 по 12.02.2020, 31 день. Затем я нашел дисперсию ln(сегодня/вчера) из дисперсии я вывел Стандартное отклонение. Взял корень из 365 ( 19.1), а умножив 19.1 на стандартное отклонение одного дня получил волатильность годовую, которой мы и будем торговать и о которой вы должны были слышать. (желтый столбец). Так как я использую 365 дней в году, то в расчеты я должен включить и выходные дни без изменения цены.



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

Настройки QUIK (версия 8.2.0.78) разрешение 1366x768

    • 31 января 2020, 21:12
    • |
    • Manstep
  • Еще
Выкладываю некоторые свои настройки в QUIK (разрешение экрана 1366x768).
Можно использовать их как шаблон и перенастроить под себя в зависимости от стиля торговли. 
Не забудьте после загрузки в QUIK проверить настройки в таблицах (я их настроил под себя).

Скачать настройки для QUIK можно по ссылке: yadi.sk/d/r3W8LKz7SV84gA

Для торговли акциями (1366x768):
Настройки QUIK (версия 8.2.0.78) разрешение 1366x768


Для торговли облигациями (1366x768):
Настройки QUIK (версия 8.2.0.78) разрешение 1366x768

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

Как за полминуты протестировать идею на 150 миллионах тиков

    • 31 января 2020, 19:24
    • |
    • r0man
  • Еще

Тестировать будем крипту на Bitmex, так как там можно без проблем достать тики с направлениями на халяву.
Собственно, идея очень простая:
— покупаем, если сумма объемов последних 5 сделок больше 500,000
— продаем, если сумма объемов последних 5 сделок меньше -500,000
Торгуем одним условным битком (тикер XBTUSD).
Использовать будем R и пакет QuantTools.
Пишем немножко кода:
Как за полминуты протестировать идею на 150 миллионах тиков

Результаты:
Как за полминуты протестировать идею на 150 миллионах тиков



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

Природный газ на Московской Бирже

Московская биржа начинает с 3 февраля торги фьючерсом на природный газ. www.moex.com/n26759/?nt=106
Код NG
Объем в 100 раз меньше чем на NYMEX (100 MMBtu)
Объем около 180-185 USD, ГО порядка 2000-2100 руб.
Исполняется раз в месяц (за день до исполнения на NYMEX)

Как не обмануть себя бектестом на NYSE

Спросили меня тут как правильно тестить NYSE… всех деталей не скажу, но могу дать пару советов, которые сэкономят вам время и деньги.

 

1. Не доверяйте High и Low свечей. На америке есть ADF и некоторые трейды могут влиять на High и Low дня (и любой свечи соотвественно). Чем ниже цена бумаги и чем ниже ликвидность — тем меньше у вас должно быть доверия к свечкам. Чаще всего это выглядит как большая тень — да, по этой цене были сделки и кто-то там поторговал, но с большой вероятностью это order internalization внутри какого-нибудь брокера. Особенно часто они в первые минуты торгов High и Low не дают никакой гарантии исполнения. На жирных бумагах такого в разы меньше, но иногда встречается. Отдельным пунктом идут внебиржевые сделки, которые всегда рисуют большие тени. Поставщики данных страются их фильтровать, но не всегда выходит. В идеале нужно собирать все свечи самому с отфильтрованных тиков, но очень трудозатратно для америки. Второй вариант — не учитывать H/L для свечей с очень большими теням + смотреть на рейндж соседних свечей. Подготовка данных для тестов целое искусство, серьезно.



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

Подписывайтесь на паттерны!

Мы тут сделали подписку на паттерны:

https://ai-finmarkets.com/ru/fin/srv/price_patterns/service_search_price_patterns/

Подписывайтесь на паттерны!
Работает это штука очень просто.

Задаем паттерн:
1. Выбираем фин. инструмент.
2. Задаем дату начала/окончания паттерна.

Подписывайтесь на паттерны!

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

Россик и Рубик пробуют Ко (начало).

Для того, что бы окончательно понять, как часто надо делать дельта хедж, где его эффективность, надо обратиться к истории. Наша история, как обычно, начиналась в России. Где один Чувачек решил «валить с Рашки». Ну и так как самые русские в России это евреи, то чувачек взял себе фамилию Россия или, сокращенно, Росс. Его внук, родившийся уже в Бостоне был настоящим Русским Американцем с этой фамилией. Получив соответствующее образование, Стивен Росс стал доктором философии. Он преподавал экономику и менеджмент. С нашей точки зрения, он был обычным около рыночником. Учил трейдеров как надо торговать. При этом сам не выкладывал свое Экви и не участвовал в ЛЧИ.   wikiredia.ru/wiki/%D0%A0%D0%BE%D1%81%D1%81,_%D0%A1%D1%82%D0%B8%D0%B2%D0%B5%D0%BD_%D0%90%D0%BB%D0%B0%D0%BD

Там где есть один еврей, всегда будет другой еврей. Какой ни будь Вексельберг, Ротенбегр или на худой конец, если конец совсем худой, Кларнштейн. В нашем случае это был Мойша Рубинштейн, гордо называвший себя Моисей, намекая на глубокую связь с Ветхим Заветом. Как вы уже догадались, Рубик тоже был русский. А значит, он мог все достать. А зачем русские евреи едут в еврейскую Америку, в Бостон? Правильно. Что бы найти Кокса у русских негров. Таким образом, Росстик и Рубик сдружились.



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

О пользе правильного бэктеста (+ итоги 2019)

    • 17 января 2020, 12:37
    • |
    • uralpro
  • Еще

О пользе правильного бэктеста (+ итоги 2019)

   Хотелось,  традиционно, подвести итоги 2019 года, но  нового и интересного ничего не произошло, результаты на МОЕКС практически не отличаются от года 2018-го. Поэтому расскажу, насколько важно для HFT торговли написать правильный бэктест. Результаты тоже будут, но на примере отдельных алгоритмов, из набора работающих на Московской бирже.

  Для высокочастотной торговли, наверное, самый главный показатель это мгновенная ликвидность. Не буду углубляться в проблему ее измерения, это отдельная задача. В общем случае, чем выше мгновенная ликвидность, тем большую прибыль приносит высокочастотная стратегия. И ваш тест должен правильно обрабатывать весь поток ликвидности, который присутствует в сохраненной маркетдате, чтобы верно эту мгновенную ликвидность отразить. В матчинге бэктеста необходимо сводить в сделки собственные (тестовые) ордера в первую очередь по потоку рыночных сделок используемого актива, и во вторую — по текущей книге заявок. Нарезки в тесте не должно быть никакой, то есть внутреннее время теста должно идти соответственно последней считанной записи в максимальном разрешении, которое транслируется биржей (миллисекунды или даже микросекунды).Также нужно учесть задержку прихода ордеров на биржу после их отправки и задержку коллбэка. Нюансов здесь много, и я как обычно, о них не расскажу:)



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

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