воскресенье, 29 января 2012 г.

Парный трейдинг: бэктест стратегии

В предыдущем сообщении я обозначил пару USCB vs. BAVL.
Природа этой пары понятна - два крупнейших банка с материнскими капиталами в Европе.

А теперь пример стратегии партного трейдинга с этими стоками, для облегчения дальнейшего понимания сути парного трейдинга.

Суть проста - есть определенное правило, которое даёт один из четырех сигналов на изменение позиции (открытие или закрытие):
  1. Entry Long - buy USCB + sellshort BAVL;
  2. Exit Long - sell USCB + buytocover BAVL;
  3. Entry Short - sellshort USCB + buy BAVL;
  4. Exit Short - buytocover USCB + sell BAVL.
Оперировать будем для простоты счета 1,000 акций USCB и 2,000 акций BAVL (почему такое количество акций расскажу позже).
Бэктест на периоде 01.01.2011 - 31.12.2011.
Эквити портфеля:


 Результат выглядит так.
Суммарный профит - 2,347 (бэктестер MultiCharts'a считает гривну долларом :-), что должно радовать Арбузова), при этом требуемый суммарный капитал 2,447. Т.ч. перфоманс почти 100% годовых.























Анализ по месяцам торговли.
Как видно, январь-февраль система не дала сигналов.


















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








При этом - и USCB, и BAVL "сливали" в лонгах, а набирали в шортах:
























































В дальнейшем я планирую показать другие возможности MultiCharts Portfolio Backtester'a, рассказать как подбирать количество акций для парного трейдинга, протестировать портфель USCB vs. BAVL с другим количеством акций, протестировать другие пары...
В общем будет интересно.

6 комментариев:

  1. Очень интересно, спасибо!
    Буду благодарен за более подробное объяснение того, как проводить тесты парного трейдинга в мульте.

    ОтветитьУдалить
    Ответы
    1. Отрадно, что вас заинтересовал парный трейдинг.
      Планирую пост с описанием методии теста в мульте.

      Удалить
  2. Отлично, буду ждать поста! :)

    ОтветитьУдалить
  3. Я пока поспрашиваю тебя немного?
    Думаю как в PB правильно тестить спреды.
    Самый простой вариант это две стратегии где в первой стратегии Data1 - ES, Data2 - YN. А во второй стратегии наоборот.
    На каждую стратегию накидывается свой торговый скрипт, со своими переменными.

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

    Есть другой вариант, он виден на сайте мульта Reference other instruments with ease
    http://www.multicharts.com/portfolio-backtesting/

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

    if (symbolname="MSFT") then begin
    if (close data2 > close[1] data2)
    buy next bar market;
    end else begin
    sellshort next bar market;
    end;

    Но в таком случае у меня генерируется огромное количество трейдов, не понимаю откуда они берутся и они не отражают суть.

    Вот такие проблемы, надеюсь твой совет :)
    И по прежнему приглашаю в скайп :)

    ОтветитьУдалить
    Ответы
    1. Ответил постом - http://insurertrade.blogspot.com/2012/02/blog-post_24.html

      P.S. я в скайп не ходок. Даже никнейма своего там не помню :-)

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

    ОтветитьУдалить