-Поиск по дневнику

Поиск сообщений в ttools

 -Подписка по e-mail

 

 -Сообщества

Читатель сообществ (Всего в списке: 3) Бизнес_сообщество Заголовки paprikafx

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 06.01.2010
Записей: 296
Комментариев: 0
Написано: 295

ttools.ru






Plaza2 и МТС #5. Обработка заявок

Воскресенье, 29 Июля 2012 г. 23:23 + в цитатник
Оригинал сообщения


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

Читать далее...



LIci WP

Вебинары по опционной торговле июль 2012

Понедельник, 09 Июля 2012 г. 00:19 + в цитатник
Оригинал сообщения

23, 24, 25, 26 июля состоится цикл из четырех двухчасовых веб-семинаров Теория и практика опционной торговли на Российском Фондовом Рынке


23 июля 19.30-21.30 Торговля опционами: ОСНОВЫ

24 июля 19.30-21.30 Основные опционные параметры и стратегии

25 июля 19.30-21.30 Опционные преимущества: Торговля волатильностью

26 июля 19.30-21.30 Торговля опционами: Практические приёмы

Читать далее...



LIci WP

Plaza2 и МТС #4. Время

Понедельник, 25 Июня 2012 г. 00:08 + в цитатник
Оригинал сообщения

Потоки


При реализации торговых автоматов важно как можно точнее определять текущее время сервера в реальном времени. Это необходимо для:



  1. измерительных задач (например, измерить задержку маркетдаты)

  2. максимально точного исполнения частей торгового алгоритма, связанного со временем (например, прекратить открывать позиции после 16:30 до 16:31)

  3. Для максимально точного сохранения рыночных данных с привязкой к текущему моменту для последующего исторического тестирования

  4. Наверое, для чего-то еще.


На первый взгляд, задача достаточно проста: необходимо лишь получить время сервера, которое транслируется каждую секунду в таблице heartbeat и скорректировать время локальной машины, на которой работает торговый алгоритм.


Такой способ подходит для грубой синхронизации, с точностью примерно до секунды. Но ведь когда речь идет о Plaza2, подразумевается, что возможно торговый алгоритм будет высокочастотным и необходима максимально возможная точность. Здесь придется столкнуться с четырьмя нюансами, которые необходимо учитывать.


Первый связан с механизмом распространения рыночных данных (в том числе и таблицы heartbeat и остальных таблиц с временной меткой, которые понадобятся для синхронизации). Дело в том, что рыночные данные рассылаются биржей клиентам с определенной задержкой. Точнее, не так, чтобы абсолютно все данные задерживались ровно на N миллисекунд; каждая порция данных накапливается в течение этого времени и рассылается клиентам целиком. То есть, если событие произошло сразу после отправки клиенту очередного кванта данных, то клиент будет уведомлен через интервал N, а если событие произошло непосредственно перед очередной рассылкой, то уведомление будет отправлено клиенту без задержки. С развитием инфраструктуры биржи значение времени этой задержки постепенно уменьшается и на текущий момент значение N составляет 100 мс.


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


Третий нюанс связан с технологией измерения времени операционной системы (Windows). Точкой отсчета для измерения времени, очевидно, является время локальной машины, на которой работает торговый алгоритм, более доступного точного источника времени в данной ситуации просто нет. Существует несколько функций Windows, предназначенных для получения текущего значения времени, однако не все они одинаково полезны. Для максимально точных замеров времени потребуются функции максимального разрешения. Для этих целей обычно испльзуют функции QueryPerformanceFrequency / QueryPerformanceCounter, или/и процессорную инструкцию RDTSC


Четвертый нюанс связан с особенностями синхронизации времени самого ядра биржи. Время ядра плавно подстраивается по внешнему GPS-датчику, благодаря чему обеспечивается точная синхронность времени в ядра биржи с мировым временем, но приводит к большим нелинейностям разности счета времени сервера торговой системы и ядра.


В потоках плазы есть несколько таблиц, с помощью которых можно синхронизировать время сервера торговой системы и ядра биржи. Это таблицы, которые содержат время события в «реальном времени» одним из полей. Это таблица всех сделок, собственно heartbeat, таблица полного лога заявок (если подключена). Синхронизируя время по этим таблицам можно получить точность синхронизации [0..N], а точнее, если учесть время на сетевые задержки маркетдаты T [T..N+T]. T зависит от качества маршрута между шлюзом биржи и торговым автоматом и минимизируется инвестициями в и работой над торговой инфраструктурой. Такой разброс уже гораздо лучше, чем использование heartbeat. На этом этапе можно легко добиться отклонений [0..150мс], или 75 мс в среднем. Если синхронизировать время по каждому событию из этих таблиц, то каждая синхронизация может как улучшить так и ухудшить точность, по сравнению с предыдущей синхронизацией. Причем, если пришедшее в новой реплике время меньше чем текущее – однозначно синхронизация улучшает результат, если больше – улучшает в половине случаев. То есть, если будут получены лучшие показатели, то такую синхронизацию всё равно имеет использовать частично, для корректировки случаев, если время в реплике меньше, чем установленное время в момент последней синхронизации.


Добиться лучшего результата можно, используя собственные заявки. В ответе шлюза на транзакцию добавления/перемещения заявки содержится время изменения параметров заявки, т.е. если при отправке заявки и при получении ответа запомнить локальное время, это и будет интервал времени локальной машины, внутри которого находится (можно считать посередине) время сервера, которое указано в реплике-ответе шлюза на постановку заявки. Таким способом можно получить синхронизацию серверного времени с локальным с точностью +/- 15 мс, без учета корректировок по таблицам маркетдаты, т.е. на самом деле ещё точнее.




LIci WP

Ого!

Четверг, 21 Июня 2012 г. 16:21 + в цитатник

TradeProcessor 1.0.0.6.

Пятница, 15 Июня 2012 г. 12:38 + в цитатник
Оригинал сообщения

Новая версия доступна для скачивания в разделе Скачать


Trade Processor  программный модуль, который позволяет в автоматическом режиме управлять дельтой опционного портфеля, а также автоматически управлять размером позиции по биржевому инструменту, в зависимости от его цены. Подробнее&


Что нового в версии 1.0.0.5:



  1. Продлен срок бесплатного использования до 1 января 2013 года.


Приятного использования и больших профитов! ;)




LIci WP

Plaza2 и МТС #3. Потоки

Понедельник, 28 Мая 2012 г. 01:11 + в цитатник
Оригинал сообщения

Потоки


Предыдущие посты под тэгом «Plaza2 и МТС» были посвящены введению в разработку МТС на Plaza2. Они представляли собой обзорный вью по устройству плазы и помочь начать разработку МТС для Plaza2. Начиная с этой публикации фокус будет смещен в сторону вопросов разработки МТС, по поводу которых (я надеюсь) можно будет подискутировать в комментариях.

Сегодня речь пойдет о потоках (threads), точнее о преимуществах и недостатках однопоточного клиента по сравнению с многопоточным. Согласно документации, существует возможность использовать клиента с несколькими потоками, и для этих целей реализовано 2 различные версии P2ClientGate.dll – для работы с STA либо MTA типами апартаменов при использовании COM-интерфейсов клиента шлюза. Рассмотрим, как может быть организован однопоточный и многопоточный клиент.


Однопоточный клиент:

Здесь всё просто, и, как мне кажется без вариантов: в одном потоке последовательно выполняется цикл, состоящий из следующих этапов:



  1. получение новых рыночных данных, состояний заявок, позиций по инструментам (выгребаем всё, что возможно вызовами ProcessMessage)

  2. расчет индикаторов, параметров рынка, торговых сигналов

  3. расчет новых цен заявок

  4. отправка транзакций на удаление, перемещение и выставление новых заявок


Пункты 2-4 должны исполняться максимально быстро. Любое промедление, любой лишний вложенный цикл, полный повторный перерасчетный цикл на каждой итерации вместо частичного перерасчета, где это возможно, или цикл с полным перебором для поиска, там где возможен индексный – всё это увеличивает время исполнения цикла и уменьшает эффективность работы торгового алгоритма.


Многопоточный клиент:

Каждый поток данных плазы получаем в отдельном программном потоке (thread), плюс один или несколько программных потоков на транзакции. Реакция торговой системы на события в виде транзакций возможна из любого потока при детектировании определенной рыночной ситуации (данные в одном из потоков плазы, например сделки), либо какие-то сложные триггеры.


Какую из моделей использовать лучше – предмет многочисленных дискуссий. Поделюсь своими соображениями на этот счет. Конечно, мои соображения не являются абсолютной истиной, могу где-то заблуждаться, но, по крайней мере, моя позиция будет абсолютно аргументирована.


Я однозначно за однопоточного клиента:


Во-первых, многопоточность – это зло, которое следует избегать во всех ситуациях, кроме тех, когда она объективно необходима. В основном случаи такой необходимости – это когда один поток может или должен работать независимо от других и результат его деятельности не влияет на ход выполнения остальных потоков. Например, при работе со шлюзом ASTS, транзакции можно отправить только синхронно и соединение будет заблокировано, до тех пор, пока не будет принят ответ на транзакцию. В этом случае необходимо отправить транзакцию в отдельном потоке через отдельное соединение, при этом получение и обработка рыночных данных происходит независимо. Бывают случаи, когда один поток не может не влиять на другой – это значит придется заниматься таким малоприятным занятием, как синхронизация потоков – это очень аккуратное программирование и отлов трудноуловимых багов.


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

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


А зачем объективно может быть нужен многопоточный клиент для плазы?




LIci WP

Вебинары по опционной торговле

Пятница, 25 Мая 2012 г. 15:00 + в цитатник
Оригинал сообщения

25,26,27,28 июня состоится цикл из четырех двухчасовых веб-семинаров Теория и практика опционной торговли на Российском Фондовом Рынке


25 июня 19.30-21.30 Торговля опционами: ОСНОВЫ

26 июня 19.30-21.30 Основные опционные параметры и стратегии

27 июня 19.30-21.30 Опционные преимущества: Торговля волатильностью

28 июня 19.30-21.30 Торговля опционами: Практические приёмы

Читать далее...



LIci WP

QuikOrdersDOM 2.0.4.7.

Среда, 18 Апреля 2012 г. 08:43 + в цитатник
Оригинал сообщения

QuikOrdersDOM 2.0.4.7. доступен для скачивания в разделе Скачать


Внимание! Критические обновления! Рекомендуется обновить версию до последней.


Что нового в версии 2.0.4.7.

1) Исправлена критическая ошибка: в версии 2.0.4.7 могут некорректно работать модули автотрейдинга без ключей

2) Минимизированы внутренние задержки при работе с QuikOrdersDOM




LIci WP

TradeProcessor 1.0.0.5.

Среда, 04 Апреля 2012 г. 21:39 + в цитатник
Оригинал сообщения

Новая версия готова и доступна для скачивания в разделе Скачать


Trade Processor  программный модуль, который позволяет в автоматическом режиме управлять дельтой опционного портфеля, а также автоматически управлять размером позиции по биржевому инструменту, в зависимости от его цены


Что нового в версии 1.0.0.5:



  1. Продлен срок бесплатного использования до 1 июня 2012 года.


Приятного использования и больших профитов! ;)




LIci WP

Вебинар “Опционная торговля. Введение”

Вторник, 27 Марта 2012 г. 10:29 + в цитатник
Оригинал сообщения

Сегодня, 27 марта, в 19-30 состоится бесплатный вебинар Опционная торговля. Введение.


