Избранное трейдера Θ_Hunter

по

А еще , на опционах можно зарабатывать такими стратегиями.

    • 17 апреля 2020, 17:51
    • |
    • FZF
  • Еще

Сегодня сделал извращение на волатильностях  Si и  RTS. Это были недельные опционы с экспирацией 23/04/2020.  На центральном 107500 страйке   RTS волатильность была  60 , а на центральном 75000 страйке Si  волатильность опустилась до 20. 

Волатильность Si я купил, а RTS  продал. Сделал я это  через стредлы.
А еще , на опционах можно зарабатывать такими стратегиями.

Пропорции выбирал следующим образом.  Фьючерс   RTS в рублях стоит 158709 руб., а фьючерс Si  =75000 руб. На один  RTS приходится 2,116 Si .

Поскольку Si  я покупал, а  RTS продавал, то пропорцию взял с запасом 1:3

Дальше подразумевалось дельтахеджирование по следующим правилам:

Когда у RTS дельта становится 1, выравнивать ее в ноль, и в этот же момент выравнивать в ноль позицию Si.  Ведущей должна быть проданная позиция.

Позицию я сделал в 12:30, а к 16:20 волатильности немного сошлись. Закрыл позицию с прибылью 5400 руб.

Ждать не стал, поскольку у меня нет математического описания для таких позиций. Делаю я так редко и по интуиции. Но если в рублях выразить центры стредлов, то Si примерно на 18-19 тыс. руб. дешевле, чем  RTS.  Так что, 5 тысяч мне для получения удовольствия вполне хвалило. Жадничать не надо.




Heineken упал на 34% с начала коррекции волн Эллиотта

    • 15 апреля 2020, 20:20
    • |
    • RUH666
  • Еще
Компании по производству алкогольных напитков, как правило, считаются безопасными инвестициями, поскольку потребление, как правило, остается стабильным даже в трудные экономические времена. Это тем более верно, когда речь идет о пивоварах, особенно когда речь идет о Heineken — крупнейшем пивоваре в Европе. Но COVID-19 принес экономический кризис, отличный от любого другого. Люди начали копить необходимое, а пиво не входит в него. 8 апреля Heineken отозвал свое финансовый прогноз на 2020 год из-за неопределенности с коронавирусом. Рынок явно ожидал плохих новостей, поскольку акции потеряли 34% в период с 19 февраля по 16 марта. И хотя вряд ли кто-то мог предсказать пандемию, акции Heineken должны были упасть даже без нее. Почти шесть месяцев назад на его недельном графике обнаружился тревожный паттерн волн Эллиотта. Мы написали статью об этом 25 октября 2019 года. Взгляните.
Heineken упал на 34% с начала коррекции волн Эллиотта

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

индикатор: канал на последнем зигзаге

индикатор строит канал по зигзагу, показывает слом тренда при выходе цены за границы канала

Параметры индикатора:
Procent - величина зигзага в %
  k - коэффизиент ширины канала
  Ext - =0-канал стоится по средним =1-канал стоится по экстремуму


Примеры:

два индикатора с 5 и 15% по экстремумам:
индикатор:  канал на последнем зигзаге

один индикатор по средним:
индикатор:  канал на последнем зигзаге


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

Зависимость доходности опционных стратегий от волатильности БА

В одной из своих лекций г-н В.Твардовский говорил, что при возрастании волатильности базового актива в k раз доходность опционных стратегий должна возрастать в k-квадрат раз. Я не смог понять тогда и не понимаю до сих пор, почему так. Но скачки волатильности последнего квартала предоставили возможность проверить это утверждение на практике. На графике по оси x отложена дневная реализованная волатильность БА, по оси y — мой дневной доход по опционному алгоритму (синий график). Красный — парабола RV в квадрате. Понятно, что для серьезного анализа данных мало, но зависимость дохода от RV явно существует. Хотелось бы узнать у коллег, как в этой ситуации ведут себя алгоритмы, построенные на других принципах. Например, арбитражные или высокочастотные. Просматриваются ли у них похожие зависимости.
Зависимость доходности опционных стратегий от волатильности БА


иГРЫрАЗУМа 2020. Экспирация 10.04.2020.

    • 10 апреля 2020, 23:00
    • |
    • KarL$oH
  • Еще
Всем привет.

Нас по-прежнему четверо трое бесстрашных опционщиков: KarL$oH , Сергей , ALANES (слился) и Alex64 .

Всё так же бессменный лидер у нас Alex64 занимает 1-ое место, который хеджирует свой портфель на фондовой секции через Forts:

иГРЫрАЗУМа 2020. Экспирация 10.04.2020.

Мы с Сергеем продолжаем вести борьбу за второе место, пока я второй:

иГРЫрАЗУМа 2020. Экспирация 10.04.2020.

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

Фактически, дефолт США состоялся. Почему у ФРС нет другого выхода, кроме как печатать деньги?

