Избранное трейдера Andrew_Kl
В продолжении разговора об рыночных факторах-аномалиях(начало было здесь, про дивиденды), хочу немного написать о другом рыночном факторе — моментуме. Для начала, вот ссылка на очень хорошую статью — «The Quantitative Momentum Investing Philosophy» из блога компании Alpha Architect, рекомендую прочесть. В ней изложены основные принципы, на основе которых компания делает свои моментум-фонды. Если совсем кратко изложить суть написанного, то для акций, на горизонте от 6 до 12 месяцев, наблюдается образование аномалии моментума. Иными словами, если цены акции начали рост, и уже растут больше 6 месяцев, то рост с большой вероятностью будет продолжен. Эта аномалия описана во множестве академических работ и используется во многих рыночных моделях, например моделях Фамы-Френча(см. ссылки в статье). В этих же академических работах также отмечается, что на этом многомесячном тренде роста иногда возникает обратное контр-трендовое движение, длительностью до месяца. Чтобы отсечь этот «противоход», часто используют определение моментума в следующем виде: общий рост за N месяцев, без учета последнего(самого недавнего) месяца. В модели Фамы-Френча используется определение моментума — 12 минус 1, т.е. рост за 12 месяцев, без учета последнего месяца. Этот же моментум часто называют «12_2 моментум», по месяцам вычисления.
Как устроена Россия. Молоко без коровы. Денис Терентьев.
Электронная книга https://t.me/kudaidem Подпишитесь- будьте в курсе.
Главный вопрос моего исследования: почему оказались такими устойчивыми институты, которые всеобщего процветания даже не обещают? Может быть, мы открыли секрет нематериального счастья?
В первой части я разложу на атомы главные особенности нашей экономики: влияние централизованной власти на бизнес, сословный характер распределения ренты, проблемы со стимулами для частных инвестиций и «ресурсное проклятие
1. Основа
(стоп, соотношение, вероятность)
3 правила соблюдение которых обязательно.
Стоплосс.
Стопы надо ставить всегда!
Соотношение риск к прибыли.
Минимальное соотношение — 1 к 2. Это значит что рискуя 5 пунктами твоя потенциальная прибыль должна быть минимум 10, лучше больше.
Участники замеса приводят кучу доводов в обе стороны, не понимая, что вся правда как обычно между.
Идеальная точка для входа, находится в месте, где сходится и ТА и ФА.
Ну согласитесь, шортить бумагу в момент когда объявили байбек, выплату крупных дивидендов, сделки M&A очень не логично. Или шортить компанию в момент роста цены на основную продукцию. Пример как сейчас с нефтью. Я допускаю, что с дронами это все на неделю, но для меня комфортнее найти вход на покупку, чем искать откуда шортануть. Если выйдет новость, что СА полностью восстановила добычу, тогда можно начать думать о шортах. Хотя лучше совсем отказать от шортов:)
К чему это я?
Я перепробовал тысячу индикаторов еще со времен увлечения Форекса. И остановился на первоисточнике. Что для индикатора источник? Правильно! ЦЕНА! МАТЬ ее ЦЕНА!
Все остальное от лешего. Стохастики, мувинги и тд. Я конечно понимаю, что возможно я просто не умею их готовить… но так вышло.
--[[ параметры: Procent - процент зигзага --]] Settings={ Name="ZIGZAGPROF", Procent=1, line= { { Name = "cur1", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 0) }, { Name = "cur2", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 255) } } } function Init() y1 = nil y2 = nil x1 = 1 x2 = 1 return 1 end function OnCalculate(index) de = Settings.Procent delt = 0.01 vl = C(index) if index == 1 then y1 = vl y2 = vl else if C(index) > y1*(1+de/100) and y1 < y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) > y1 and C(index) > y2 then x1 = index y1 = C(index) end if C(index) < y1*(1-de/100) and y1 > y2 then x2 = x1 y2 = y1 x1 = index y1 = C(index) end if C(index) < y1 and C(index) < y2 then x1 = index y1 = C(index) end end if x1 ~= index then curfrom = x1 curto = index else curfrom = x2 curto = x1 end --[[ if curto ~= curfrom and curfrom ~= nil and curto ~= nil then if C(curto) ~= nil and C(curfrom) ~= nil then k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, index do curv = i*k + C(curto) - curto*k SetValue(i, 1, curv) end end end --]] lev = nil if x1 ~= x2 then k = (C(x1)- C(x2))/(x1- x2) maxd = 0 for i = x2, x1 do lev = i*k + C(x1) - x1*k if C(x2) > C(x1) and lev <= H(i) then if maxd < H(i) - lev then maxd = H(i) - lev end --maxd = 0.5 end if C(x2) < C(x1) and lev >= L(i) then if maxd > L(i) - lev then maxd = L(i) - lev end --maxd = -0.5 end end lev = nil --[[if x1 < index and ( C(x2) > C(x1) and C(x1) < C(index) or C(x2) < C(x1) and C(x1) > C(index) ) then --]] lev = index*k + C(x1) - x1*k + maxd --end --[[ map = 10 lev = 0 if index-map+1 > 0 then for i = index-map+1, index do lev = lev + C(i) end lev = lev/map ma = lev end map = 30 lev2 = 0 if index-map+1 > 0 then for i = index-map+1, index do lev2 = lev2 + C(i) end lev2 = lev2/map ma2 = lev2 end if C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev and C(index) - C(x1) > C(index)*delt or C(x2) > C(x1) and C(x1) < C(index) and C(index) > lev2 then lev = C(x1)--*(1-delt) prev = lev else if C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev and C(x1) - C(index) > C(index)*delt or C(x2) < C(x1) and C(x1) > C(index) and C(index) < lev2 then lev = C(x1)--*(1+delt) prev = lev else lev = lev2 end end if C(x1) > C(x2) and ( lev < C(index) or prev == C(x2) ) then lev = C(x2)--*(1+delt) prev = lev end if C(x1) < C(x2) and ( lev > C(index) or prev == C(x2) ) then lev = C(x2)--*(1-delt) prev = lev end if C(x1) < C(x2) and ( lev < C(index) or prev == C(x1) ) then lev = C(x1) prev = lev end if C(x1) > C(x2) and ( lev > C(index) or prev == C(x1) ) then lev = C(x1) prev = lev end --]] end return lev end