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

по

Портфеь, идеи и немного о цирке.

Портфеь, идеи и немного о цирке.


Прибыль за 2017г. продолжает расти и уже перевала за 40%, как я писал раннее план в 35% уже выполнен и играю теперь только на удержание результата и вполне может быть побью проценты прошлого года, где доход превысил 50%. Вот такой у нас в этом году падающий рынок!) Предыдущий топик  smart-lab.ru/blog/414020.php
   Приложу скрины из своего личного кабинета. 
Портфеь, идеи и немного о цирке.



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

Робот по скользяшкам

    • 02 сентября 2017, 08:03
    • |
    • Albus
  • Еще
Написал для всех желающих робота-советника. Он автоматически анализирует множество акций по следующим индикаторам:
Мувинг с долгим периодом.
Мувинг с коротким периодом.
Робот по скользяшкам
Робот не торгует, только анализирует рынок.
В КВИКе он выглядит так:
Робот по скользяшкам

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

Отчет Газпрома 2 квартал 2017 - экспресс анализ

Итак, внес отчет мсфо Газпрома за 2 квартал в табличку: 
https://smart-lab.ru/q/GAZP/f/q/MSFO/

ЧП (LTM) = 725 млрд
P/E(LTM) = 3,9
EV/EBITDA (LTM) = 3,6 

Акции Газпрома падают, а по EV/EBITDA Газпром стоит все дороже — самый дорогой за последние 5 лет.
Отчет Газпрома 2 квартал 2017 - экспресс анализ
Отчет Газпрома 2 квартал 2017 - экспресс анализ
И это при рекордной выручке за всю историю.
Чистая рентабельность Газпрома 11,6% — минимум за много-много лет.
Свободный денежный поток я долго-долго считал тут, кое- как насчитал 123 млрд руб.
Подождем презентацию, посмотри как сам Газпром посчитал.

Короче первое впечатление по отчету — ничего хорошего. Зарабатывает Газпром дохрена, но всё сжигает внутри себя, акционерам — кукиш.
Пока не начнут резать капекс, чудес ждать не стоит.

Дивидендные "аристократы" ММВБ #2

    • 29 августа 2017, 22:18
    • |
    • COREz
  • Еще
Заметил интересную особенность. Дивидендный портфель из наиболее интересных дивитикеров весьма стойко переносит общее падение индекса. Сегодня в моменте когда индекс был -0,7% портфель показывал +0,4%. По всей видимости на рынке уже довольно много крупных дивидендных инвесторов, которые не спешат в моменте расставаться с хорошими бумагами.

Представленный ниже вариант портфеля по прогнозам принесёт чистыми не менее 7-8% годовых в виде дивидендов и судя по всему имеет хорошие перспективы курсового роста. Кроме того в планах докупаться на поступающие лавинообразно купоны с муниципальных облигаций и время от времени проводить ребалансировку портфеля по стоимости позиций.

Дивидендные "аристократы" ММВБ #2

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

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

Таблица "Портфель" в QUIKе


    Представляю таблицу для портфельных инвестиций. В квике до сих пор такого нет. Цвет строки меняется если Прибыль%<>5%. Обновление каждые 5 сек.
Таблица "Портфель" в QUIKе

Для её создания необходимо:
1. Создать файл «tablePortfolio.txt» в папке «C:\QUIK\Scripts». Если папки нет, создать её.
2. Скопировать туда код скрипта
3. Сохранить, выбрав кодировку «ANSI», иначе вместо русских букв могут быть кракозябры.
4. Сменить расширение файла с ".txt" на ".lua"
5. Запустить скрипт командой Сервисы->Lua  скрипты->Добавить (выбрать файл tablePortfolio.lua) ->Запустить

Код скрипта:
IsRun = true
class_code="TQBR"

