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

по

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. Если что-то непонятно по скринам и работе программы – спрашивайте, единственное примечание для ориентирования – красный шарик на профиле в Воркшопе это текущее значение БА.



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

Необходимое количество разных стратегий (на примере 40% и 2:1)

В книге Лебо Ч. Лукас Д.В. — «Компьютерный анализ фьючерсных рынков» авторы пишут, что стратегия с вероятностью выигрыша 0.4 и отношением среднего выигрыша к среднему проигрышу 2:1 дает статистическую вероятность слить депо близкую к нулю. Так ли это? На графике ниже результаты симуляции по этим данным.
Необходимое количество разных стратегий (на примере 40% и 2:1)

Если вы торгуете фьючерсами и у вас сделок в год несколько тысяч, то – возможно. Если в год 50 сделок, то, судя по графику, флэт может длиться 4 года. В случае акций вход-выход может составить 0.2% (или около того). Результат транзакций: 50х0.2=10% (в год), умножаем на 4 года – результат: -40%. «Ничего не делал – только зашел».

Что можно сделать? Только увеличивать количество разных стратегий. До какого минимального количества? Ниже дан график средних по трем разным стратегиям (оранжевая – теоретическая кривая). Число реализаций ограничил пятью, чтобы не загромождать.
Необходимое количество разных стратегий (на примере 40% и 2:1)



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

Заблуждение

Уже давно установлено, что мы используем наш мозг примерно на 10 %.

Когда и кем?! Кто эти приподъезные околоскамеечные шнобелевские лауреаты?!

Мозг человека практически всегда загружен на 100%. Хотя бы потому, что — мозг составляет у здоровых людей около 2% от массы тела, но при этом потребляет до 25% энергии, поступающей в организм человека.

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

Мозг в трейдинге — первейшее дело, но буквально обольщаться не надо. Чтобы мозг эффективно торговал, надо:
— выгрузить из него всё лишнее
— загрузить все нужное
— создать ему условия, что бы он все нужное обработал и выдал результат

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

Урок1: 

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



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

Страхование от мошенников, Сбербанк

наткнулся на статью, посчитал будет интересной для прочтения:

Прихожу я сегодня такая классная в Сбербанк, а там милая барышня так воодушевленно мне:

— Давайте мы Вам защиту от мошенников подключим? На все счета, все карты, вообще на все, устанавливается на год, стоит 1 161 руб. в год. Давайте? Отличная штука!

 

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

— То есть Вы, как банк, не в состоянии в рамках своей обычной хозяйственной, лицензируемой деятельности и в соответствии с требованиями, предъявляемыми к банкам, обеспечить безопасность моих денег, операций и предлагаете мне эту безопасность за 1 161 руб. в год?

 

А она улыбается и продолжает:

— Ну, это же мошеннические действия, мы-то здесь причём? Мы только операции проводим по счётам, а от мошенников Вы сами должны защищаться.



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

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

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

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

Как правильно закупаться баксами?

Как, по вашему мнению, лучше затаривать баксы человеку, который живет в РФ, тратит в рублях, сами баксы, кроме как в инвестиционных целях, не нужны.
Таким образом, его интересуют не сами доллары, а курсовая разница на момент продажи.
Допустим, для расчета на 100к рублей.
Два варианта для «купили и сидим»:
1) Покупается 1 лот (1000) долларов TOD = 65560 рублей. Оставшиеся 34440 кладутся в ОФЗ, FXMM, или тому подобный (теоретически) неувядающий актив. Сидим, ждем у моря погоды.
2) Покупается 1 контракт на фьючерс USDRUB (ГО = ~ 4500). Оставшиеся 95500 кладутся туда же (ОФЗ/FXMM).
Плюсы второго варианта: мы получаем ту же разницу курса, но (вроде) дешевле.
Минусы второго варианта: мы теряем контанго (хотя это будет компенсировано доходностью ОФЗ/FXMM) и у нас есть, в случае долгосрочной покупки, необходимость раз в три месяца перекладывать фьючерс. Минус комиссия за покупку/продажу ОФЗ/FXMM и комиссия депозитария.

Как, по-вашему, какой способ предпочтительнее?


Как я возвращаю 52 000 по ИИС из налоговой в 2018 году за 2017 год!

Очень неприятная история происходит с нашей налоговой службой. Около года назад я долго воевал с налоговой службой по вопросу числящихся на мне транспортных средств, и соответственно налогов, которые мне необходимо уплатить по ним. После моих заявлений, ТС исчезали, потом появлялись другие (более старые) приходилось писать снова и так далее. «Борьба» шла около ГОДА, но в конце концов все пришло в норму. Хорошо, что это был через личный кабинет на www.nalog.ru, потому что если бы это переписка шла по почте, то это бы растянулось на большее время.
Теперь новая напасть. Как владелец иис, я возвращаю 52 000 рублей каждый год по ндфл. Делается это достаточно просто (по идее, и в этом году решили сделать ещё проще вроде как. в прошлом такой проблемы не возникало):
1.Вы сдаете декларацию 3-НДФЛ через тот же личный кабинет.
2.Она проходит камеральную проверку, и налоговый орган выдает решение о возврате (смотри скрин 1).
Как я возвращаю 52 000 по ИИС из налоговой в 2018 году за 2017 год!

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

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