План вебинара:


  • Введение

  • Экономическая суть опционного контракта

  • Основные понятия (базисный актив, CALL, PUT, страйк, экспирация)

  • P&L график, ITM, OTM, ATM

  • Классификация опционных стратегий

  • Основные опционные конструкции

  • Синтетические конструкции и арбитраж

  • Торговля волатильностью

  • Что можно и чего нельзя с помощью опционов

  • Для участия необходимо зарегистрироваться заранее!


    Подробности и регистрация здесь




    LIci WP

    Вебинары по опционной торговле

    Вторник, 13 Марта 2012 г. 13:57 + в цитатник
    Оригинал сообщения

    10,11,14,15 мая состоится цикл из четырех двухчасовых веб-семинаров Теория и практика опционной торговли на Российском Фондовом Рынке


    10 мая 19.30-21.30 Торговля опционами: ОСНОВЫ

    11 мая 19.30-21.30 Основные опционные параметры и стратегии

    14 мая 19.30-21.30 Опционные преимущества: Торговля волатильностью

    15 мая 19.30-21.30 Торговля опционами: Практические приёмы

    Читать далее...



    LIci WP

    EXTENT Trading Technology Trends & Quality Assurance

    Среда, 29 Февраля 2012 г. 14:11 + в цитатник
    Оригинал сообщения

    «Инновационные Трейдинговые Системы» приглашают Вас принять участие в 3-й международной конференции «EXTENT Trading Technology Trends & Quality Assurance», которая пройдет 13-14 апреля 2012 года в 25 километрах от города Кострома, в экоотеле «Романов лес».


    В конференции примут участие ведущие специалисты в области разработки программного обеспечения для торговли финансовыми инструментами и пройдут круглые столы по темам:


    -       Социальные сети и биржевая торговля;


    -       Системы с открытым исходным кодом и трейдинг;


    -       Адаптивные торговые алгоритмы;


    -       Торговля финансовыми инструментами на скоростях, близких к скорости света, и как осуществлять мониторинг;


    -       Мобильные приложения и облачные вычисления.


    Подробности на сайте: http://extentconf.com/




    LIci WP

    Plaza2 и МТС #2

    Понедельник, 06 Февраля 2012 г. 23:35 + в цитатник
    Оригинал сообщения

    В протоколе Plaza2 применяется push-технология распространения данных. Это означает, что данные клиенту поступают по мере их возникновения, без запроса. Клиент определяет, какие данные он будет получать во время работы на первоначальном этапе согласования схемы обмена данными между клиентом и сервера Plaza2.


    Топология, или что к чему подключается, описано в документе P2ClienGate.doc в разделе «Топология сети». Простыми словами схему подключения можно описать так: конечное клиентское приложение (робот) соединяется и обменивается данными с роутером по протоколу TCP, либо по протоколу LRPCQ на ваш выбор. Роутер соединяется и обменивается данными по протоколу TCP с инфраструктурой биржи. Роутер – это приложение Windows, которое также было установлено на ваш компьютер из дистрибутива вместе с библиотекой P2ClientGate, если в процессе установки были отмечены соответствующие опции. Роутер может быть установлен на той же машине, что и клиент, либо клиент и роутер могут находиться на разных машинах. Возможно 2 варианта установки роутера (опции в мастере установки): Роутер может быть установлен как служба Windows, либо как приложение. О протоколе LRPCQ в документации написано так:



    Важный вопрос по слиянию бирж

    Пятница, 03 Февраля 2012 г. 19:31 + в цитатник
    Оригинал сообщения

    А вот интересно: биржи ММВБ теперь нет, есть только ММВБ-РТС. Кто теперь опекает овцебыка в московском зоопарке? Как он там теперь?




    LIci WP

    Вебинары по опционной торговле

    Вторник, 31 Января 2012 г. 15:06 + в цитатник
    Оригинал сообщения

    22,24,27,28 февраля состоится цикл из четырех двухчасовых веб-семинаров Теория и практика опционной торговли на Российском Фондовом Рынке


    22 февраля 19.30-21.30 Торговля опционами: ОСНОВЫ

    24 февраля 19.30-21.30 Основные опционные параметры и стратегии

    27 февраля 19.30-21.30 Опционные преимущества: Торговля волатильностью

    28 февраля 19.30-21.30 Торговля опционами: Практические приёмы

    Читать далее...



    LIci WP

    Plaza2 и МТС

    Среда, 18 Января 2012 г. 16:48 + в цитатник
    Оригинал сообщения

    Plaza2


    Решил открыть новую рубрику Plaza2 и МТС на ttools.ru и написать серию постов на эту тему. Тема в последнее время очень популярна, и, надеюсь, найдет интерес. Речь о Plaza2 пойдет в контексте разработки фронт-систем алгоритмического трейдинга


    Основные причины, по которым применение Plaza2 в торговых автоматах популярно (на мой взгляд) две: это относительное преимущество в скорости обработки транзакций и получения рыночных данных, а также повышение надежности за счет сокращения цепочки обмена данными от биржа-сервер брокера-терминал клиента  торговый алгоритм клиента до биржа-торговый алгоритм клиента

    Читать далее...



    LIci WP

    TradeProcessor 1.0.0.4.

    Понедельник, 16 Января 2012 г. 10:58 + в цитатник
    Оригинал сообщения

    Новая версия готова и доступна для скачивания в разделе Скачать


    Trade Processor  программный модуль, который позволяет в автоматическом режиме управлять дельтой опционного портфеля, а также автоматически управлять размером позиции по биржевому инструменту, в зависимости от его цены


    Что нового в версии 1.0.0.4:



    1. Продлен срок бесплатного использования до 1 апреля 2012 года.

    2. Внесены некоторые изменения в режим управления позицией по точкам. Введены новые настройки задачи:

      • Считать позицию по заявкам, а не по портфелю (позволяет вести несколько стратегий на один инструмент в одном портфеле);

      • Размер позиции (может задаваться перед началом работы, если позиция ненулевая; в процессе работы значение меняется в зависимости от операций, проводящихся по задаче).


      Подробнее про эти нововведения можно прочитать в полной инструкции


    3. Предусмотрена возможность работы с разными номерами счета одновременно.

    4. У каждой задачи появился параметр Title  заголовок, отображающийся в списке задач. Нужен для того, чтобы идентифицировать задачи по заголовку, даже если они работают с одинаковыми инструментами.

    5. В настройки [COMMON] в файле TPList.ini вынесен параметр ShowFormAtStart. Если установить его равным 13 (ShowFormAtStart=1), то при запуске модуля автоматически появится на экране его форма.


    Приятного использования и больших профитов! ;)




    LIci WP

    Тайский алфавит

    Четверг, 12 Января 2012 г. 11:40 + в цитатник
    Оригинал сообщения

    еще один ужас о простоте тайского языка


    Из википедии


    В тайском алфавите 44 согласных буквы, обозначающих 21 согласный звук. 4 согласных вне основного алфавита (две из которых в настоящее время не используются), по крайней мере, 28 гласных форм и 4 диакритических знака для обозначения тонов. Согласные пишутся горизонтально слева направо, в то время как гласные располагаются сверху, снизу, слева или справа от соответствующего согласного.


    Буквы-дублеты представляют различные согласные из санскрита и пали, одинаково произносимые в тайском. Их продолжающееся использование объясняется наличием заимствованных слов с разным значением, которые в тайском являются омофонами. Согласные подразделяются на три класса: нижние, средние и высокие; каждый определяет тон следующего гласного. Кроме этих 44 согласных, существует ещё четыре символа, обозначающих сочетания согласный + гласный.


    Читать далее...



    LIci WP

    Тайский язык

    Воскресенье, 08 Января 2012 г. 13:13 + в цитатник
    Оригинал сообщения



    Очень просто выучить, правда? Боюсь, что я пока не понял, в чем принцип. Когда слышу тайскую речь, мне всегда кажется, что тайцы что-то доброе и успокаивающее говорят. Оказывается, то что у нас считается интонацией, у них это часть синтаксиса, то есть если одни и те же слоги произнести с разной интонацией это будут совсем разные слова




    LIci WP

    Вебинары по опционной торговле

    Вторник, 03 Января 2012 г. 15:37 + в цитатник
    Оригинал сообщения

    25,26,27,30 января состоится цикл из четырех двухчасовых веб-семинаров Теория и практика опционной торговли на Российском Фондовом Рынке


    25 января 19.30-21.20 Торговля опционами: ОСНОВЫ

    26 января 19.30-21.30 Основные опционные параметры и стратегии

    27 января 19.30-21.30 Опционные преимущества: Торговля волатильностью

    30 января 19.30-21.30 Торговля опционами: Практические приёмы

    Читать далее...



    LIci WP


    Поиск сообщений в ttools
    Страницы: 15 14 [13] 12 11 ..
    .. 1 Календарь