Избранное трейдера Максим


--переменные
keyRateCB = 7.5
classCode = "TQOB"
function CreateTable()
t_id = AllocTable()
AddColumn(t_id, 0, "Бумага", true, QTABLE_STRING_TYPE, 15)
AddColumn(t_id, 1, "Цена", true, QTABLE_DOUBLE_TYPE, 15)
AddColumn(t_id, 2, "Доходность, %", true, QTABLE_DOUBLE_TYPE, 15)
AddColumn(t_id, 3, "Дюрация, лет", true, QTABLE_DOUBLE_TYPE, 15)
AddColumn(t_id, 4, "Купон, %", true, QTABLE_DOUBLE_TYPE, 15)
AddColumn(t_id, 5, "Премия к ЦБ, бп", true, QTABLE_INT_TYPE, 15)
AddColumn(t_id, 6, "Погашение", true, QTABLE_STRING_TYPE, 15)
t = CreateWindow(t_id)
SetWindowCaption(t_id, "ОФЗ")
end
function string.split(str, sep)
local fields = {}
str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end)
return fields
end
function getParamNumber(code, param)
return tonumber(getParamEx(classCode, code, param).param_value)
end
function formatData(prm)
return string.format("%02d.%02d.%04d", prm%100, (prm%10000)/100, prm/10000)
end
CreateTable()
arr = {}
sec_list = getClassSecurities(classCode)
sec_listTable = string.split(sec_list, ',')
j = 0
for i = 1, #sec_listTable do
secCode = sec_listTable[i]
securityInfo = getSecurityInfo(classCode, secCode)
short_name = securityInfo.short_name
if short_name:find("ОФЗ 26") ~= nil then
j = j + 1
r = {}
r["short_name"] = short_name
r["price"] = getParamNumber(securityInfo.code, "PREVPRICE")
r["yield"] = getParamNumber(securityInfo.code, "YIELD")
r["duration"] = getParamNumber(securityInfo.code, "DURATION")/365
couponvalue = getParamNumber(securityInfo.code, "COUPONVALUE")
couponperiod = getParamNumber(securityInfo.code, "COUPONPERIOD")
r["coupon"] = ((365/couponperiod) * couponvalue)/10
r["bonus"] = (r["yield"] - keyRateCB)*100
r["mat_date"] = getParamNumber(securityInfo.code, "MAT_DATE")
table.insert(arr, j, r)
end
end
table.sort(arr, function(a,b) return a["duration"] < b["duration"] end)
for j = 1, #arr do
row = InsertRow(t_id, -1)
SetCell(t_id, row, 0, arr[j]["short_name"])
price = arr[j]["price"]
SetCell(t_id, row, 1, string.format("%.2f", price), price)
yield = arr[j]["yield"]
SetCell(t_id, row, 2, string.format("%.2f", yield), yield)
duration = arr[j]["duration"]
SetCell(t_id, row, 3, string.format("%.2f", duration), duration)
coupon = arr[j]["coupon"]
SetCell(t_id, row, 4, string.format("%.2f", coupon), coupon)
bonus = arr[j]["bonus"]
SetCell(t_id, row, 5, string.format("%.0f", bonus), bonus)
mat_date = arr[j]["mat_date"]
SetCell(t_id, row, 6, formatData(mat_date), mat_date)
endРешил написать обзор по компании НМТП — крупнейшей портовой группе в РФ.
Сразу скажу, какой-то особой инвестиционной идеи я здесь пока не вижу, не смотря на то, что НМТП — это первоклассный актив. Я предпочитаю подождать и буду покупать эту акцию, если цены еще ощутимо припадут (с пика 2017 г. они упали уже на треть). На уровне ~5 руб., например, этот актив будет выглядеть уже очень привлекательно. Пока я потихоньку покупаю Интер РАО (инвест идею писал раньше)
1) Порт развивается, финпоказатели растут, он не такой дешевый как в 2015-2016 гг., но нельзя сказать что дорогой. Еще немного снижения и актив будет оценен очень привлекательно, возможно куплю его вместо НКХП (но только после дополнительного падения)
2) Транснефть купила 25% с существенной премией к рынку и стала контролирующим акционером. Очевидно, что ей не интересны ненефтяные сегменты порта (непрофильный бизнес), поэтому тут может быть какая-то сделка в будущем (в т.ч. спин офф?).
Не подумайте плохого в части нормальности, речь пойдет не о психиатрии, а об известном в теории вероятностей нормальном распределении
А точнее даже не о нем самом, а об известной центральной предельной теореме (ЦПТ) применительно к ценам. Что такое центральная предельная теорема в ее классическом виде?
Пусть нам дана некоторая сумма большого числа случайных величин Х=х1+…+хN где каждое слагаемое имеет конечную и ненулевую дисперсию (как мы увидим далее в приложении к ценам это условие выполняется). Человечество давно еще с 18 века (Муавр и Лаплас) заинтересовал вопрос распределения случайной величины Х или хотя бы его более-менее точного приближения.
Не будем слишком строги в определениях всяких сходимостей и их скоростей, а сформулируем классическую ЦПТ в виде интуитивно понятного, но нестрогого термина «близости». Так вот, если xi – независимы (кто хочет может посмотреть строгое определение независимости, а для менее пытливых скажу только, что корреляция двух независимых случайных величин с конечными дисперсиями – нуль, хотя и обратное не верно), то распределение Х при достаточно больших N практически не отличается от нормального распределения со средним А и дисперсией D, где А – сумма средних x
В кругу экономистов бытует мнение, что обогнать фондовый индекс на длительной перспективе невозможно, и если вам удалось в какой-то определенный год вырваться вперед, получив прибыль гораздо выше той, которую продемонстрировал индекс акций, то в будущем неизбежно ваши результаты не превзойдут индекс, а могут оказаться только хуже него. Подобная точка зрения следует из гипотезы эффективного рынка. К сожалению, экономика отличается от математики тем, что строгое доказательство практически любого утверждения представляется невозможной задачей. Тем не менее, в данной статье мне бы хотелось привести пример одной из стратегий, которая способна обогнать индекс акций в длительной перспективе. Разумеется, я отдаю себе отчет в том, что не могу доказать это математически. Впрочем, в экономике практически везде используются различные гипотезы, которые невозможно доказать, например, почему-то принято считать, что движение цен подчиняется нормальному распределению, и я что-то нигде не встречал какого-либо доказательства подобного утверждения. Тем не менее, именно на основе гипотезы о нормальном распределении была придумана знаменитая формула Блэка-Шоулза для оценки стоимости опционов, за которую ее авторы даже получили нобелевскую премию.


— Трейдер – это лицо, принимающее решения о покупке-продаже активов на финансовом рынке.
— Инвестор – это трейдер, постоянно находящийся в позиции лонг, апериодически меняющий в портфеле доли активов, со средним временем смены не чаще 2-х раз в месяц.
Если б я был противником, то не создал бы «Русского Баффета»

цель которого доказать, что для обыгрывания индекса по доходности в растущие годы не нужны фундаментальный анализ и «плечи».
Я только хотел предупредить, что в падающие годы никакой анализ не спасет «инвестора» (в моем определении) от больших потерь, а «плечи» вообще «убьют». И в последнем случае «спекулянт» с разумными «плечами» (!) находится в более выигрышном положении. Впрочем, последнюю мысль я вроде раскрыл в докладе.
PS. Странно, что в программе меня записали в «алго». «Алго» я посвятил лишь несколько предложений про корректное тестирование систем, когда говорил о свойствах случайного блуждания. В моем докладе вовсе не стоял знак равенства «спекулянт»=«алготрейдер».