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

по

Анализ TWIME против PLAZA2

    • 11 июня 2016, 09:53
    • |
    • Viking
  • Еще

Анализ TWIME против PLAZA2

Все использованные далее замеры проведены 7 июня 2016 года.

Рис 1. 
Анализ TWIME против PLAZA2
На рисунке 1 раунд трип заявки на выставление (микросекунды): серым — TWIME, желтым – PLAZA2, синим – фикс срочного рынка.
Видно, что клиенты подключены к одному и тому же пром-серверу, т.к. графики сильно коррелируют.
Средний раунд трип в этот день: фикс 989 мкс, PLAZA2 842 мкс, TWIME 841 мкс
В данной ситуации TWIME на одну-две заявки опережает PLAZA2 по скорости выставления, а PLAZA2 опережает фикс. Видно так же, что TWIME менее стабилен, чем фикс и PLAZA2. Из-за этого среднее время раунд трипа у TWIME и PLAZA2 почти одинаковое.
Такими же обнадеживающими были наши замеры TWIME в первые две недели его работы, на основе которых мы стали рекомендовать его клиентам.

Но, как выяснилось теперь, не всегда графики коррелируют. Посмотрите на следующий рисунок.



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

Применение ARIMA для предсказания цены на RIM6 на R (Часть 2)

    • 09 июня 2016, 12:28
    • |
    • SciFi
  • Еще
Вчера написал пост Применение ARIMA для предсказания цены на RIM6 на R

Но в нем было всего 2 сделки. Непрезентативно. 

Попробовал сегодня еще раз руками поскальпить, предсказывая цену с помощью R на ближайшие 5 минут. В принципе, заработал 500 р за 17 сделок (34 операции) 1 лотом RIM6.  

Применение ARIMA для предсказания цены на RIM6 на R (Часть 2)

Выводы

1. ARIMA работает как я ожидал в том плане, что когда цена сильно падает, модель предсказывает цену ниже, когда цена стоит — предсказание примерно как цена закрытия. Спред считается хорошо — заявки исполняются. Когда модель предсказывает цену ниже текущей, нужно ставить заявку только на шорт. А то я ловил ножи и выходил с убытком несколько раз. 

2. Я закрывал сделку по цели, не давал прибыли течь. Может быть стоит сначала предсказывать цену на следующие 5 минут и если цена ниже, то шорт не закрывать, а держать дальше, двигая заявку на выкуп. Тогда будет экономия на комиссии и может быть удастся ловить крупные движения. 

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

Применение ARIMA для предсказания цены на RIM6 на R

    • 08 июня 2016, 12:48
    • |
    • SciFi
  • Еще
Решил копнуть чуть глубже в ARIMA и другие подобные модели. Попробовал предсказывать цену, а точнее, диапазон цен на ближайшую минуту и 5 минут и на этом сделать какие-то деньги. И что интересно, получилось. Хотя, возможно, это случайность отчасти, не тестировал на большом горизонте времени.

В комментариях к коду все есть.

ARIMA (англ. autoregressive integrated moving average, иногда модель Бокса — Дженкинса, методология Бокса — Дженкинса) — интегрированная модель авторегрессии — скользящего среднего — модель и методология анализа временных рядов. 

Основная идея этой модели в том, что цена в будущем зависит от цен в прошлом (авторегрессионная часть AR) и возврата к среднему (MA часть). А интегрированность означает то, что предварительно определяется порядок интегрированности для временного ряда. К примеру, порядок 1 означает, что разности 1 порядка являются стационарными. Для самой цены порядок интегрированности должен получаться равным 1, а для доходностей — 0. 

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

Очень интересно мнение людей, занимающихся разработкой торговых роботов

Всем привет! два года занимался разработкой торгового робота, перепробовал неимоверное количество алгоритмов и вот что у меня получилось:
Очень интересно мнение людей, занимающихся разработкой торговых роботов
Очень интересно мнение людей, занимающихся разработкой торговых роботов
Тестирование проведено на истории, на платформе NinjaTrader через market replay, не является подгонкой под

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

Коннектор QLUA и C#. Передача данных через стек.