function main()
   -- Получает доступный id для создания
   t_id = AllocTable()   
   
   -- добавить столбцы
   AddColumn(t_id, 1, "Бумага",       true, QTABLE_STRING_TYPE, 20)
   AddColumn(t_id, 2, "Кол-во",       true, QTABLE_INT_TYPE,     7)
   AddColumn(t_id, 3, "Цена покупки", true, QTABLE_DOUBLE_TYPE, 14)
   AddColumn(t_id, 4, "Цена текущая", true, QTABLE_DOUBLE_TYPE,   14)
   AddColumn(t_id, 5, "Прибыль, р",   true, QTABLE_DOUBLE_TYPE,   14)
   AddColumn(t_id, 6, "Прибыль, %",   true, QTABLE_DOUBLE_TYPE, 14)
   t = CreateWindow(t_id)

   for iRow=1, getNumberOf("depo_limits")-1, 1 do
      rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"            
      qtyBoughtLots  = tonumber(rowInPortfolioTable.currentbal)         
      limitKind = rowInPortfolioTable.limit_kind          
      if qtyBoughtLots>0 and limitKind<1 then      
         InsertRow(t_id, iRow)-- добавить новую строку вниз таблицы   
      end
   end
   local rows, columns = GetTableSize (t_id)
   InsertRow(t_id, rows+1) -- добавить новую строку вниз таблицы для "Итого"
   
   SetWindowCaption(t_id, "Портфель: прибыли и убытки    © ramirzaev@mail.ru") 

   -- исполнять цикл, пока пользователь не остановит скрипт или не закроет окно таблицы
   while IsRun do 
      if IsWindowClosed(t_id)==true then
         IsRun=false
      end

      local currentPrice=0
      local qtyBoughtLots=0
      local profitAbs = 0
      local profitPerc = 0
      local currentSecCode= ""
      local fullNameOfInstrument = ""
      local limitKind = 0
      local rowInPortfolioTable = {}    -- строка из таблицы "Лимиты по бумагам"
      local tableInstrument = {}    -- данные "Таблицы текущих торгов"
      local iRowInOutTable = 1
	  local totalInvest = 0
	  local totalPortfolio = 0
	  local totalProfit = 0
	  local totalPercent = 0

      for iRow=0, getNumberOf("depo_limits")-1, 1 do
         rowInPortfolioTable = getItem("depo_limits", iRow) -- получить текущую строку из таблицы "Лимиты по бумагам"         
         
         qtyBoughtLots  = tonumber(rowInPortfolioTable.currentbal)
         
         limitKind = rowInPortfolioTable.limit_kind 
         
         if qtyBoughtLots>0 and limitKind<1    then      -- если кол-во лотов >0 и тип лимита T0
            currentSecCode = rowInPortfolioTable.sec_code
            fullNameOfInstrument =  tostring(getParamEx(class_code, currentSecCode, "SHORTNAME").param_image or "0") --"LONGNAME"
            avgPrice       = tonumber(rowInPortfolioTable.awg_position_price)                  
            currentPrice = GetAskPrice(currentSecCode)   
            profitAbs = (currentPrice-avgPrice)*qtyBoughtLots      
            profitPerc    = 100*currentPrice/avgPrice   - 100
			
			totalInvest = totalInvest + avgPrice*qtyBoughtLots  
			totalPortfolio = totalPortfolio + currentPrice*qtyBoughtLots   
            
            SetCell(t_id, iRowInOutTable, 1, fullNameOfInstrument) -- "Бумага"
            SetCell(t_id, iRowInOutTable, 2, tostring(qtyBoughtLots)) -- "Кол-во"RemoveZero(tostring(qtyBoughtLots)))
            SetCell(t_id, iRowInOutTable, 3, tostring( math_round(avgPrice, 3) ))  -- tostring(avgPrice))   -- "Цена покупки"
            SetCell(t_id, iRowInOutTable, 4, RemoveZero(tostring(currentPrice)))   -- "Цена текущая"
            SetCell(t_id, iRowInOutTable, 5, tostring( math_round( profitAbs, 0)) ) -- "Прибыль, р"
            SetCell(t_id, iRowInOutTable, 6, tostring(math_round(profitPerc, 1)) .."%") -- "Прибыль, %"
            
            if profitPerc >5 then       -- окрашиваем
               ColourRowInGreen(iRowInOutTable)
            elseif profitPerc<-5 then 
               ColourRowInRed(iRowInOutTable)
            else 
               ColourRowInYellow(iRowInOutTable)
            end   
            iRowInOutTable = iRowInOutTable+1
         end
      end
      totalProfit = totalPortfolio - totalInvest 
      totalPercent   = 100*totalProfit/totalInvest  
	  SetCell(t_id, iRowInOutTable, 1, "Итого") 
      SetCell(t_id, iRowInOutTable, 3, tostring( math_round(totalInvest, 0) ))  
      SetCell(t_id, iRowInOutTable, 4, tostring( math_round(totalPortfolio, 0)))  
      SetCell(t_id, iRowInOutTable, 5, tostring( math_round( totalProfit, 0)) ) 
      SetCell(t_id, iRowInOutTable, 6, tostring(math_round(totalPercent, 1)) .."%") 
	  
	  if profitPerc >5 then       -- окрашиваем
               ColourRowInGreen(iRowInOutTable)
            elseif profitPerc<-5 then 
               ColourRowInRed(iRowInOutTable)
            else 
               ColourRowInYellow(iRowInOutTable)
            end   
            iRowInOutTable = iRowInOutTable+1
      sleep(5000) -- пауза 5 сек.
      end
   --message("script table portfolio finished")
