Избранное трейдера /\../

по

Как увидеть Сигму?

HV, IV, RV, LV, SV – каких только волатильностей не напридумывали….

Куда опционщику смотреть? Что брать за основу? Это я еще про методы измерения не упомянул. Хотя с методами измерения HV – более-менее сошлись во мнении, что Yang-Zhang рулит. Вроде как адекватно описывает.

Не будем оспаривать, по крайней мере не в этой статье.

Я за другое – КАК ЭТО ВСЕ УВИДЕТЬ? В книжках учат наложить два графика друг на друга – HV на IV (ну или на оборот). Посмотреть кто выше – того продать, кто ниже – того купить:
Как увидеть Сигму?

Волатильность — это «медленная цена» или просто стоимость. Т.е. цена опциона зависит от базового актива, дней до экспиры и уровня страха трейдеров. Меняется она очень быстро. Чтобы оценивать именно стоимость опциона (страховки) – как раз и используется IV волатильность. Далее трейдерам нужно понять какая «медленная цена» у самого базового актива – HV волатильность. Вот для нее придумали формулы измерения исторической волатильности. Если погружаться в эти формулы, то начинают появляться новые параметры – приращение доходности, дисперсия и среднеквадратичное отклонение — сигма. Если первые два параметра это промежуточные вычисления, то сигма используется уже более активно. Господин Гаусс когда-то доказал, что в нормально распределенных случайных процессах в 68% случаев изменение величины (у нас это приращение доходности) от среднего не превысит одной сигмы. Те, кто давно в рынке скажут – рынок ни капли не нормально распределяет свои приращения и поправят Гаусса до величины 58%. Всё это интересно, занимательно, но заставляет нас ворошить знания по теорверу и статистике. А нам – трейдерам – дайте лучше кнопку «БАБЛО», а не вот это вот все…..



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

Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

Привет, новая неделя – новый бэктест факторной стратегии. На этот раз не только на Мосбирже и не только в акциях. Первоначально тут планировался большой текст про взаимодействие Моментума, торгового оборота и волатильности на неликвидных рынках и последующий Шарп сильно за 2.

Но в последний момент решили выпускать стратегии по нарастанию их сложности.  Сегодня речь не об «иксах», но об очень устойчивой штуке – получению доходности выше рыночной за длинный промежуток по разным классам активов без принятия рисков отдельных компаний или стран.

Традиционный график с результатом перед стеной текста:
Большой бэктест модифицированного Momentum. Лениво обыгрываем рынок с 1984 года на глобальных рынках

Источник: Sentimetrica

 

Синяя линия – модификация Моментума на глобальных рынках, зеленая – индекс глобальных акций MSCI World, красная – равновзвешенный портфель из акций, казначейских векселей США и сырьевой корзины.

 

Из всех стратегий американских биржевых гуру – самыми полюбившимися для меня стали идеи получения ВСЕЙ рыночной доходности Джона Богла и CANSLIM Уильяма Онил. У фраз «Индекс в долгосроке всегда растет» и «Лучшие компании остаются лучшими» много общего, верно? Попробуем оформить объединенную стратегию на основе классиков.



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

Починка websockets-криптоконнектора как повод поговорить о парадигме конкурентного программирования (питон)

В общем, решил как-то я написать websockets коннектор к одной криптобирже на С++. Решил, что неплохо было бы найти работающий простеникий коннектор и адаптировать его под себя. На С++ вообще ничего вменяемого найти не получилось, зато нашел нечто на питоне:
github.com/Crypto-toolbox/hitbtc
Штука показалась годной и стал я ее переводить на С++… Кстати, весьма полезное занятие оказалось — узнал определенные вещи из современных стандартов С++11/14, т.к. без них переводить питоновский код — много, долго и грустно)) И вот, в какой-то момент я подумал, что неплохо было бы проверить, а коннектор питоновский, который я взял за образец — он-то вообще работает?? Оказалось, что нет) Пакет websocket для работы с соединениями за 2 года устрарел и не работает, например, вот в этом месте:
self.conn = websocket.WebSocketApp(
            self.url,
            on_open=self._on_open,
            on_message=self._on_message,
            on_error=self._on_error,
            on_close=self._on_close
        )
