Избранное трейдера Agasfer
--переменные keyRateCB = 7.5 classCode = "TQOB" function CreateTable() t_id = AllocTable() AddColumn(t_id, 0, "Бумага", true, QTABLE_STRING_TYPE, 15) AddColumn(t_id, 1, "Цена", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 2, "Доходность, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 3, "Дюрация, лет", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 4, "Купон, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 5, "Премия к ЦБ, бп", true, QTABLE_INT_TYPE, 15) AddColumn(t_id, 6, "Погашение", true, QTABLE_STRING_TYPE, 15) t = CreateWindow(t_id) SetWindowCaption(t_id, "ОФЗ") end function string.split(str, sep) local fields = {} str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end) return fields end function getParamNumber(code, param) return tonumber(getParamEx(classCode, code, param).param_value) end function formatData(prm) return string.format("%02d.%02d.%04d", prm%100, (prm%10000)/100, prm/10000) end CreateTable() arr = {} sec_list = getClassSecurities(classCode) sec_listTable = string.split(sec_list, ',') j = 0 for i = 1, #sec_listTable do secCode = sec_listTable[i] securityInfo = getSecurityInfo(classCode, secCode) short_name = securityInfo.short_name if short_name:find("ОФЗ 26") ~= nil then j = j + 1 r = {} r["short_name"] = short_name r["price"] = getParamNumber(securityInfo.code, "PREVPRICE") r["yield"] = getParamNumber(securityInfo.code, "YIELD") r["duration"] = getParamNumber(securityInfo.code, "DURATION")/365 couponvalue = getParamNumber(securityInfo.code, "COUPONVALUE") couponperiod = getParamNumber(securityInfo.code, "COUPONPERIOD") r["coupon"] = ((365/couponperiod) * couponvalue)/10 r["bonus"] = (r["yield"] - keyRateCB)*100 r["mat_date"] = getParamNumber(securityInfo.code, "MAT_DATE") table.insert(arr, j, r) end end table.sort(arr, function(a,b) return a["duration"] < b["duration"] end) for j = 1, #arr do row = InsertRow(t_id, -1) SetCell(t_id, row, 0, arr[j]["short_name"]) price = arr[j]["price"] SetCell(t_id, row, 1, string.format("%.2f", price), price) yield = arr[j]["yield"] SetCell(t_id, row, 2, string.format("%.2f", yield), yield) duration = arr[j]["duration"] SetCell(t_id, row, 3, string.format("%.2f", duration), duration) coupon = arr[j]["coupon"] SetCell(t_id, row, 4, string.format("%.2f", coupon), coupon) bonus = arr[j]["bonus"] SetCell(t_id, row, 5, string.format("%.0f", bonus), bonus) mat_date = arr[j]["mat_date"] SetCell(t_id, row, 6, formatData(mat_date), mat_date) end
Эпиграф: «Заранее приношу извинения, что не о Скрипалях, Боинге, пенсиях и НДС, а о какой-то ерунде…»
Коллеги, всем добра! Хочу продемонстрировать пример объединенной работы различных торговых опционных стратегий.
Ранее: https://smart-lab.ru/blog/490930.php мною была представлен пример простейшей стратегия опционной направленной торговли от покупки, с некоторым минимальным вмешательством и корректировкой в процессе всего торгового периода. Как я уже отмечал, направленная торговля обеспечивает наиболее прибыльную торговлю в случае реализации прогнозируемого движения, применение же опционов в этой системе дает возможность в случае неблагоприятного развития ситуации ограничить максимально возможный убыток фиксированным значением в пределах установленного риска. Причем, в отличие от применения стоп-лосса, эта возможность сохраняется вплоть до срока экспирации опциона, что дает шанс пересидеть неблагоприятный период и дождаться таки реализации нужного сценария.
Сегодня рассказываю про «не убиваемый» мультипликатор P/S (Price/Sales)
Мультипликатор P/SАналогичен уже рассмотренному P/E — только здесь мы делим капитализацию компании не на прибыль, а на ее выручку.
Чем больше значение мультипликатора P/S — тем хуже, т.к. инвестор при покупке акций такой компании платит больше на каждый рубль ее выручки.
Пример:Компания 1:
капитализация = 1 млрд. рублей
выручка = 500 млн. рублей
P/S = 1 млрд. / 500 млн. = 2
Компания 2:
капитализация = 1 млрд. рублей
События нынешнего апреля на срочном рынке РФ показали уязвимость стратегий, основанных на продаже опционов. Резкий рост ГО и волатильности приводит одновременно к недостаточности обеспечения позиции (требуется довнесение средств или брокер просто по риск-менеджменту кроет всю позицию или большую часть) и неожиданным временным убыткам, т.к. цена дальних опционов взлетает в разы.
При этом закрытие позы брокером или невозможность удерживать позицию спекулянтом (по любым собственным причинам) превращает бумажный убыток в реальный.
Кто-то после этого предъявляет претензии брокеру, кто-то сетует на неэффективность рынков, связи, организаторов торгов. И во многом бывает прав. Но 9-10 апреля это естественный стресс-тест для всей инфраструктуры, посредников и клиентов. Стресс-тестов давно не было на нашем рынке. Почти 3 года относительно спокойной внутридневной торговли.
Трейдер не властен над факторами неготовности брокера (который кстати по Регламенту будет прав, если начнет крыть позиции, выходящие на маржин-колл и всегда будет снижать риски по физикам в первую очередь, т.к. это меньшая доля доходов, и вести переговоры с крупными юр. лицами в аналогичной ситуации (а то многие физики возмущались, что им не позвонили, не предупредили, не выслушали)), а также над факторами неготовности инфраструктуры биржи и связи брокера.
В этой главе я расскажу о некоторых из своих стратегий, основанных на 3 элементах: движении цены (price action), технических индикаторах, свечах и паттернах.
Меня не волнует фундаментальный анализ, мне неинтересно что производит компания и как. Все, что мне нужно — это движение цены, индикаторы и свечи.
Существует миллион стратегий, но я выделил для себя только 9 сетапов, которые показывают наилучшие результаты, о них и пойдет речь. Во всех стратегиях участвуют отобранные по некоторым признакам акции, которые я называю Акции в игре (глава 4).
Опцион. Право, но не обязанность.
Купленный опцион имеет обязательный убыток и вероятную прибыль.
Проданный опцион имеет гарантированную прибыль и вероятный убыток.
Все торгуют опционами, только этого не знают.
Все кто торгует опционами, торгуют волатильностью.
Путь «пьяного матроса».
Как продать край? Измеряем размер месячных свечек (красных) (10%). Рассчитываем край. Используем формулу. Волатильность * время ^ ½. Получаем огибающую.
Отступаем на 23% вниз и продаем много путов. Получаем гарантированно прибыль и, с очень меленькой вероятностью, убыток ограниченный брокером.
Итак, почему крылья улыбки опускаются, поднимаются? Потому что меняется предполагаемая волатильность волатильности. И меняться она может от 20 до 40. И если волофвол будет успокаиваться, то и диапазон будет уменьшаться, а соответственно и крылья опускаться. И наоборот. Если амплитуда волатильности увеличивается, то волофвол увеличивается и крылья поднимаются. И так как зигзаг торгует именно этим наклоном, то получается, что он торгует волофволом.
Теперь мы разберем наш зигзаг на составные части. Я продаю 100, 105 путов и покупаю 80, 127500 колов. У меня минимальная гамма, положительная тетта и отрицательная вега. То есть, классическая схема. Остается только захеджировать дельту. И я сделаю это не фьючерсом, а опционами на ЦС. Куплю 117500 путы 20 штук и продам 117500 колы 20 штук. Согласитесь, что это тот же самый фьючерс -20. Только фьючерс вам не показывал, какая у него волатильность и какие у него греки. Хотя, на самом деле, в динамике его движения, все это присутствует. Остается понять, насколько сбалансирована эта штука. Для этого мы рассмотрим отдельно путы: