Избранное трейдера Dmitryy

по

ОФЗ - начинаю покупать. Часть 2

Первая часть с обзором ОФЗ и двух стратегий их покупки здесь
___

Весь сентябрь у меня был очень активным — отпуск, переезд на новое место и еще много чего, так что я немного выпал из процесса. Хорошая новость, за это время портфель FinanceMarker неплохо подрос и отыграл все прошлые падения на плохих новостях. Тем не менее, сейчас по-прежнему актуальная тема покупки облигаций ОФЗ. Ранее я уже писал первую статью с обзором интересных вариантов.

Теперь же спешу сообщить, что сегодня я совершил первую покупку — как раз на брокерском счету оставалась небольшая сумма денег, которую и удалось пристроить.

ОФЗ - начинаю покупать. Часть 2

Пока я купил ОФЗ 224 выпуска (ОФЗ 26224) — потому что в первый раз, когда делал обзор, здесь была наибольшая доходность. Возможный минус в том, что срок погашения аж в 2029 году, а значит дюрация у облигации высокая. Учитывая, что нет совершенно никакого понимания, куда пойдет ставка — это повышенный риск.



( Читать дальше )

QUIK: Бенчмарк ОФЗ к ставке ЦБ

    Может кому будет интересен скрипт на QLUA, который выступает простым бенчмарком ОФЗ с постоянным купоном к ставке ЦБ.
Основные параметры доходность и премия к ставке ЦБ, с учетом дюрации.
Скрипт не работает онлайн (оперативность тут не принципиальна), при запуске собирает параметры в таблицу и выводит на экран.
В дальнейшем планируется эти данные использовать для анализа премии доходности по дюрации для муниципальных и корпоративных облигаций к ОФЗ.

QUIK: Бенчмарк ОФЗ к ставке ЦБ


    Код скрипта на github (на github две версии одна в utf-8 для просмотра и основная версия в win1251, т.к. quik понимает только его):
github.com/trantor77/lua_scripts/boundsOFZ.lua

    Код скрипта:
--переменные
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
  • обсудить на форуме:
  • Quik Lua

По мини конкурсу «Опционы. Мозговой штурм». Даю раскладку после экспирации, как обещал.

Коллеги, всем добра! Напоминаю, нами проводился мини-конкурс «Мозговой штурм», ссылка на исходник: https://smart-lab.ru/blog/499050.php. Целью конкурса было показать, каким же заковыристым может стать профиль опционных позиций в результате управления в течение торгового периода. Ну и доказать, что трейдер, разбирающийся в опционной торговле, в состоянии решить обратную задачу и восстановить начальный профиль позиции при практически минимальных исходных данных, просто просчитывая логику действий. Напоминаю, что победителем конкурса стал камрад Олег Ложкин, который и добавил в свою смартлабовскую копилку честно заработанные 520 ТМ. Ну, и как обещал – выкладываю всю раскладку по трансформации изначального профиля в конкурсный и его дальнейшее управление с выходом на месячную экспирацию, с традиционной выкладкой скринов окошек используемого ПО  для лучшей визуализации. Для торговли, моделирования и визуализации  использовался классический Квик в связке с  лицензионной программой Option Workshop. Если что-то непонятно по скринам и работе программы – спрашивайте, единственное примечание для ориентирования – красный шарик на профиле в Воркшопе это текущее значение БА.



( Читать дальше )

6 готовых портфелей от гуру рынка

6 готовых портфелей от гуру рынка
Попалась мне как-то в Forbes такая статья: 6 Expert Investment Portfolios You Can Implement Today. Дословно ее можно перевести как «6 инвестиционных портфелей от экспертов, которые вы можете воплотить сегодня». Звучит неплохо. Однако после прочтения мне стало понятно, что воплотить эти портфели не так-то легко. И вот, почему.



( Читать дальше )

Евробонды для нищих

Все мы знаем, что часть портфеля неплохо хранить в валюте.
Все мы знаем, что ставки по вкладам сейчас смешные.
И некоторые из нас знают, что на Московской бирже торгуются Евробонды, в том числе некоторые из них маленькими лотам от 1000$
Их мало, поэтому я потратил совсем немного времени на их анализ.

Статистика по объемам за 2 последние недели.
Субордов тут нет.
В принципе, если не боитесь ВЭБа, то можно себе подыскать бумажку с разной дюрацией, хотя мало кто сейчас захочет покупать длинные. И есть даже целая одна бумага в евро.

Евробонды для нищих

И в текстовом виде для удобного поиска по ISIN (извиняюсь за грязь)

/> /> />
1 BIN-19 XS1379311761
2 Sistema-19 XS0783242877
3 TMK-20 XS0911599701


( Читать дальше )

Как правильно торговать опционами урок 1 и урок 2

Урок1: 

Настройка ПО option workshop, подключение к терминалу quik.



( Читать дальше )

Увеличиваем эффективность инвестиций с помощью covered calls

    • 17 октября 2018, 17:40
    • |
    • kiki
  • Еще
Всем привет! С лета аккуратно провожу эксперимент по продаже опционов на акции портфеля. Результат — на картинке. Опционная позиция закрывается при достижении 85% прибыли по премии. Опционы продаются на месяц по акциям во флете или умеренно растущим со страйком +7-10% от текущей цены. При аномальном росте цены акции и большой к ней любви делается ролловер опциона. Опционы не продаются, если на период приходится квартальная отчетность. Результат — 83% сделок закрыты в +. Всем удачи
Увеличиваем эффективность инвестиций с помощью covered calls

p.s. не очень понимаю нелюбовь многих к продаже опционов)

Управление опционным портфелем. Детали…

    • 17 октября 2018, 08:30
    • |
    • Rustem
  • Еще

Добрый день.

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

Последние сделки перед падением я сделал 5 октября, в пятницу https://smart-lab.ru/blog/497939.php .

 

8 октября, в понедельник, мой портфель был из 12 проданных и 8 купленных путов.

Т.к. я продаю каждую неделю месячный контракт, то примерно у меня портфель состоит из 4 позиций (примерно 4 недели в месяце).

 

10 октября, в среду, при сильном обвале, я откупил последнюю и предпоследнюю недели в профит.

Портфель стал выглядеть так, 6 проданных, 8 купленных контрактов.

 Управление опционным портфелем. Детали…

11 октября, в четверг, утром (1:30 по МСК), я каждые два контракта роллировал в один, уходя на две недели вперед.

Портфель стал выглядеть так, 3 проданных, 8 купленных контрактов.

 Управление опционным портфелем. Детали…



( Читать дальше )

Стратегия инвестирования, которая даст вам больше (но это не точно)

Давно известно, что если вы хотите купить какую-то акцию дешевле — продайте на нее пут не в деньгах. Например хотите сбер по 180? Продайте 180й пут. Если цена упадет ниже 180 — то вы получите акцию по 180 и еще премию по путу. (например 2) и таким образом эффективная цена покупки будет 178. Ну, а если цена не упала — то получите просто истекшую премию в размере 2, что в пересчете на ГО довольно неплохая доходность. Пример выше — условный, надо смотреть на цены, страйки, волатильность. Но есть одно простое правило — путы лучше продавать тогда, когда рынок уже припал и вола подскочила и часть падения уже пройдена. (Так, сейчас кто-то бросится писать коммент про мой 2008й год. Да, такое бывает. Но сейчас этих предпосылок, вроде как, нет).
Чем еще хорошо продавать путы? что если акция болтается в диапазоне, то вы собираете премию. Обычный владелец стока при неизменной (почти) цене акции получит лишь дивиденды, а вы — опционную премию. (правда не будет дивидендов)

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

( Читать дальше )

....все тэги
UPDONW
Новый дизайн