Избранное трейдера Двоечник

по

Обзор книги «Математика управления капиталом. Методы анализа риска для трейдеров и портфельных менеджеров»

Сегодня хочу сделать обзор на книгу, которая много лет назад сильно повлияла на мои подходы к инвестированию и торговле.

Автор:

Ральф Винс, эксперт по вопросам управления рисками и управления капиталом.

О чем:

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

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

То есть вопрос не в том, чтобы побеждать в каждой сделке, а в том, какую долю счета задействовать, чтобы на долгом отрезке получать максимальный эффект от торговли. Это потрясающее свойство управления капиталом.



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

Volume profile the insider's guide to trading / Профиль объема руководство инсайдера по торговле / Часть 4

Торговые установки профиля объема

Теперь я покажу вам торговые установки, которые я использую в своей повседневной торговле. Это основные, основные установки, которые я использую. Я никогда не вступаю в сделку, если нет ни одной из этих установок.

Все установки можно использовать с любым таймфреймом. Я предпочитаю 30-минутные графики для внутридневной торговли, 240-минутные или дневные графики для свинговой торговли и дневные и месячные графики для планирования долгосрочных инвестиций.

Установка профиля объема №1: Установка накопления объема

Как я уже говорил ранее в этой книге, крупные институты, которые перемещают рынок и манипулируют им, создают свои огромные торговые позиции в боковых каналах ценового действия (областях вращения).

После того, как они накопят достаточно объемов, то есть после того, как они полностью войдут в свои позиции, они начнут сильную и агрессивную активность по покупке или продаже, чтобы сдвинуть цену. Они стремятся сдвинуть цену в направлении своих вновь накопленных позиций. Исходя из этого, мы знаем, что, если существовал боковой ценовой канал, за которым следовал значительный восходящий тренд, сильные покупатели накапливали свои покупательские позиции в ценовом канале. Если, с другой стороны, был боковой канал, за которым последовала сильная распродажа, то мы знаем, что сильные продавцы были ввод своих позиций на продажу в канале.



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

Накопительный эффект

Накопительный эффект

     Одна из хороших мотивационных книг на 4+, где читатель может получить не только новую порцию для пинка себя в нужном направлении, но и для выбора правильного направления и усилия.
     Автор рассказывает о важности постановки правильной (а не промежуточной) цели. Но одна цель не поможет получению результата, пока мы не начнём идти к этой цели. В данном случае, я хотел бы обратить ваше внимание на слово “идти”.
     Я и сам, порой, бегал вокруг да около и ошибался, отдавая в моменте много сил, пока запасы энергии не иссякали и руки опускались от изнеможения. Накопительный эффект действует, но для этого нужен не спринт, а марафон.
     Попробуйте, например, начать заниматься спортом 5 раз в неделю и вскоре отторгните занятия. Пробуйте отдавать каждую минуту чтению и вскоре возненавидите книги.
     Возможно, стоит сравнить все начинания с прогулкой по лесу. Если мы побежим, то высока вероятность того, что мы оступимся, споткнёмся и упадём. Ещё хуже, если напоремся на сук и это может оказаться фатальным. Но таких



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

Черное золото на рынке ВДО: эмитенты рынка нефтетрейдинга

    • 18 марта 2021, 06:17
    • |
    • boomin
  • Еще

В поисках инструментов финансирования все больше компаний обращают внимание на сегмент ВДО, который с каждым годом показывает активные темпы роста: в 2020 году объем размещений высокодоходных облигаций составил 56,5 млрд руб., что на 56,8% выше объема 2019-го. Кроме количественного роста выпусков облигационных займов, параллельно идет и качественный: сегмент ВДО постепенно охватывает все новые отрасли, которые исторически не пользовались биржевыми инструментами. Накануне нового размещения «Нафтатранс плюс» Boomin подготовил аналитический обзор эмитентов рынка нефтетрейдинга.

Черное золото на рынке ВДО: эмитенты рынка нефтетрейдинга

В начале 2019 года дебютный выпуск биржевых облигаций разместил независимый нефтетрейдер ООО «ТК Нафтатранс плюс», что продемонстрировало коллегам по отрасли тот факт, что биржевые облигации — это рабочий инструмент, который можно использовать как альтернативу банковскому финансированию.



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

⭐️ Как выбрать акции для покупки с помощью отчёта 8-K


Добрый день, друзья!


Мой пост об отчетах 10-K, 10-Q и 8-K американских эмитентов (
https://smart-lab.ru/blog/677043.php) вызвал достаточно большой отклик среди Смарт-Лабовцев (68 ⭐️ + 326 ❤️). Поэтому выполняю своё обещание и рассказываю о методике анализа отчетов 8-К, которая в прошлом году принесла мне 50% годовых в долларах США (https://smart-lab.ru/blog/668157.php).

Внимание: лонгрид. Если у Вас в данный момент нет возможности на 15 минут сосредоточиться на изучении достаточно сложной информации – лучше добавить пост в избранное и вернуться к его прочтению позже.

В прошлый раз мы пришли к выводу о том, что отчеты 10-K содержат только прошлые данные, в силу чего информация, отражённая в них, уже заложена в текущие котировки акций. А с учётом того, что изучение формы 10-K является достаточно трудоёмким процессом, то для частного инвестора эта форма теряет всякий смысл. 



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

Без воды. Автоматизация сигналов из TradingView за 3 минуты

Небольшое видео на тему автоматизации торговли с использованием сигналов из TradingView:

Торгуем, как Ларри!

Мой предыдущий пост 100 лучших советских фильмов снесли в оффтоп, поэтому его никто не увидел. Посему о книгах :-)
Книгу Ларри Вильямса «Долгосрочные секреты краткосрочной торговли» я перечитал раз десять, не меньше. Можно уверенно сказать, что это моя настольная книга о трейдинге. Наряду с книгами Э.Лефевра «Воспоминания биржевого спекулянта» и Б.Вильямса «Торговый хаос». Больше почитать о трейдинге я ничего посоветовать не могу. Ах, да, ещё Линда Рашке и Александр Элдер (Виктор Сперандео и Томас Демарк на любителя). Но это всё. Хотя я прочёл более сотни книг о трейдинге, пришёл к выводу, что этого вполне достаточно, чтобы найти свой торговый Грааль.
Сделаю важную оговорку. Два года назад я закончил свою читательскую карьеру (после того, как нашёл свой торговый Грааль, я прекратил читать всё, что касается трейдинга), но именно после этого вдруг стали издаваться книги наших могучих смартлабовцев:
1. Тимофей Мартынов — «Механизм трейдинга»

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

QLua: таблица крупных "склеенных" обезличенных сделок

    • 03 апреля 2020, 15:06
    • |
    • _sk_
  • Еще
Иногда хочется наблюдать за ситуациями, когда участники торгов исполняют по рынку крупные заявки. Конечно, можно смотреть на обычную ленту обезличенных сделок с настроенными фильтрами на размер сделки, но ведь можно написать специальный QLua-скрипт, который будет отбирать сделки, являющиеся результатом исполнения.

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

Если суммарный объём не менее какой-то границы, которую можно задать для каждого инструмента индивидуально, такие «склеенные» сделки выводятся в таблице. В ней указаны:
— суммарный объём;
— количество обезличенных сделок, которые были склеены;
— начальная цена и конечная цена;

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Скрипт 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




Стратегия Поплавок. Робот-тестер на Луа и Питоне с описанием.

    • 16 марта 2020, 19:49
    • |
    • Albus
  • Еще
--ВВЕДЕНИЕ--
Пост будет полезен только разработчикам алгоритмических стратегий. Здесь нет прорывных идей. На истории стратегия прибыльная, но опыт показывает, что эта прибыльность иллюзорна и не гарантирует успех в будущем. По любой стратегии можно найти комбинацию параметров, которая прибыльна на прошлых свечках. Но радоваться, что ты нашёл Грааль, рано. На будущих сделках эти параметры скорее всего будут убыточными.
Тем не менее, подгонка под исторические данные — штука интересная, поэтому пишу этот пост. В нём вы найдёте рабочий тестер для описанной стратегии, который можете использовать как захотите. 

---ОПИСАНИЕ СТРАТЕГИИ---
Назовём её «Поплавок», потому что это стратегия выныривания из зоны перепроданности.
1. Ждём, когда индикатор RSI сформирует двойное дно.
2. Оба дна должны быть ниже какого-то горизонтального порога по RSI, например 25.
3. Подъём (выныривание) выше этого порога мы считаем признаком разворота и покупаем.
4. Прибыль забираем, когда акция дорастёт до (к примеру) уровня 50 по RSI. Скрипт умеет подбирать и этот параметр. Часто наилучшим вариантом будет продавать при RSI = 70 или даже RSI = 80, то есть уже в состоянии сильной перекупленности. Но эту фразу не воспринимайте как рекомендательную, ведь все эти прогоны на истории ищут лучший вариант в прошлом, но это не гарантирует успеха в будущем.

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

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