пакет больше не экспортирует класс WebSocketApp, документацию вменяемую найти сразу не получилось и поэтому возникла потребность заменить websocket на что-то более актуальное. И это актуальное нашлось: websockets.readthedocs.io/en/stable/intro.html

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

Какой индикатор нужен для календарного спреда фьючерсов

Открывая позицию в дальнем и ближнем фьючерсах на один и тот же актив неплохо иметь перед глазами график их разности. И Quik средствами QLua предлагает такую возможность.
Какой индикатор нужен для календарного спреда фьючерсов
Код довольно прост:

— Складывает Value графиков GraphId1 и GraphId2
— При запуске на загрузке Quik'а работает код предыдущей загрузки
— с последними свойствами, полученными из кода или интерактивно.
— При запуске старые бары графика данных сканируются дважды,
— только если есть подключение к серверу.
— При смене тайм-фрейма старые бары сканируются только единожды.
— При загрузке Quik'а первый скан до подключения к серверу.
CandlesOK = true
Settings = { — После смены тайм-фрейма нужно интерактивное подтверждение
  Name      = "_Add"
  ,GraphId1 = «Tag-1» — Перезадать оба после первой загрузки.
  ,GraphId2 = «Tag-2» — Сохраняются при последующих запусках.
  ,Factor1  = 1       — Для GraphId1
  ,Factor2  = 1       — Для GraphId2
  ,Base1    = 0       — Для GraphId1
  ,Base2    = 0       — Для GraphId2
  ,Value    = «close»
  ,line = { — Исчезает прогррамный доступ после 1-го интерактивного изменения
    {Name = «close»
    ,Color = RGB(255,255,0) — Жёлтый
    ,Type = TYPE_HISTOGRAM — POINT, LINE, DASH, DOT, HISTOGRAM,
    ,Width = 2}            — TRIANGLE_UP, TRIANGLE_DOWN.
  }
}
function Init()
  local s = «Indicator _Add:»
  if 0 == getNumCandles (Settings.GraphId1) then
    CandlesOK = false
    s = s .."\n  invalid GraphId1"
  end
  if 0 == getNumCandles (Settings.GraphId2) then
    CandlesOK = false
    s = s .."\n  invalid GraphId2"
  end
  if not CandlesOK then message (s) end
  return #Settings.line
end — Init()

function OnCalculate (index)
  if index == 1 then
    CandlesOK = true
    if 0 == getNumCandles (Settings.GraphId1) or
       0 == getNumCandles (Settings.GraphId2) then
      CandlesOK = false
    end
    --[[message («Settings.Value »… tostring (Settings.Value)
      .."\nSettings.line "… tostring (Settings.line)
      .."\nCandlesOK  "… tostring (CandlesOK))--]]
    if Settings.Value ~= «open» and Settings.Value ~= «high» and
       Settings.Value ~= «low»  and Settings.Value ~= «close» then
      Settings.Value = «close»
      message («Indicator _Add: Value must be open/high/low/close»)
    end
  end
  if not CandlesOK then return nil end
  local candle1 = (getCandlesByIndex (Settings.GraphId1, 0, index-1, 1))[0]
  local candle2 = (getCandlesByIndex (Settings.GraphId2, 0, index-1, 1))[0]
  local val1 = candle1[Settings.Value]
  local val2 = candle2[Settings.Value]
  — Результат return res == 0 and nil or res всегда 0 при res == 0
  if val1 == 0 or val2 == 0 then return nil end
  return (val1 + Settings.Base1) * Settings.Factor1
    + (val2 + Settings.Base2) * Settings.Factor2
end — OnCalculate()


Как Московская биржа утрачивает вменяемость

    • 27 апреля 2020, 04:17
    • |
    • spydell
  • Еще

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



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

Пора менять кадровый состав Срочного рынка Московской Биржи.

Пора менять кадровый состав Срочного рынка Московской Биржи.

Начиная с 21-го апреля на сон почти нет времени, даже поесть не всегда  успеваю.  Помогать людям – это невероятный кайф и драйв, это я понял еще  7 лет назад, когда активно стал преподавать биржевую торговлю для начинающих, уберегая их от огромного количества мифов и классических ошибок на рынке. Но сейчас –это какая-то огромная  концентрация.  Сотни писем от пострадавших 20-го апреля на нефти, тысячи сообщений в Телеграмме и Вацапе в специально созданных группах, сбор информации, формулировки исков и претензий, обработка размеров и структуры финансовых потерь физ.лиц… Общение с юристами, журналистами, профессионалами (кто нам помогает аргументами и сбором фактов или даже просто поддерживает), споры с сотрудниками Мосбиржи (и теми, кто защищает их позицию)…

