AlexeyTikhonov
AlexeyTikhonov личный блог
02 апреля 2014, 09:37

Опционная торговля на QUIK-Excel (VBA) - II

       Добрый день!
     Прошел почти год с момента моего предыдущего поста, хочу поделиться изменениями своего «приложения», произошедшими за этот период.
Несмотря на то, что предыдущая версия работала, несколько смущала производительность при приближении к дате экспирации, но, в тоже время, не хотелось все менять, т.к. был риск, что тождественность данных нарушится (в итоге статистика будет нерелевантна). Но все-таки собрался и пару месяцев назад переписал весь код с нуля (путем многократных тестовых запусков старой версии и новой, убедился в их преемственности и на серию (июнь) полностью перешел на обновленную версию). Основные изменения следующие:
     1. Переписан алгоритм определения волатильностей ТЦ, спроса, предложения
     2. Переход на явное определение всех переменных и упор на работу с массивами
     3. Изменен алгоритм протоколирования данных
     4. Ввод и вывод значений диапазоном
     5. Изменен алгоритм определения исходных данных для статистики

     В итоге производительность выросла в разы, если ранее средний расчет (за 1 квант времени) происходил за 0.5-1 секунды, пиковые (при протоколировании) от 3 сек до 10 (в последние недели перед экспирацией) секунд, то теперь средний расчет осуществляется менее чем за 0.1 секунды, пиковый до 0.3 секунд. Моделирование графиков PnL и грек занимает менее 0.2 сек, ранее это было около 3-4 секунд. И это далеко не предел, если минимизировать кол-во формул на листах, а их много (около 550) (закатать их в VBA) и минимизировать кол-во графиков (строить по требованию), то возможно добиться быстрых расчетов, но в целом этого и не надо. Загрузка процессора средняя, подвисаний (песочных часов), подтормаживаний экспорта нет, на этом же ноутбуке параллельно занимаюсь другими делами, ничего друг другу не мешает.
     Ниже привожу обновленную блок-схему моего приложения, и скриншоты основных листов (масштаб уменьшил, чтобы на 1 экран помещалось), чтобы было примерно понятно, что и как реализовано, и как все это выглядит. Общее кол-во строк кода на VBA 400 (немного, так как часть функциональности сделана функциями на самих листах).

Опционная торговля на QUIK-Excel (VBA) - II
--------------
Опционная торговля на QUIK-Excel (VBA) - II 
----------
Опционная торговля на QUIK-Excel (VBA) - II
----------
Опционная торговля на QUIK-Excel (VBA) - II
----
     Пишу этот пост с целью показать, что связкой «терминал (Quik)»-«DDE»-«Excel (VBA)», можно гибко, быстро, удобно, легко, онлайн автоматизировать многие процессы, связанные с большими вычислительными расчетами, вычислять которые вручную или офлайн неудобно или уже поздно.
     Таким примером может являться – оценка и выбор облигаций, оценка и выбор опционов, статистический арбитраж, парный трейдинг, баскет-трейдинг и многое другое (то есть то, для чего время принятия решения не менее 1 секунды, и важен срез рынка также не менее 1 секунды). Можно реализовать как помощника, вычисляющего основные параметры почти онлайн (1-2 секунды лаг), и сигнализирующее (звуком, цветом) о наличии «стат. преимущества» или же создать полноценного робота, принимающее решение самостоятельно и отправляющие заявки через API.
     Самое главное придумать торгуемую идею, продумать архитектуру решения (таблицы в Quik, настройки экспорта, период обновления, период расчетов), описать алгоритм, ну и запрограммировать все это, и начинать надо с самого минимума (с самого простого), постепенно и последовательно наращивая функциональность.
     Готов ответить на возникающие вопросы.
20 Комментариев
  • sander
    02 апреля 2014, 09:59
    Крутая системка. Торгует или только для анализа?
  • Stanislav-A
    02 апреля 2014, 10:25
    уважуха за труд
  • ch5oh
    02 апреля 2014, 10:32
    Какую кривую волатильности используете?
  • broker25
    02 апреля 2014, 10:59
    Три года назад я тоже делал торговую связку quik — excel, но отказался из-за частых подвисаний. А сейчас часто система останавливается?
  • Werner Heisenberg
    02 апреля 2014, 11:19
    в закладки дружище! и +
  • НеГрустин
    02 апреля 2014, 16:03
    Алексей, что думаете об Option-Lab Trade?
      • НеГрустин
        02 апреля 2014, 16:38
        AlexeyT, приятное с полезным? Я понял))))

        Ну я-то ничего мегаспецифического не придумываю — пользую существующую систему (ОПы) в том виде, в каком она распространена. Так что ОЛТ меня устраивает))))
  • rerkin
    03 апреля 2014, 01:21
    Спасибо за рассказ! Очень интересно. Мое впечатление конечно что Эксель не так надежен. Но ваш результат все равно впечатляет!
    Не скажете что за колонка «плечо» на третьей картинке и правый верхний график на 4й картинке? (т к вы не закрасили их, наверно это не секрет. :) )
      • К.О'Тяра
        03 апреля 2014, 11:17
        AlexeyT, формулу БШ сами писали или где-то есть в свободном доступе?

        Смысл системыz, видимо — в расчете своих, кастомных индикаторов?
          • К.О'Тяра
            04 апреля 2014, 10:21
            AlexeyT, что в БШ является входами а что — выходами? Как я понимаю, цена ставка — входы, а волатильность — это выход… и считается итеративно — так?
              • К.О'Тяра
                04 апреля 2014, 13:25
                AlexeyT, итеративно — методом перебора… или она как-то напрямую вычисляется?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн