Блог им. Albus

Робот ContanGO!

Между фьючерсом и базовым активом всегда есть разница. Если фьючерс дороже базового актива — это контанго, если фьючерс дешевле базового актива — это бэквордация. На основе этих расхождений можно строить безрисковые арбитражные стратегии (продать дорогой фьючерс, купить дешёвую акцию).  Чем ближе экспирация, тем меньше разница между фьючерсом и базовым активом. День за днём контанго уменьшается. Не расхваливаю подобные стратегии, просто напоминаю, что они есть.
Я написал простенького робота, который считает контанго и бэквордацию между фьючерсом и акцией.
Робот ContanGO!
Значения полей:
Share — акция, базовый актив
Fut — фьючерс на эту акцию
Expire_Days - сколько дней до экспирации
spread Future-Share — размер контанго или бэквордации, то есть разница между ценой фьючерса и базового актива
Depozit v banke — какую доходность даст депозит под 7% при сроке, равном Expire_Days (до экспирации).

Поле выделяется оранжевым цветом, если спред выгоднее банковского депозита.
Условия приближены к реальным: по фьючерсу берётся бид, по акции аск. Робот работает только когда идёт основная сессия (до 18-40), потому что ему нужны биды и аски. На вечорке и на выходных будет глючить.
Сейчас самый дорогой фьючерс по сравнению с базовой акцией — ФСК ЕЭС (FEES). Между ними разница свыше 3%. Разница между фьючерсом на Газпром и акцией Газпрома тоже велика. (это июньские фьючи 2017). Внутри дня спреды могут резко расширяться до гораздо больших размеров, а потом возвращаться на обычные уровни.
Фьючерсы всегда дороже акций. Если вы видите наоборот — бэквордация — значит скорее всего до срока экспирации будет срез по дивидендам. Фьючерс уже упал с учётом будущего дивидендного гэпа.
Ещё одно объяснение бэквордации. На дальних фьючерсах может быть очень широкий спред, биды стоят низко, вот и получается что фьючерс дешевле акции.

Робот лежит здесь. Вот ссылка:
yadi.sk/d/1K7lQEaA3FT7fy

А это платформа LuaForWindows. Она нужна, чтобы на вашем компе работали роботы на Луа. Там библиотеки функций.
github.com/rjpcomputing/luaforwindows/releases/download/v5.1.5-51/LuaForWindows_v5.1.5-51.exe

1. Установите LuaForWindows
2. Перезагрузите комп.
3. Положите в отдельную папку файлы ContanGO и QL
4. Запускайте в КВИКе робота ContanGO.lua через Сервисы — Lua скрипты — добавить.
Раз в квартал надо будет руками перебивать названия фьючерсов внутри файла ContanGO.
В нём же, в строчке №12 можно менять ставку депозита с 7% (0.07) до нужного вам значения.
Примечание:
файл ContanGO.lua — это сам робот
файл QL.lua — это библиотека функций

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

П.С. В комментах идёт дискуссия насчёт того, что брокерская комиссия съедает много дохода. Решение простое. Ведите с брокером постоянный диалог о понижении комиссии. Ищите брокеров с низкой комиссией. Например у Солида официальные комиссы микроскопические, и уже включают биржевую комиссию. Но там есть фиксированная плата за месяц.
Я у своего брокера оптимизировал комиссию до такого размера, что почти её не замечаю. Мне проще — я скальпер. Но у вас тоже может получиться. Удачи!
★72

Комиссия учитывается на вход/выход?
avatar

Karim

Karim, нет. Только разница цен в чистом виде.
avatar

Albus

Albus, Надо только найти брокера, кто сальдирует автоматически прибыль и убыток по фьючерсу и акции
avatar

kbrobot.ru

kbrobot.ru, у цериха ебс есть
avatar

v3Rtex

Albus, хай!!! есть робот стоп и профит?
avatar

Dargo

Dargo, есть два разных робота. Один — стоп, второй — профит. Вам какого?
avatar

Vlаdimi®

Vlаdimi®, стоп!!!
avatar

Dargo

Dargo, )))
avatar

Vlаdimi®

Karim, это самый важный вопрос)
avatar

Zuccer0

Большущее Вам спасибо за такую штуковину!
avatar

shprots

Cпасибо тебе добрый человек! Будем тестировать.
avatar

Вельвет

там бы ещё учитывать комиссию и спред

и то что не на все 100% от депо можно войти, то есть 88% на акцию 12% на фьюч например, и значит и доход будет только от 88% 

может ещё есть какие то ньюансы? 

 

ещё надо бы иметь ЕБС, что б акции шли под обеспечение для фьючей 

avatar

Igr

Igr, у меня комиссия на акциях настолько низкая, что ею можно пренебречь. У большинства клиентов комиссия на акциях будет 0,035%. Значит на круг 0,07%. Добавим ещё круг по фьючерсам. Их же тоже надо будет продать-откупить. Даже если взять самого жадного брокера, то расходы на комиссию на круг по акциям и фьючерсам составят в худшем случае 0,15%. То есть очень мало по сравнению с обсуждаемыми здесь процентами доходности.
avatar

