Блог им. karat39 |Багосимулятор в алготрейдинге

     Сегодня у нас были очередные пожарные учения. К слову сказать, это уже третьи за год. Уже выработался набор правил, что нужно сделать в терминале/ах, прежде чем покинуть помещение.
     Вообще это интересная тема. Судя по тому, что у нас иногда происходит в стаканах, не все алгоритмисты посвящают этому большое внимание. Говорю я сейчас про разработанный набор инструкций при возникших исключительных ситуаций в вашем алго. Если алготрейдер давно уже на рынке, то наверное знает, а если не знает, то поделюсь своим мнением, что набор стандартных типичных багов в алго несколько ограничен. А ситуаций, возникающих в следствии этих багов, еще меньше, но они есть и скорее всего и будут. Ну на вскидку, наверное можно вспомнить 8-10 типичных критических ситуаций, к которым может привезти исключительная ситуация. 
    Я в свое время начал их конспектировать, по мере получения опыта. Потом записывать процедуры поведения, шаг за шагом. А потом их еще проговаривать периодически, чтобы отложилась в памяти.  Все это может вылиться в некий тестовый стенд, на котором можно будет оттачивать мастерство поведения при критических ситуациях. Это очень полезно. Это как пилоты оттачивают свое мастерство на реальных симуляторах.
   Кто узнал себя, всем привет, кто не узнал, прошу в комментарии поглагольствовать, как нужно писать правильный код  =)))

Блог им. karat39 |Современные железяки в алго.

Вместо введения


Представим ситуацию.

  • Написали код алгоритма. Оказался медленный.
  • Посидели, подумали, перестроили алгоритмы расчета. Ускорился. Мало.
  • Применили мета программирование в сложных расчетах. Получше.
  • Посидели, по профилировали, нашли узкие места в коде. Ускорили. Уже ничего.
  • Применили разные модели распараллеливания кода. Сервисные функции закинули в одно ядро, расчеты раскинули по ядрам. Сидим греем камень. Получше.
  • Максимум попытались убрать места, чтобы код не обращался в ОС
В общем что дальше? Дальше ищем прирост в железе. Вроде логично. Про бытовые моменты писать не буду, процессор там погнать или еще чего. Затрону специфичное оборудование.

Сетевой уровень.


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


Для обычного разработчика тут достаточно много черного ящика. Мол, мое приложение получает данные, а что там и как там происходит, мне не подвластно и закрыто. По запросам западных алготрейдеров, производители пошли на встречу и разработали такое сетевое оборудование, которое такую схему превращает в следующую:

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

Блог им. karat39 |Изучаю FIX протокол с нуля. Рисуем и программируем дальше.

Начало — Изучаю FIX протокол с нуля. Разбор протокола, первый код на c#

Вступление

     В прошлой статье я положил начало циклу разработки класса для работы с FIX протоколом. Обсудили его особенности передачи данных. Теперь время немного по программировать. Если профессионально подходить к делу, то нахрапом такие задачи решать нельзя. Надо посидеть с кружкой чая, порисовать схемы программного продукта. Что как будет взаимодействовать. Накидать блок схемы после полученного первого опыта. Наверное многие скажут, что это какой то дедовский способ. Но и программист я из старой плеяды, до сих пор любящий семерку Delphi.

Рисуем

     Напомню, как работают сетевые соединения. Через сокеты связываемся с сервером и начинаем обмениваться сообщениями.
Изучаю FIX протокол с нуля. Рисуем и программируем дальше.     Из опыта первой статьи вы наверное вспомните, что я предложил под каждый блок сообщения делать класс и на основе этих классов строить сообщение. Переспав с этой идеей, сегодня за кружкой чая, я решил остановиться на этой идее. А именно:

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

....все тэги
UPDONW