Вы помните, что мой анализ привел меня в золото. И пока налицо все фундаментальные условия для его дальнейшего роста. Сегодня я опубликовал свой ежемесячный обзор мозговик, где немного подробнее разбираюсь с тем что происходит. Кстати я писал там, что ФРС дальше придется расширять QE если текущие меры работать не будут, так как у них уже нет другого выхода. Итак размышления.

Последний длинный экономический цикл в США закончился в 1929 году, что привело к Великой Депрессии. Тогда доллар был жестко привязан к золоту. Никто не делал такую безудержную эмиссию как сейчас. Денежная масса M2 упала на 30% с 1929 по 1934 год.
Фактически, дефолт США состоялся. Почему у ФРС нет другого выхода, кроме как печатать деньги?
Из-за жесткой фиксации курса доллара, просто так увеличить деньги в обращении было нельзя. М2 вероятно падал из-за того, что после периода накопления долгов, США платили по внешним долгам, а так как золото ограничено (его нельзя напечатать), это сопровождалось падением денег в экономике. Кроме того, население стало менять доллары на золото и хранить свои сбережения в нем. Именно по этой причине в США была затяжная дефляция.
Фактически, дефолт США состоялся. Почему у ФРС нет другого выхода, кроме как печатать деньги?
Предположим, если бы они напечатали денег, увеличили тем самым М2 на 42% от фактического минимума и не имели привязку к золоту, вероятно золото впоследствии должно было вырасти на сопоставимую величину ~40% в течение 4 лет. Когда экономика падает, выплатить долг становится еще тяжелее. Это создает порочный круг делевериджа.

Выход? Обесценить деньги. Спустя несколько лет дефляции власти додумались до этого фокуса.

До 1933 унция стоила $20, после — $35. США просто директивно обесценили доллар, понизив его стоимость. Вероятно вы не знали, но правительство США при этом обязало население США обменять все золото до 1 мая 1933 по курсу $20,66. А после того как население скинуло золото по дешевке, доллар обесценили на 43%, просто зафиксировав цену золота на новом уровне $35 за унцию. Таким образом все долларовые сбережения населения насильно обесценили.

Хочу обратить ваше внимание: проблемы экономики решили за счёт тех, кто сберегал деньги.


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

Большой бэктест стратегии Momentum на ММВБ. Или почему покупать акции на отскок – плохая идея?

Привет, новая неделя – новый бэктест факторной стратегии на Мосбирже. В прошлый раз была проверена стратегия Value через мультипликаторы P/E и P/BV https://smart-lab.ru/blog/609357.php В этот раз мы проверили стратегию Momentum на российских акциях.

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

Воспользовавшись поиском по Смартлабу можно найти несколько интересных исследований по моментуму (если что-то упущено, пожалуйста, дайте ссылку в комментариях) – «Есть ли сила в моментуме» от at6 https://smart-lab.ru/blog/596080.php и «Как обогнать индекс (пример выигрышной торговой стратегии)» от AlexChi https://smart-lab.ru/blog/499362.php



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

Скрипт lua Баланс покупок/продаж

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

TICER = "SBER";
CLASS_CODE = "TQBR";
FilePath = getScriptPath() .. "\\export.txt";--путь к файлу
save = false;--сохранять данные в файл если false нет, true да

f = nil;
stopped = false;
t_id = nil
H = -1;
M = -1;
VSELL = 0;
VBUY  = 0;
CDelta = 0;
CountTrans = 0;
PriceTrans = 0.0; 
t = "";
function OnInit()
    CountTrans = 0;
        if save then f = io.open(FilePath,"w"); end
        CreateTable();
end 

function main() 
        while not stopped do 
          if IsWindowClosed(t_id) then
         stopped = true;
      end       
          sleep(10);
        end
end

function CreateTable()
   t_id = AllocTable(); 
   AddColumn(t_id, 0, "Время", true, QTABLE_STRING_TYPE, 10);
   AddColumn(t_id, 1, "BUY", true, QTABLE_INT_TYPE, 10);
   AddColumn(t_id, 2, "SELL", true, QTABLE_INT_TYPE, 10);
   AddColumn(t_id, 3, "Дельта V", true, QTABLE_INT_TYPE, 10);   
   AddColumn(t_id, 4, "AVG Цена", true, QTABLE_DOUBLE_TYPE, 15);
   AddColumn(t_id, 5, "Накопленная Дельта", true, QTABLE_INT_TYPE, 15);
   AddColumn(t_id, 6, "Кол-во сделок", true, QTABLE_DOUBLE_TYPE, 12);   
   tab = CreateWindow(t_id);
   local NAME = tostring(getParamEx(CLASS_CODE,TICER,"LONGNAME").param_image);
   SetWindowCaption(t_id, TICER.." ("..NAME..") Баланс покупок/продаж");
   SetTableNotificationCallback(t_id, EventCallBack);
end