end


function ColourRowInRed(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,150,150), RGB(0,0,0), RGB(255,150,150), RGB(0,0,0))
end
function ColourRowInYellow(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(255,255,200), RGB(0,0,0), RGB(255,255,200), RGB(0,0,0))
end
function ColourRowInGreen(num_row)
   SetColor(t_id, num_row, QTABLE_NO_INDEX, RGB(150,255,150), RGB(0,0,0), RGB(150,255,150), RGB(0,0,0))
end
function GetAskPrice(inp_Sec_Code )
   local ask = tostring(getParamEx(class_code, inp_Sec_Code, "OFFER").param_value or 0)
   return ask
end
-- Округляет число до указанной точности
function math_round (num, idp)
   local mult = 10^(idp or 0)
   return math.floor(num * mult + 0.5) / mult
end
-- удаление точки и нулей после нее
function RemoveZero(str)
   while (string.sub(str,-1) == "0" and str ~= "0") do
      str = string.sub(str,1,-2)
   end
   if (string.sub(str,-1) == ".") then 
      str = string.sub(str,1,-2)
   end   
   return str
end
function OnStop()
   DestroyTable(t_id)
   IsRun = false   
end
  • обсудить на форуме:
  • QUIK

10 советов 40-летнего 20-летним

не мое, но в свете постов о здоровье от 50-летных, думаю, актуально

10 советов 40-летнего 20-летним.

Достигнув сорока начинаешь поражаться, сколько же людей даже не дожило твоего возраста. Илья Ильф умер в 39. Максим Горький в 37. Да много кто умер.
Дожив до сорока начинаешь задумываться, достиг ли ты всего чего хотел, и много ли ты успел сделать.
Ты поражаешься, что Александр Македонский до твоего возраста не дожил, но уже успел завоевать полмира, оставив тысячелетние наследие. Осознавая свои достижения, ты понимаешь, что великие люди в твоем возрасте тебя превзошли многократно. Читая книги начинаешь ловить себя на мысли, что автор тебя явно младше (и думаешь, ну чему этот сопляк может тебя научить?).

Анализируя свой опыт хочется кое что посоветовать нынешним 20-летним с высоты, так сказать, прожитых лет.

Итак, 
1. Перестань бухать. Перестань курить. Как бы круто тебе это сейчас не казалось, бухать и курить это не айс. Больше того, я скажу тебе то, что может показаться банальностью, но бухать и курить крайне вредно для здоровья. Да, сейчас здоровье у тебя железное и никак тебя не беспокоит. Но будь уверен, что если продолжишь бухать/курить, через 20 лет ты поймешь, что здоровье свое ты загубил безвозвратно. Помни, что даже пиво ведет к выработке не свойственного тебе женского гормона эстрогена. К каким последствиям это приводит нагуглишь сам. Или можешь посмотреть на большинство нынешних сорокалетних. Хочешь быть таким — продолжай.



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

Общий взгляд на РФР на год вперед

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

Я сам портфель еще не собрал — ибо пока ДОРАХА.

Что у меня в фокусе внимания на текущий финансовый год:
(скринов с графиками не будет — мне лень. Кому интересен мой взгляд — сам откроет графики)

Будут расти на отраслевых результатах:

Распадская
— уже начался рост. Надо пользоваться каждым откатом.

Соллерс - в котировках не учтен рост рынка автомобилей.

Разгон под дивиденды — повторение прошлого года под копирку:

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

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