Прошу дать ссылку на адекватный форум или другой ресурс по программированию на QLUA.
Интересуют вопросы передачи данных через стек и многопоточность в QLUA.
Как оказалось, есть много подводных камней.
Кто в теме, пожалуйста, укажите на возможные ошибки в коде, а главное — ПОЧЕМУ НЕ РАБОТАЕТ File.WriteAllLines(@«File.txt», array);
Буду очень благодарен.

-------------------------------------------
Скрипт QLUA:
require («InQuikDll»);
-----------------------------------------------------
Код на C#

using System.IO; 

[DllExport(«luaopen_InQuikDll», CallingConvention = CallingConvention.Cdecl)]
public static int InQuikDllStartUp(IntPtr L)
{
Lua.lua_pushinteger(L, 0);
Lua.lua_setfield(L, -10002, "_runServer");

//Вставляет новый экземпляр функции C в стек
Lua.lua_pushcclosure(L, forLua_OnInit, 0);
Lua.lua_setfield(L, -10002, «OnInit»);

Lua.lua_pushcclosure(L, forLua_OnStop, 0);
Lua.lua_setfield(L, -10002, «OnStop»);

Lua.lua_pushcclosure(L, forLua_OnClose, 0);
Lua.lua_setfield(L, -10002, «OnClose»);

Lua.lua_pushcclosure(L, forLua_OnQuote, 0);
Lua.lua_setfield(L, -10002, «OnQuote»);

Lua.lua_pushcclosure(L, forLua_OnConnected, 0);
Lua.lua_setfield(L, -10002, «OnConnected»);

Lua.lua_pushcclosure(L, forLua_Main, 0);
Lua.lua_setfield(L, -10002, «main»);



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

Архитектура системы алгоритмической торговли

Архитектура системы алгоритмической торговли

Здесь приведен перевод статьи www.quantinsti.com/blog/algorithmic-trading-system-architecture/

 

Алгоритмическая автоматизированная торговля или алгоритмическая торговля в течение нескольких последних лет находится в центре внимания торгового мира. Доля объемов, относящихся к этой форме торговли, растет все это время. В результате, она стала высоко конкурентным рынком, в значительной степени зависящим от технологий. Далее, базовая архитектура претерпела значительные изменения за последнее десятилетие и этот процесс продолжается. Сегодня необходимо внедрять технологические новшества для того, чтобы конкурировать в мире алгоритмической торговли, что делает его местом большой концентрации достижений в области компьютерных и сетевых технологий.

Традиционная архитектура

Любая торговая система — концептуально — это не более, чем вычислительный блок, который взаимодействует с



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

Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?

Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций.

В тестах использовался компьютер с Windows 7 Professional 64 bit, MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.

Результаты представлены в таблице, где все значения представлены в миллисекундах (чем меньше время, тем лучше):

Название            MQL5        QLUA     Преимущество MQL5

TestFloat          3 969     273 391     69 раз
TestArrays           375     230 768    615 раз
TestFibo           1 125      61 110     55 раз
TestPiCalculated   2 328     183 812     79 раз
TestQuickSort      2 031     211 279    104 раза
TestAckermann        828      64 541     78 раз

Сравнение производительности MQL5 и QLUA, чем меньше, тем лучше



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

Предсказание чего угодно с использованием Python

bayes-retgurns-1080x571

Небольшая статья с ресурса http://www.talaikis.com/ о построении простой стратегии, использующую наивный байесовский классификатор при создании процесса возврата к среднему. Весь код в статье приведен на языке Python.

Это достаточно большая область исследований, но расскажем все очень кратко. Мы попытаемся найти взаимоотношение между  временными сериями  (в данном случае возьмем в качестве сигнала взаимный фонд XLF из финансового сектора, сдвинутый по времени на 1 день назад), а нашей целью будет фьючерс S&P500 в форме CFD. Будем входить в длинную позицию по этой бумаге при нулевой вероятности приращения. Логически нулевая вероятность ни о чем не говорит, другими словами, будем покупать возврат к среднему.

1. Получение данных

Y = read_mongo(dbase, "S&P5001440")
X = read_mongo(dbase, syms[s]).shift()

#готовим набор данных
res = pd.concat([X.CLOSE, Y.CLOSE], axis=1, join_axes=[X.index]).pct_change().dropna()
res.columns = ['X', 'Y']


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

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