Финансовая лаборатория

Биржевая торговля и торговые роботы

Всем привет.

Прошу прощения – никак не мог заставить себя сделать продолжение статей на БЛОГе – наверно жара сказывается. Всё-таки +37 градусов не каждый год бывает. Мозги плавятся, делать ничего не хочется…

Но раз уж обещал – нужно продолжать.

Итак, в прошлых частях (часть1, часть2) мы научились сохранять в текстовом файле новый синтетический инструмент – СПРЕД между RTS-standard и (RTS + Si).

Давайте сегодня посмотрим, как можно этот новый инструмент «засунуть» в WealthLab и визуально посмотреть диапазон, в котором колеблется этот инструмент.

Тем, кто хочет посмотреть – как установить Велс Лаб и запустить  - даю ссылку на наш пост, посвященный этому вопросу.

Традиционно выкладываю коротенькое видео.

Вот краткое содержание этого видео:

1)      Запускаем программу Велс Лаб;

2)      Добавляем новый набор данных (File – New – New Data Set… )

3)      Выбираем нужный текстовый файл;

4)      Выбираем нужный таймфрейм;

5)      Выбираем имеющиеся поля и задаем их формат;

6)      Анализируем СПРЕД в виде графика.

Как видно, диапазон хождения СПРЕДА – от +200 до -120 пунктов по фьючерсу на индекс РТС-стандарт. Именно на этот диапазон и будем ориентироваться при планировании торговли.

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

Первая таблица – будет показывать – на каких уровнях сколько контрактов нужно будет покупать или продавать.

Для того, чтобы показать программе сколько нужно в моменте купить фьчерсов на индекс РТС-стандарт, нужно выбрать величину СПРЕДа, при которой нужно совершить такую покупку и количество контрактов, которые нужно купить.

В столбце Lots мы показываем количество контрактов, допустим 1. В столбце BuySpread – показываем величину СПРЕДа, при которой мы будем совершать покупку одного контракта, допустим, -20 пунктов.

Теперь нам нужно показать, по какой цене мы должны продать купленный один контракт. Для этого мы переходим в столбец SellSpread, поднимаемся на одну строчку выше и устанавливаем – до какой величины должен подняться СПРЕД, купленный по «-20», для того, чтобы программа продала контракты до величины, указанной в столбце Lots. В нашем случае это будет величина «0».

Теперь посмотрим, как мы будем продавать контракты:

Первый контракт должен быть продан в случае, если величина СПРЕДа поднимется до 20 пунктов. В столбце Lots указываем «-1», т.е. один проданный контракт, а в столбце SellSpread – указываем величину «+20».

Откупать этот проданный контракт будем когда СПРЕД опустится до величины «0». Для этого переходим в столбец BuySpread и спускаемся на однустрочку вниз и в данной ячейке указываем величину «0». Точно также поступаем со всеми остальными уровнями.

В результате Вы можете устанавливать ЛЮБЫЕ УРОВНИ для покупки (продажи) и для закрытия позиции, ориентируясь на величину СПРЕДа… То есть в этой таблице Вы можете описать любое количество усреднений через любое количество пунктов, любым количеством контрактов.

Следующая таблица – «Перекрытие» нужна нам для того, чтобы показать программе – сколько контрактов фьючерса на индекс РТС и доллар мы должны будем купить или продать в случае если покупаем или продаем определенное количество контрактов по фьючерсу на индекс РТС-стандарт.

В столбце RTSS – обязательно должно указываться непрерывное количество контрактов, чтобы программа в любой момент времени могла найти нужное количество контрактов на фьючерс РТС-стандарт и посмотреть, сколько контрактов на фьючерсы РТС и доллар соответствуют заданному количеству.

Таким образом, всё функционирует следующим образом:

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

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

О настройке робота и торговле – в следующем посте. Чтобы не пропустить следующие посты – не забывайте подписываться на новые статьи по RSS… (кто не знает, что такое RSS – можете посмотреть здесь>>)

Если Вам понравилась данная статья – поддержите наш блог (заодно посмотрите, о чём пишут другие трейдеры).

Комментариев: 41

  1. Rem пишет:

    > Как видно, диапазон хождения СПРЕДА – от +200 до -120 пунктов по фьючерсу на индекс РТС-стандарт. Именно на этот диапазон и будем ориентироваться при планировании торговли.

    И здесь, как всегда, возникает головная боль при решении противоречивой задачи: максимизация прибыли при минимизации рисков.
    Спрэд за весь период сильно сузился с 320 п. (февраль-март) до 33 п. (июнь-июль). Если рассматривать спрэд в 320 п., то расстояние между уровнями усреднения ~ в 10 раз больше, чем у спрэда в 33 п. Соответственно, если ориентироваться на спрэд в 320 п., то в июле имеем минимальные риски, но и минимальную прибыль (работать будет только десятая часть капитала). Если же ориентироваться на спрэд в 33 пункта, то предполагаемая прибыль будет максимально возможная (капитал используется полностью), но и риски возрастают в десятки раз (кто сказал, что спрэд не расширится завтра до 200 пунктов?).
    Каково решение этой противоречивой задачи?

    • Тут Вы правильно сами сказали – нужно как-то сопоставить склонность к риску и желание заработать. На мой взгляд, есть два подхода: 1-й – применять разумное усреднение (торгуя не всем, а частью сайза на текущем уровне и оставляя часть денег “пролеживать” в сторонке). 2-й подход – торговать всем сайзом в текущем коридоре, но в этом случае обязательно нужен Стоп-Лосс – по которому нужно непременно выходить в случае, если наметилось сильное движение раздвижки. В принципе, если на несколько тейк-профитоф будет один стоп-лосс и величина их будет сопоставима – нормальный вариант.

  2. Rem пишет:

    Пардон, спрэд в июне-июле ~ 82 пункта (диапазон от +28 до -54), но сути вопроса это не меняет.

  3. Вячеслав пишет:

    Да, Дмитрий, 37 градусов это точно редкость, особенно для нашего региона.
    Но когда на всех 5 этажах выходят из строя кондиционеры, да ко всему прочему неведомые силы активируют магнитные замки, которые не включались с момента строительства ))))))))
    И почти 300 человек оказывается буквально закрытыми в печках, потому что из открытых окон воздух как из мартеновской печи, а с закрытыми как в сауне ))))) Вот здесь начинают плавится не только мозги ))))

  4. Rem пишет:

    Дмитрий, я обратил внимание на серию мощных выбросов на графике спрэда, которые приходятся, в основном, на конец дня. Скорее всего это пустоты по RTSS в вечернюю сессию.
    Если будем строить какие-либо индикаторы по этому спрэду, из-за выбросов возникнут серьезные отклонения при их расчете. К тому же, вряд ли мы будем торговать в вечернюю сессию в ближайший год-два (или будем?). Может имеет смысл строить спрэд без учета данных вечерней сессии?

    • Вячеслав пишет:

      Я думаю, данный материал(статью) надо принимать скорее как разъяснение принципа построения одной из стратегии с использованием данного ПО, а ни как руководство к действию. А уж кто, как и когда будет использовать в реальной торговле эти знания, каждый решит сам для себя исходя из своего опыта и риск-менеджмента.

      • Да, правильно совершенно. Естественно, по такому СПРЕДу строить индикаторы и тем более торговую систему – преждевременно. Я подчеркивал, что такой способ подходит только для грубой оценки того, как СПРЕД “ходит”.
        Более точно можно оценить используя фактические данные, которые генерит наша программа, используя не сделки, а данные стаканов всех задействованных инструментов.

        Кстати, тем, кто хочет побольше узнать про парный трейдинг и принципах – очень рекомендувю вот этот ресурс… http://y-dav.livejournal.com/
        y-dav – недавно стал его вести, но точно знаю, что это профессионал давно торгующий на принципах парного трейдинга…

  5. Kostin Andrey пишет:

    Я правильно понимаю, что, например, мы продаем 1 РТС Стандарт, и покупаем 1 РТС и 3 Si?

    • Да, совершенно верно. Хотя должны бы были бы купить 1,072 контракта на РТС и 2,820 контракта Si…
      Но чем большим количеством контрактов RTS-standart торговать будем, тем более точным будет хеджирование.

      • Kostin Andrey пишет:

        Хорошая стратегия. Протестировал. Только я использовал коэффициент не константу, с скользящий, потому что этот коэффициент на RiU0 RSU0 SiU0 изменялся с 1.08 по 1.04, что мешало работать со спрэдом, как с инструментом с мат. ожиданием в нуле в каждый момент времени.

  6. Rem пишет:

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

  7. D пишет:

    А график спреда можете нарисовать, ради интереса посмотреть как он себя ведет, трендит ли или как?

  8. m19124m пишет:

    Дмитрий, а что можете сказать на этот материал: http://forum.rts.ru/viewtopic.asp?t=18168&topicdays=0&postorder=asc&start=0
    Там даже ссылку на ваш ресурс дали. Интересно как вы оцениваете спред, если курс $ по которому рассчитывается RI известен только в будущем? И что на счет неполноценного хеджа из-за того, что RI зависит от 2-х причин, а Si только от курса $?

    • Так именно поэтому мы хедж считаем по фактическому курсу фьючерса на доллар. Ведь именно этот инструмент ежесекундно показывает рыночную цену…
      А хеджироваться долларом обязательно нужно. Иначе Спред из-за изменения курса может так перекосить, что мама не горюй…

      • Вячеслав пишет:

        Дмитрий, а Вы не могли бы сделать позже подобный пост по расчету спреда и дальше созданию заготовки в ПО по индексному арбитражу? Хотя бы в более сокращенной форме?
        Корзина фьючерсов против RTS и с хеджем Si.
        А то все же слишком много неясных моментов есть именно с тем, как это реализовать в ПО.

        • mts_trade пишет:

          Вячеслав, Вы решили эту проблему? Имеется в виду “Корзина фьючерсов против RTS и с хеджем Si.”
          Научите меня пожалуйста!

  9. gars пишет:

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

    BUYSPREAD SELLSPREAD LOTS
    135 0 0
    0 125 -42
    0 100 -19
    0 75 -8
    0 50 -3
    0 25 -1
    0 0 0
    -25 0 1
    -50 0 3
    -75 0 8
    -100 0 19
    -125 0 42
    0 -135 0

    • Вячеслав пишет:

      Здесь нет стопов, мы все ребята рискованные и работаем без страховки )))
      Столбец “LOTS” является уникальным и не может повторяться.

      • :-) – мы же можем сами эту таблицу настраивать и можно её подхватывать на лету…
        В следующем видео покажу. Если не сплавлюсь при 40 градусах – сегодня постараюсь записать.
        :-)

        • Вячеслав пишет:

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

        • gars пишет:

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

          BUYSPREAD SELLSPREAD LOTS
          135 0 0

          А если пронесло, срочно пихать старую?
          Как-то не очень…

          Или есть еще варианты? Для нерисковых ребят :)

          • Это стандартные настройки. Есть специальная функция – FinLab.MTS – там можно реализовать любой каприз (дополнив нашу программу небольшим (или большим) программным кодом), в том числе и реализовать любой стоп-лосс.
            Это можете сделать Вы сами, или мы поможем Вам реализовать четко описанный Вами алгоритм.
            Готовы это даже бесплатно сделать, но в случае, если Вы с нашей помощью брокерский счет открываете у одного из 3-х брокеров, с которыми у нас есть агентские договоры. Вот здесь подробности: http://www.finlabtrade.ru/OpenBrokerAccount

        • gars пишет:

          А если сделать две независимые задачи:

          1)
          BUYSPREAD SELLSPREAD LOTS
          0 125 -42
          0 100 -19
          0 75 -8
          0 50 -3
          0 25 -1
          0 0 0
          -25 0 1
          -50 0 3
          -75 0 8
          -100 0 19
          -125 0 42

          2)
          BUYSPREAD SELLSPREAD LOTS
          150 0 42
          0 0 0
          0 -150 -42

          Первая для усреднений, а вторая в качестве стопов. Будет работать?

    • Количество лотов вниз от нуля может только увеличиваться. Недопустима ситация, когда после 42 лотов вверху находится 0 лотов внизу. Тоже самое и для проданных лотов – вверх цифра лотов должна только увеличиваться (по модулю). Стоп-лосс в данной настройке не реализован.

  10. Вячеслав пишет:

    Дмитрий, у Вас завтра последний шанс дописать статью :)
    Будет прохладно +38 всего, потом уже Вы точно не в состоянии будете, потеплеет чуть до +44 ))))))

    • gars пишет:

      Вячеслав, а Вы случайно не знаете, можно ли сделать стоп в отдельной задаче таким образом? Почемуто эта задача начинает сразу покупать и продавать пары.
      BUYSPREAD SELLSPREAD LOTS
      150 0 42
      0 0 0
      0 -150 -42

      • Вячеслав пишет:

        Да, зачем Вам стопы? :)
        “Тормоза придумали трусы” :)
        А если серьезно, то Вы явно хотите изменить последовательность считывания уровней роботом. Причем последний, то есть робот, еще не в курсе о том, что он это умеет. В результате Вы не можете с ним (с роботом) договориться :) Это как разговор глухого с немым )))
        Дмитрий, пора менять алгоритм работы софта. Клиенты уже бунтуют :)

      • Так нельзя. Основной принцип выставления уровней – СПРЕД должен уменьшаться сверху вниз…

    • Да я дописал уже. Сегодня выложу… +38градусов – это ерунда. В обед домой пошел душ принять – смотрю – на подоконнике сантиметровый слой пепла лежит. В километре от нас пожар бушует лесной. Город паниковать начал…

      • Вячеслав пишет:

        У нас тоже торфянники горят опят. Еще та радость :(

      • Rem пишет:

        У нас в городе сейчас главный человек (хотя за последние дни на оного уже совсем и не похож стал) – ЛЕСНИК. Такой дядечка с бородой и на лисапеде выпуска 70-х годов. Мимо него в лес на велосипеде или так пешком – ни ногой…. палка знаете у него какая? О-го-го (а ружа нема).
        :)

  11. gars пишет:

    А спред сверху вниз и уменьшается. Разве нет?

    BUYSPREAD SELLSPREAD LOTS
    150 0 42
    0 0 0
    0 -150 -42

  12. Лапочка пишет:

    Я тоже думаю, что, если уменьшается, то это вниз.
    А вот я внизу обычно покупаю, а вверху продаю.
    То есть лоты с минусом это продажи, без минуса это покупка.
    Или что то не то ляпнула?

  13. Алексей пишет:

    Расскажите пожалуйста о торговых успехах этой стратегии после 15.09.2010 когда спред перешел в новый диапазон около -150 и остается там по сей день. Усреднялись, высиживали в позиции несколько дней?

  14. mts_trade пишет:

    “Дмитрий, а Вы не могли бы сделать позже подобный пост по расчету спреда и дальше созданию заготовки в ПО по индексному арбитражу? Хотя бы в более сокращенной форме?
    Корзина фьючерсов против RTS и с хеджем Si.
    А то все же слишком много неясных моментов есть именно с тем, как это реализовать в ПО.”

    Я уже запарился с этой проблемой. Хоть бы кто помог:)

Оставить комментарий