Избранное трейдера _sg_
Понимание связи между ростом прибыли и рентабельностью капитала поможет лучше анализировать бизнес и стать более продвинутым инвестором.
Представим, что есть компания Улитки и компания Зайца. Компания улитки увеличивает прибыль темпом на 6% в год. Компания Зайца на 9% в год. Оба бизнеса торгуются за 15 годовых прибылей. Какая из них будет лучшей инвестицией?
Вроде бы очевидный ответ — выбрать компанию Зайца. При одинаковых мультипликаторах вы покупаете бизнес, который растет быстрее. Однако не стоит торопиться. Для правильного выбора, кроме темпов роста прибыли, нужно посмотреть на то, сколько капитала бизнесу необходимо, чтобы расти.
Зарабатывая прибыль, бизнес решает, что с ней делать. Он может реинвестировать в развитие, а может выплатить дивиденды.
Представьте, что компания Улитки 90% годовой прибыли отправляет на дивиденды. Оставляя себе всего 10%, компания способна генерировать рост прибыли на 6% в год. Компания имеет рентабельность капитала в 60%.
Вчера на форуме СЛ была поднята неувядающая тема про теорию случайных блужданий в ценовой динамике биржевых активов. И хотя постановка вопроса в том топике не касалась собственно СБ, но так или иначе была с этой теорией связана, или, по крайней мере, сподвигла лично меня еще раз высказаться на эту тему. Один раз, как вы, возможно, помните, я выразил свое отношение к СБ в статье:
Случайные блуждания или предсказуемость? А, может, предсказуемость в условиях случайных блужданий?
Знак следующего приращения цены — уместная постановка вопроса в теоретической дискуссии о случайных блужданиях, но не уместная, если речь идет о его связи с возможностью извлечения прибыли из направленных движений.
Для многих является очевидным, что невозможно точно предсказать знак будущего ценового приращения, то есть, в какую сторону на следующем тике дернется цена. И очевидно, что сумма случайных приращений есть величина случайная. Но это справедливо только вне поля ранее принятых торговых решений игроков, большинство из которых, а значит, и весь рынок целиком, действуют на основании, как минимум, двух парадигм:
Всем здрасте! С вами Чеширский.
Попробую тут накидать парочку мыслей о трендинхе и всяком таком. Почему решил накидать? Ну хотя бы потому что он меня кормит. Не скажу что катаюсь на ламбо, но и не голодаю. А постов на тему «трейдинг обман» — ну как-то слишком много. Надо и позитива внести.
Давайте сразу договоримся. Я ничего не продаю, никого не учу, в ДУ не беру. Просто мысли, не более. И они, безусловно, субъективны и подойдут далеко не всем. Но начнем.
Как подключить его себе в трейдингвью:
0. Скачайте код индикатора отсюда Откройте в любом текстовом редакторе (Блокнот подойдет)
1. Войдите в свою учетку, откройте график.
2. Внизу под графиком будут вкладочки — нам нужна Редактор Pine.
3. На вкладке откройте пустой файл (кнопка Открыть -> Новый индикатор), удалите в открывшемся скрипте все, что там есть, и вставьте туда код эстиматора. Сохраните под понятным Вам именем, нажав там справа Сохранить.
4. После сохранения можно нажать там же кнопку Добавить на график
-- --СКРИПТ Niki для smart-lab.ru 260321 ревизия --------------------------------------- -- Флаг для поддержания работы функции main is_run=true fut_limit_old =0 fut_limit_max =0 kgo_old =0.5 function main( ... ) -- чудотворная функция внутри которой все работает --"r": режим чтения (по умолчанию); --"w": режим записи; --"a": режим добавления; --"r+": режим обновления, все предыдущие данные сохраняются; --"w+": режим обновления, все предыдущие данные стираются; --"a+": режим добавления и обновления, предыдущие данные сохраняются, запись разрешена только в конец файла. b бинарные файлы -- Пытается открыть файл в режиме "чтения/записи" f = io.open(getScriptPath().."\\Limits.txt","a"); -- Если файл не существует if f == nil then -- Создает файл в режиме "записи" f = io.open(getScriptPath().."\\Limits.txt","w"); -- Закрывает файл f:close(); -- Открывает уже существующий файл в режиме "чтения/записи" f = io.open(getScriptPath().."\\Limits.txt","a"); end; while is_run do sleep(1000) -- 1000 = 1 секунда --волшебная пауза в работе скрипта if getFuturesLimit("A111", "A111111", 0, "SUR") ~= nil then -- защита от пустых таблиц -- впишите ваши данные из Квика -- %c - дата и время (по-умолчанию) (пример, 03/22/15 22:28:11) -- %x - дата (пример, 09/16/98) -- %X - время (пример, 23:48:10) seconds = os.time(); -- в seconds будет значение 1427052491 date1 = os.date("%x",seconds); -- %c - дата (по-умолчанию) (пример, 03/22/15 22:28:11) time1 = os.date("%X",seconds); -- %c - время (по-умолчанию) (пример, 03/22/15 22:28:11) --[[ liquidity_coef --NUMBER Коэффициент ликвидности cbp_prev_limit --NUMBER Предыдущий лимит открытых позиций на спот-рынке» cbplimit --NUMBER Лимит открытых позиций cbplused --NUMBER Текущие чистые позиции cbplplanned --NUMBER Плановые чистые позиции varmargin --NUMBER Вариационная маржа accruedint --NUMBER Накопленный доход cbplused_for_orders --NUMBER Текущие чистые позиции (под заявки) cbplused_for_positions --NUMBER Текущие чистые позиции (под открытые позиции) options_premium --NUMBER Премия по опционам ts_comission --NUMBER Биржевые сборы kgo --NUMBER Коэффициент клиентского гарантийного обеспечения currcode --STRING Валюта, в которой транслируется ограничение real_varmargin --NUMBER Реально начисленная в ходе клиринга вариационная маржа. Отображается с точностью до 2 двух знаков. При этом в поле «varmargin» транслируется вариационная маржа, рассчитанная с учетом установленных границ изменения цены --]] fut_limit = getFuturesLimit("A111", "A111111", 0, "SUR").cbplused_for_positions -- NUMBER Текущие чистые позиции (под открытые позиции) -- впишите ваши данные из Квика varmargin = getFuturesLimit("A111", "A111111", 0, "SUR").varmargin -- впишите ваши данные из Квика accruedint = getFuturesLimit("A111", "A111111", 0, "SUR").accruedint -- впишите ваши данные из Квика ts_comission = getFuturesLimit("A111", "A111111", 0, "SUR").ts_comission -- впишите ваши данные из Квика kgo = getFuturesLimit("A111", "A111111", 0, "SUR").kgo -- впишите ваши данные из Квика profit = varmargin + accruedint; --if math.abs(fut_limit-fut_limit_old) > 10000 then -- каждые 10000 рублей изменения ГО, слишком частый файл печати if math.abs(fut_limit-fut_limit_old) > 100000 then -- каждые 100000 рублей изменения ГО, настраиваем под себя. open_lim = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit --NUMBER Лимит открытых позиций f:write( tostring(date1).." "..tostring(time1).." ".."ГО: "..tostring(fut_limit).." ".."Профит: "..tostring(profit).." ".."Комис: "..tostring(ts_comission).." ".. "КГО: "..tostring(kgo).." Lim: "..tostring(open_lim).. "\n"); -- "\n" признак конца строки --f:write( tostring(date1).. " " ..tostring(time1).. " " .. "BID: " .. tostring(res_trans) .. " " .. "ASK: " .. tostring(MXU8ask_vol) .. "\n"); -- "\n" признак конца строки -- Сохраняет изменения в файле на диск f:flush(); fut_limit_old = fut_limit; end if fut_limit_max == 0 then fut_limit_max = fut_limit; end if ( math.abs(fut_limit-fut_limit_max) > 1000000 and fut_limit>0 ) then -- настраиваем под себя message( tostring(fut_limit) ) ----сообщение в Квик-- --message( tostring(time1) ) ---------------------------------------- отправляем сообщение в Телеграмм-- pos_free = getFuturesLimit("A111", "A111111", 0, "SUR").cbplplanned --NUMBER ГО свободных денег от позы без пониженного ГО open_lim = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit --NUMBER Лимит открытых позиций tg_message = tostring(open_lim).." ГО:"..tostring(fut_limit).." Поза:"..tostring(open_lim-pos_free) os.execute('curl "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ') -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм ---------------------------------------- -- Пример строки https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text= + Привет Квик! ---------------------------------------- fut_limit_max = fut_limit; end if math.abs(kgo-kgo_old) > 0 then ---------------------------------------- отправляем сообщение в телеграмм tg_message = tostring(kgo).." Внимание! Изменился коэффициент КГО" os.execute('curl "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ') -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм ---------------------------------------- -- Пример строки https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text= + Привет Квик! ---------------------------------------- kgo_old = kgo; end end end f:close(); -- закрываем файл печати. end -- Остановка скрипта из Квика function OnStop(stop_flag) is_run=false end