Но самое главное, конечно – это помощь пострадавшим людям, многие из которых никогда в жизни не были в подобной катастрофической ситуации( что не удивительно), у многих сейчас тяжелейшая психологическая травмы, семьи  на грани распада, у кого то даже суицидальные настроения…Помогаю как могу и в этом. Я не психолог, но я практик, и в своей жизни проходил через очень многое, в том числе и через долги, приставов, аресты имущества и через массу судов… И я как никто знаю, что деньги –это только деньги. Можно пройти через все и стать от этого только сильнее… можно потерять деньги, а потом заработать намного больше… можно получить напряги  в семье, а потом вспоминать как эта ситуация только укрепила ваш брак, показав, что рядом с тобой настоящий преданный и любящий партнер по жизни…



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

Потерял 15млн.р. за 30 минут. Ответ на вопрос - Чем закончилось?

Всем привет.
Многие из вас помнят историю, в которую я попал то ли из-за своей не опытности, то ли из-за дыры в безопасности брокера.
Если в 2х словах: имея на счету 5,6млн.р, умудрился 30 декабря 2015 года совершить на бирже ММВБ через брокера Альфа-банка сделок на 42.000.000.000рубля, потеряв при этом все!

(начало тут https://smart-lab.ru/blog/307646.php
вторая часть: https://smart-lab.ru/blog/386412.php
перед судом: https://smart-lab.ru/blog/405090.php)

И остановил я свой рассказ на том месте, что проиграл суд первой инстанции, на котором мне впаяли долг почти 10млн.р. (%, за комиссии брокера, % за использование этих денег — ха, я их даже в руках не держал).
И, наверное, я дальше не стал бы писать продолжение, если бы не обращение ко мне в личку на страницу в ВК некий ХХХХХ. Страница у него пустая, имени не знаю. Да это и не важно.

Так вот, ХХХХХ мне написал:

«Денис, подскажите чем кончилась Ваша сага с Альфа-Банком? Апелляции и Верховный Суд прошли в их пользу? 9,5 долг который они на Вас повесили?



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

Качаем исторические данные с MOEX!

Итак, передо мной, уверен, как и перед многими, встал вопрос поиска исторической информации с Мосбиржи. Немного зная python, я написал вот такой парсер:
import requests
import datetime
import pathlib

SECIDs = ["GAZP", "BANEP", "LKOH"]
DISK = "E"
for SECID in SECIDs:
    from_date = "2020-05-04"
    to_date = "2005-01-03"
    while str(to_date) != from_date:
        to_date = str(to_date)
        to_date = to_date.split('-')
        a = datetime.date(int(to_date[0]), int(to_date[1]), int(to_date[2]))
        b = datetime.timedelta(days=140)
        to_date = a + b
        pathlib.Path("{}:/{}/{}".format(DISK, "Database_MOEX", SECID)).mkdir(parents=True, exist_ok=True)
        filename = SECID + "_" + str(to_date) + ".csv"
        with requests.get("http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/tqbr/securities/{}.csv?date={}".format(SECID, to_date)) as response:
            with open("{}:/Database_MOEX/{}/{}".format(DISK, SECID, filename), 'wb') as f:
                for chunk in response.iter_content():
                    f.write(chunk)
Для начала пройдемся по его плюсам и минусам. Самый главный минус, что этот парсер качает только определенный период, который уникален для каждой акции, судя по всему для увеличения этого периода надо кинуть бирже на лапу:), и то что информация предоставляется за день, теперь перейдем к плюсам: можно выкачивать историю за определенный период для нескольких инструментов сразу (их количество ограничивается лишь количеством инструментов на мосбиржи), есть возможность назначать диск для сохранения информации, быстрота выгрузки данных.

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

Как государство утратило контроль в Роснефти

Эпиграф:

Краткое описание дела ЮКОСА:
— Комсомольцы отжали нефть у народа.
— Чекисты отжали нефть у комсомольцев.
— Теперь народ, за отжатую у него нефть, должен заплатить 50 млрд долларов комсомольцам.
Итог: у комсомольцев 50 млрд, у чекистов нефть, а народ без денег!

Я думаю, многие из вас за всей вирусной суматохой и бедламом на нефтяном рынке и не заметили одно важное событие, произошедшее с нашей нефтянкой. Дело касается крупнейшего в стране производителя нефти, компании Роснефть, контрольный пакет которой еще недавно принадлежал государству. Так вот, у государства больше нет контроля в Роснефти! У России осталось всего 40,4%! Царь подарил 9,6% Роснефти в пользование и распоряжение господину Сечину И.И. Это выглядело официально как обмен принадлежащего государству 9,6% акций Роснефти на принадлежащие Роснефти венесуэльские нефтяные активы.

Как государство утратило контроль в Роснефти



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

Всем пострадавшим на вчерашней экспирации Лайта!

Ко мне сегодня весь день обращаются люди, пострадавшие вчера на ситуации с экспирацией Лайта на Мосбирже по цене МИНУС 37,63 долларов.Скажу сразу, это не мои клиенты, у меня вообще сейчас нет клиентов, тем более — я практически не торгую на срочке Мосбиржи уже два года.

Тем не менее, люди обращаются за советом, зная мою деятельность по защите прав пострадавших клиентов от действий брокеров и Мосбиржи по итогам апреля 18-го года.

Рассмотрев ситуацию со всех сторон, что я могу сказать и что посоветовать этим людям:

1. Да, то что вчера сделала Мосбиржа — она сделала в рамках существующих и заранее известных ее регламентов.

2.Тем не менее, в тех же регламентах Мосбиржи существуют ряд пунктов, позволяющих Мосбирже ОТСТУПАТЬ от собственных правил, в случае нестандартных рыночных ситуаций и вносить ОПЕРАТИВНЫЕ изменения в регулирование биржевых процессов, во избежание глобальных потерь участников рынка, повышения устойчивости биржевых расчетов и т.д.

3.Я считаю, что вчера Мосбиржа совершила грубейшую профессиональную ОШИБКУ, остановив торги на планке 8,84 и не возобновив их своим ОСОБЫМ распоряжением( у нее есть этот инструментарий в рамках Регламента) видя, что нефть WTI на СМЕ проваливается все ниже и ниже, удаляясь от планки на 10-20-30-40 и далее долларов! В итоге, опять возникла катастрофа, схожая с ситуацией 25 декабря 2018-го года, которую позже признавала и сама Мосбиржа и также ей давали негативную оценку Банк России и НАУФОР в своем расследовании от октября 19-го года.Ошибка заключалась в том, что недопустима ситуация, когда базовый актив на глобексе(фьючерсы на нефть) торгуются в отрыве от нефтяного фьючерса на него на Мосбирже, либо наоборот — фьючерс на нефть на Мосбирже торгуется в отрыве от базового актива на СМЕ.Эти ситуации практически всегда приводят к повышенным, иногда катастрофическим потерям участников рынка.
Именно это и произошло вчера. Все покупатели фьючерсов на лайт, по воле Мосбиржи «застрявшие» на цене 8,84, были лишены всяческой возможности управлять рисками по своим позициям, видя, что расчетный базовый актив под их фьючерсы удаляется от их цены на сотни % в убыточную зону.Не было возможности сократить позиции, взять стоп и т.д. И при этом, после окончания торгов все эти участники торгов были фактически поставлены перед фактом — все их позиции экспирируются по ОТРИЦАТЕЛЬНОЙ цене -37,63 доллара за баррель. В итоге, относительно цены планки, каждый фьючерс принес его покупателю убыток  в ПЯТЬ РАЗ БОЛЬШЕ стоимости нефтяного фьючерса на момент остановки торгов! Таким образом возникла огромная группа участников рынка (несколько сотен человек), потерявшие суммы в 5 раз больше допустимого риска ( рассчитанного по цене НОЛЬ по фьючерсу на нефть), часто равных НЕСКОЛЬКИМ их депозитам, и одновременно с этим, некоторая группа участников рынка получила сверх-прибыль в том же размере.



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

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