Albus

Albus, 0,15*4=0,6, плюс доход не от 100%, тоже минус

 

а как быть с скачками по ГО?

 

avatar

Igr

Igr, зачем вы умножаете на 4? Если комиссия 0,035%, то у вас круг на акциях (в обе стороны) это 0,07% (семь сотых!!!). Плюс добавляем круг по фьючерсам туда-обратно. Вот и выходит в целом в худшем случае 0,15%
avatar

Albus

Albus, я про год

а так да 0,15% 

но другие минусы ни куда не деваются 

avatar

Igr

Igr, скачки по ГО вам грозят лишь одной неприятностью: ваш счёт чуть-чуть погрузится в маржу на то время, что ГО повышено. А потом всё вернётся как было.
avatar

Albus

Osen, думаешь комиссия столько съест? 
avatar

Igr

 если будет время и желание, написали бы коменты в тексте программы, что там что делает?   для самообучения было бы полезно 
avatar

Igr

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

Albus

Такая схема не работает, Так как вторая часть денег лежит на споте в виде хеджа и не приносит прибыль. Берем квартальный фьючерс с контанго 3% умножаем на четыре квартала получаем 12%годовых с фьючей, а с общей суммы 6% годовых в лучшем случае.
avatar

Антон

Антон, почему 6% как считали? 
avatar

Igr

Igr, Допустим у Вас есть 1 000 000 руб.
Спот 500 000 руб. (Хедж)
Фьючи 500 000 руб.
В среднем квартальный фьюч за 3 месяца до экспиры торгуется 3% контанго.
Итого: 12% годовых 60 000 руб.
С Вложенного 1 000 000 руб имеешь 60 000 руб. или 6% годовых.
avatar

Антон

Антон, зачем поровну то делить?  на фьючах можно использовать 6 плечо бесплатно 

там другие минусы, комиссия, спред, ликвидность во фьючах некоторых, налог… может ещё что то

avatar

Igr

Igr, у Вас равной пропорции не будет, а это уже другая стратегия.  Фьюч идет вверх у Вас 5-6 плечей: действия? Каждый день до вносить ден. средства, ведь спот и фортс не сальдируется между собой (по крайней мере у меня «Сбербанк»).
avatar

Антон

Антон, падаем в ноги брокеру, звоним риск-менеджеру и говорим, что "мы хорошие и позиция захеджирована"…
avatar

ch5oh

ch5oh, и тебе рисуют залоговый лимит)) исходя из t+2 позы
avatar

flextrader

Антон, например у Открытия есть единый брокерский счёт, там акции можно использовать под ГО для фьючей, если фьюч начал расти то у вас берётся плечо на акциях, думаю в таком случаи при определенной разнице нужно подать часть акций и откупить часть фьючей )

и спот и фортс сальдируется если фьючи на акции, вроде так, на 100% не уверен

avatar

Igr

Igr, ебс комис брокера 18%
avatar

Sekator

Sekator, это что именно за комис? и у какого бокера?
avatar

Igr

Igr, (я кода не видел, оговорюсь) только афтар когда % считал, он явно считал относительно стоимости бумажек (спота), так вот:

реальная доха такого (такой страты) никакого превышения (даже  в 1,2 раза) над бенчмарком (ключевой/mosprime/депозитной)  никогда (!!) не даст. причем я именно о mean значении контанго сейчас, а не о неких экстремумах

и все «громадные» cng в фск — не более чем следствие высокой величины его ФСКшного ГО (поэтому посыл тут концептуально абсолютно справедлив)
— нормируй на ГО и там уж с бенчмарками можно сравнивать
(сорри, но у меня просто в голове не укладывается на что на местном рыночке можно с таким продуктом надеяться кроме как на лосеводство) 
avatar

flextrader

flextrader, а как ГО влияет на стоимость фьюча, при увеличении ГО на 50% как изменится фьюч?
avatar

Igr

Igr, вопрос имеет несколько вариантов ответа). но зависит от актива, поэтому
чтобы считать (даже) в первом прибл. надо задаться исчо и активом (считай его ликвидностью или % ГО)
avatar

flextrader

flextrader, ну привели бы пример, например на сбер об и фск?
avatar

Igr

Igr, и исчо моменты (почему цифры такие на картинке и как далековато от реальности):

— те же затраты на р-ры ГО нужно в качестве метрики соотносить с ликвидностью/прибыльностью алго, дык вот fees Никогда не был эффективным с этой т.з.
— также в боте (ну никак не устраняются реальная несинхронность м/у ба-и-деривативом) 

  — комисс (нет никакого смысла торговать t+2 без фикс-тарифов)
avatar

flextrader

flextrader, 

-не синхронность, это вы про что? поясните 

— про нет смысла торговать т+2 тоже не понял)

avatar

Igr

Igr, 
не
синхронность

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