function Calc(alltrade)
        if bit.test(alltrade.flags, 0) then VSELL = VSELL+alltrade.qty;  --Продажа
        else VBUY  = VBUY+alltrade.qty;  end                            
        CountTrans = CountTrans+1;
        PriceTrans = PriceTrans+alltrade.price;                 
end

function OnAllTrade(alltrade)    
        if alltrade.sec_code == TICER then      
                local Rows, Col = GetTableSize(t_id);
                
                if H==-1 or H~= alltrade.datetime.hour then 
                        H = alltrade.datetime.hour;
                        M = alltrade.datetime.min;
                        t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);
                end
                if M==alltrade.datetime.min then
                        Calc(alltrade);
                else                                    
                M=alltrade.datetime.min;        
                        InsertRow(t_id, -1);                                               
                        local Delta = VBUY-VSELL;
                        Price = PriceTrans/CountTrans;
                        SetCell(t_id, Rows, 6, tostring(CountTrans));                   
                        SetCell(t_id, Rows, 0, t);
                        SetCell(t_id, Rows, 1, tostring(VBUY));
                        SetCell(t_id, Rows, 2, tostring(VSELL));                           
                        SetCell(t_id, Rows, 3, tostring(Delta));
                        local SEC_SCALE = tostring(getParamEx(CLASS_CODE,TICER,"SEC_SCALE").param_value);
                        SEC_SCALE = string.format("%.0f",SEC_SCALE);                    
                        SetCell(t_id, Rows, 4, string.format("%."..SEC_SCALE.."f", tostring(Price)));
                   if Rows>=2 then
                           local OldPrice = tonumber(GetCell(t_id,Rows-1,4).image);
                           if OldPrice>Price then 
                                        Red(Rows,4); 
                           else 
                                        Green(Rows,4);
                           end
                           CDelta = tonumber(GetCell(t_id,Rows-1,5).image);
                           CDelta = CDelta + Delta;                        
                        else 
                          CDelta = Delta;
                        end
                        SetCell(t_id, Rows, 5, tostring(CDelta));
                    if Delta<0 then Red(Rows,3); end
                    if Delta>0 then Green(Rows,3); end
                    if CDelta<0 then Red(Rows,5); end
                    if CDelta>0 then Green(Rows,5); end                                                   
                   if save then
                                local Str = tostring(H)..";"..tostring(M)..";"..tostring(VBUY)..";"..tostring(VSELL)..";"
                                                ..tostring(Delta)..";"..tostring(Price)..";"..tostring(CDelta);
                           Str=Str.."\n";
                           SaveFile(Str);
                        end
                t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);                        
                    VBUY = 0;VSELL = 0;
                        PriceTrans = 0;
                        CountTrans = 0;
                        Calc(alltrade);
                end
        end --if alltrade.sec_code == TICER then        
end

function SaveFile(Str)
        if f ~= nil then 
                f:write(Str);           
                f:flush();                               
        end
end

function Red(row,col)
        SetColor(t_id, row, col, RGB(255,0,0), RGB(0,0,0), RGB(255,0,0), RGB(0,0,0));
end
function Yellow(row,col)
        SetColor(t_id, row, col, RGB(240,240,0), RGB(0,0,0), RGB(240,240,0), RGB(0,0,0));
end
function Green(row,col)
        SetColor(t_id, row, col, RGB(0,200,0), RGB(0,0,0), RGB(0,200,0), RGB(0,0,0));
end


function EventCallBack(t_id, msg, par1, par2)
   if msg==QTABLE_CLOSE then
     OnStop();
   end;
end

function OnStop(s)
  if f ~= nil then f:close(); end
  if t_id ~= nil then
    DestroyTable (t_id);
  end;
  stopped = true;
end




Расчет рисков опционного портфеля

    • 31 марта 2020, 12:43
    • |
    • tashik
  • Еще
В публикациях коллег я часто сталкиваюсь с тем, что позиция оценивается по тому профиту, который она может принести, но для эффективного управления рисками, которое поддерживает депозит на плаву, нужно иметь в виду такую непозитивную на первый взгляд сторону, как риски, то есть потенциальные убытки. То есть сколько обеспечения взять на лот из собственных денег. Известный размер риска даст нам возможность адекватно рассчитывать размер позиции перед входом в сделку. Статья не призвана кого-то чему-то научить. Её цель — вызвать обсуждение темы в комментариях, возможно, найти ошибки в расчётах.

Пытаясь разобраться в теме, я нашла для себя такую базу для расчета рисков.

Наш Центробанк, не к ночи будь он помянут, выделяет следующие виды риска:

— Фондовый: будем применять его для расчета рисков опционного портфеля с базовым активом фьючерс на индекс РТС (RI) — имеет заложенный коэффициент величины изменений базового актива 8%
— Валютный: будем применять его для расчета рисков опционного портфеля с базовым активом фьючерс на пару доллар-рубль (Si) — имеет заложенный коэффициент величины изменений базового актива 8%

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

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