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

по

КуйбышевАзот - полный разбор компании + SWOT-анализ

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

Начнем по традиции с финансовых результатов за прошлый год. В этом нам поможет отчет компании по МСФО и удобный сервис оценки показателей FinanceMarker

Выручка от продаж продукции за 2019 год составила 57,4 млрд рублей, снизившись на 10% в рублях и на 12,9% в долларах. А вот себестоимость снижается куда меньшими темпами., что негативно для фин показателей. Общехозяйственные и административные расходы растут на 14,3% год к году, за счет затрат на оплату труда. В 2019 году компания отразила убыток от выбытия доли одного из предприятия в размере 2,2 млрд рублей. Вкупе с раскорреляции доходов и затрат компания снизила чистую прибыль до 2,5 млрд рублей, что на 66% ниже показателя 2018 года.



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

10 Советов от Нассима Талеба.

    • 28 апреля 2020, 20:29
    • |
    • Larry99
  • Еще
Есть такой умный дядька, зовут его Нассим Талеб

Математик, философ, трейдер. Написал классную книжку Черный лебедь. 
Предсказал экономический кризис ещё очень давно, тогда был обсмеян, 
когда все же народ понял, что он был прав, его возвели в роль чуть ли не 
главного философа экономического кризиса, и личность стала очень 
популярная. В общем если где встретите его работы, статьи или книги, мой 
вам совет — читайте, и читайте внимательно, таких толковых людей сейчас 
не много. 
Для затравки, выкладываю краткий список советов по жизни от Нассима 
Талеба. 

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

2. Ходите на вечеринки. Вы даже предположить не можете, что ваша 
способность делать счастливые открытия приготовила для вас. Если у вас 

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

Действует ли «трехлетняя льгота» на ИИС?

В прошлом посте обсудили «трехлетнюю льготу» на владение ценными бумагами. Если инвестор держал купленные акции или облигации более трех лет, то может не платить 13% налог после их продажи. Неплохо, да?

Но есть нюансы. Вопрос оказался противоречивым в отношении владельцев Индивидуальных инвестиционных счетов. Практики наработано пока мало.

Итак, возможно ли получение «трехлетней льготы» владельцами ИИС?

«Однозначно, нет» — говорит нам налоговый кодекс (6 п. 2 ст. 219.1 НК РФ).

Но есть возможность обойти это ограничение — перевести активы с ИИС на обычный брокерский счет. Например, по истечение трех лет после открытия ИИС, когда становится возможным его закрыть при сохранении всех полученных ранее плюшек (налоговых вычетов за пополнение счета).

А что на практике? Поинтересуемся у брокеров.

Тинькофф Инвестиции

В боевом листке брокера,  в Тинькофф-журнале,



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

Коррупционные схемы среднего уровня на предприятиях

    • 24 апреля 2020, 14:05
    • |
    • VpnS
  • Еще
Меня тут просили давать как можно больше подробностей о способах и методах на коррупционном поле. Петя узнал о нескольких, пока вкалывал на ниве поставок для крупных потребителей с середины нулевых до 2016. Все эти методики либо работали в прошлом, либо работают до сих пор. И да, большая их часть использовалась на странообразующих предприятиях, а также на специальных предприятиях с режимными допусками: оборонка, атомный сектор и т.п. Подчеркиваю, это средний уровень коррупции, что творится сверху – вообще другая тема.

Итак, какие схемы бывают:

1) Откат за победу в тендере. Один из сотрудников покупателя берет некий процент за то, что гарантирует или сильно облегчает победу определённого поставщика. Поставщик включает долю этого человека в цену. Встречается повсеместно. Уровень сложности: элементарно.

2) Договорной матч: участники рынка делят всех клиентов между собой в соответствии со своими предпочтениями. Они выходят на каждый тендер с заранее оговоренными завышенными ценами, один побеждает и делает поставку. Встречается редко. Уровень сложности: тяжко. Попробуй договорись с другими хапугами.

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

Интересный результат?

    • 12 апреля 2020, 23:31
    • |
    • Vanches
  • Еще
Если взять положение цены Close относительно минимальной и максимальной цены за некоторый период времени (в моём случае — 24 часа), и построить диаграмму распределений того где находилась цена, то получим вот такой результат:
Интересный результат?
Выборка примерно за 4х летний период...

TL[i] = HighestHigh(Period);
BL[i] = LowestLow(Period);
Res = (Close[i]-BL[i])/(TL[i]-BL[i])*100;

Грааль иногда не там, где вы его ищете

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

Подавляющее большинство использует лишь способ — временная нарезка свечей (баров). Да и по большому счету основные отечественные брокеры и их ПО не дают других возможностей.

Как выглядит пятничная нефть на стандартном графике М5? Добавим еще обычную ЕМА. К примеру 144.

Грааль иногда не там, где вы его ищете
Ссылка на оригинальный размер: https://live.staticflickr.com/65535/49741602961_3969fe5bb9_o.png

Стандартная картинка, все мы тысячу раз такое видели. По машке сидим в глубоком лонге и иногда меняем мешки, наполняемые деньгами. Ну до следующего «флэта», понятно.

Переключим же картинку на тот же день, но М1.

Грааль иногда не там, где вы его ищете

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

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

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

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

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




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