дефолтные (публичныеспот-тарифы слишком дороги, не позв. получать доходность больше бенчмарка на таком арбитраже
avatar

flextrader

flextrader, ну цену брать из стакана в моменте и там и там 

 

 

avatar

Igr

Антон, не совсем так. На фьючерсах же гарантийное обеспечение. ГО по фьючерсу на СБЕР 14% от его стоимости. Это словно бы 7-е плечо. (ГО сбера 2210, а цена фьюча 15770)
avatar

Albus

90% приведенных в табличке фьючерсов неликвид куда 10 контрактов присунуть проблема. а если надо хотя бы 500 или 1000?
avatar

silentbob

разве это выгоднее коротких офз до погашения? не стоит забывать про комисс и 13%
avatar

Роман incognito

бестолковое дело пробовать на этом заработать. комисс сожрет всю прибыль!!!
 4. И кнопку "Схватить" — чтобы одновременно выставились 2 заявки для фиксации этого спреда. Понятно, с учетом доступной ликвидности… ;-)
avatar

ch5oh

Да это не работает. Вам нужно первым в спреде вставать, нужен быстрый доступ к бирже. а там всё занято уже ребят)

На неликвиде проблемы с ликвидностью… короче, бабки только зря потратите.
Больше БЫ таких постов, а то посты типа Хомяка как он 700 рублей заработал — это дно. 
avatar

Yorsh

Yorsh, не, дно это обсуждение Украины)  разговоры как у нас всё плохо или наоборот всё замечательно)  что скоро кирдык США)

 

хомяк это мелочи 

avatar

Igr

Старая штука. На самом деле работает, но доходность тяжело поднять выше 6 процентов, и виной тому необходимость избыточного ГО на фьючах, т.к. это самое ГО биржа любит без предупреждения увеличивать раза так в два например.
Но надежность этой схемы выше чем у ОФЗ, т.к. нет переоценки и дюрация маленькая.
avatar

stolki

5. Добавьте в поставку файл socket.lua и связанный с ним core.dll

Тогда можно будет не ставить луа для винды (ребут — это лишняя головная боль для трейдеров).

 

6. При запуске Вашего скрипта ругается:

C:\Scripts\ContanGO.lua:86: attempt to perform arithmetic on local 'offer_sh' (a nil value)


Правда, я запустил его уже после 18:40...

Поставьте проверку/защиту?..

avatar

ch5oh

ch5oh, да. Он ругается потому что на вечорке нет стакана по акции. В следующий раз допилю.
avatar

Albus

Albus, так норм, как считаете?

if ((10000<getSTime()) and (getSTime()<184000)) then   

avatar

ch5oh

ch5oh, да, можно так. В этом случае выбивать не будет, но и данных в таблице не будет
avatar

Albus

а вы в ЯВЕ-программировании разбираетесь?
проблема есть у меня… с запуском клиента на яве с сервера.
Нормальная схема. Рабочая. Не первый год уже на свободный остаток от торговли получаю доп. процент, который немного отбивает издержки от основных спекуляций. Но на 100% капитала, конечно, нереально получить желаемый процент. Где-то на 60-70% совершенно реально. Загрузить можно и больше изначально, но, если рынок пошел наверх, у вас по фьючерсной позиции начнет капать отрицательная вармаржа и как бы кто её не сальдировал, придется этот минус со счета каждый день списывать. Прибыль по акции может возникнуть только после продажи её. Поэтому за такой позиции при загрузке боле 80% надо следить за тем, куда идет рынок, чтобы в долг не попасть. Принципиально переиграть 7-8% в банке не получится и переиграть ОФЗ с самыми высокими купонами также не выйдет, но для текущего задействования свободных денег отлично подходит.

И последний неприятный нюанс такой схемы. Проданное контанго только в теории падает на счет линейно день за днем. Реально это выглядит так:



avatar

Sergey Pavlov

Sergey Pavlov, я в следующем релизе робота добавлю интересный анализ. Он будет учитывать налог 13%, замороженные деньги под ГО, брокерскую комиссию…
avatar

Albus

Думаю у маркетмейкеров весь рынок плотно обставлен такими роботами и ловить там нечего.
avatar

ivanovr

у тя ошибка… нет учета дивов...
и спрэда
avatar

ves2010

ves2010, дивиденды роботом не посчитаешь. А по поводу спреда. Вы про биды-аски? Я же написал, что берётся бид по фьючерсу и аск по акции, то есть максимально приближено к реальным условиям.
avatar

Albus

Albus, тогда еще ошибка… доходность занижается т.к надо учитывать сумму ГО фьючерса... 
 т.е. общая стоимость позиции выше… соответственно доха ниже...

вообще если хочешь удвоенную доходность то надо покупать евробонды и хеджить си… т.е. % от евробондов + контанга фьюча… это сделано в FXRU
avatar

ves2010

ves2010, я в следующей версии допилю коэффициенты с учётом того что часть денег заморожена в виде ГО.
avatar

Albus

Albus, 

Я у своего брокера оптимизировал комиссию до такого размера, что почти её не замечаю. 
как зовут такого договороспособного брокера?
avatar

Фыва

Квик как-то надо настраивать дополнительно?

Может быть, эти бумаги надо предварительно заказать в таблице "Текущие торги" или ещё как-то?..

avatar

ch5oh


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW