* * *
Инвестирование — это деятельность сопряженная с возможностью приобрести плохие привычки, прельщаться чем-то или принимать решения на основе неверных причин. Остерегаться поведенческих ловушек и искушений, которые поджидают невнимательного инвестора — это первый шаг, чтобы избежать их.
Семь смертных грехов были сформулированы в раннем христианском учении, чтобы последователи были внимательны к природным человеческим порокам — вожделение, обжорство, жадность, праздность, гнев, зависть и гордыня.
На следующих страницах мы адаптируем эти семь смертных грехов к миру инвестиций, обличая общепринятые тенденции инвесторов, которых следует избегать, чтобы достигнуть надежной долгосрочной доходности для наших клиентов.
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
Исторически разные классы активов — такие, как акции, облигации, товары, деньги — ведут себя по-разному и часто движутся в разных направлениях (то есть, когда одни растут, другие падают). А это значит, что сочетая такие противофазные, или как еще говорят, обратно скоррелированные, активы, мы можем балансировать портфель и управлять своим риском.
Здравствуйте, ну вот и прошел год с момента формирования портфеля, малышу исполнился 1 год. Доходность 13,1% (бумажная + дивиденды), что очень скромно по сравнению с «гуру» смарт-лаба, аленки и арсагеры.
За этот период, банковский процент 10%, инфляция 6%. индекс — 25%.
Ориентир был по 15% ежегодно, чуть хуже плана, думаю, что наверстаю упущенную в будущем. Проиграл индексу, но обогнал банковский вклад.
Бумажная прибыль не очищена от налога, дивиденды уже за минусом налога. Были покупки акций после выплаты дивидендов, а т.к. размер портфеля увеличивался, доходность падала. т.е. ДД не в момент выплаты, а на сегодня 1 января. (ДД 4.45%)
Определился с периодом инвестирования в Российские акции — 30 лет. Как раз, перед отъездом из РФ буду фиксировать бумажную прибыль.
Начало здесь — smart-lab.ru/blog/300390.php
Тогда думал, что буду покупать на совсем, сейчас всё-таки решил на 30 лет.
Как писал год назад, «только при обратном выкупе буду продавать акции.» — и придется мне расстаться с М.Видео, нет смысла держать их акции после покупки Гуцириевым.
Создание приемлемого инвестиционного портфеля может быть как времязатратным, так и сложным; и управление таким портфелем требует затрат в размере примерно 1% от размера активов.
Портфельные инвестиции (в оригинале — «sustainable investments», также «социально-ответственные инвестиции» — четкого определения нет, по всей видимости, наиболее подходящий «благозвучный» перевод будет «портфельные инвестиции», подразумевая портфельные инвестиции простых смертных, а не фондов — пер.) учитывают вопросы финансовой прибыли наряду с социальными, экологическими и политическими вопросам. Но робосоветники могут сделать инвестирование проще, используя алгоритмы для автоматического вложения денек в активы. Причем, эти алгоритмы учитывают предпочтения пользователя. Услуги робосоветников, как правило, дешевле, чем услуги обычных консультантов. Как правило, услуги робосоветников стоят примерно 0,3-0,5% от объема активов.
Брифинг — золото
В общепринятом в инвестиционном мире подходе золото традиционно рассматривается как актив, хеджирующий риски инфляции и неопределенности в экономике. В относительно недавнем прошлом драгоценный металл в 70е и 80е годы прошлого века в США дважды спасал от резких скачков в потребительских ценах. Однако затем, при стабильной инфляции и без радикальных экспериментов в денежной политике США на протяжении почти 20 лет золото проигрывало в стоимости любому другому традиционному виду активов, практически не меняясь в стоимости.
Возвращение спроса на драгоценный металл состоялось в середине нулевых годов, когда, во-первых, наблюдался рост физического спроса со стороны быстро растущих экономик Индии и Китая, к настоящему моменту составляющего больше половины от совокупного показателя. Во-вторых, подогреть его могли нулевые процентные ставки и нетрадиционные методы денежного стимулирования в США, максимально снизившие реальные процентные ставки и, соответственно, привлекательность долговых инструментов, заставив инвесторов искать альтернативные виды вложений.