Избранное трейдера sam
В последние годы всем инвесторам было очевидно, что у китайского рынка наилучшие перспективы роста. В конце концов, Китай — это вторая крупнейшая экономика мира после США, в то время как в капитализации мирового рынка акций китайские компании занимают жалкие несколько процентов (сравните с теми же американскими фирмами, на которые приходится больше половины капитализации рынка). И особенно очевидно всем было, насколько недооцененными являются китайские тех-компании вроде Alibaba или Tencent, чьими продуктами ежедневно пользуются, кажется, решительно все полтора миллиарда китайцев.
for (int i = i0; i < weeks.Count; ++i) { int idxIni = IndexOf (weeks[i][0]-1, entryTime); int idxFin = IndexOf (weeks[i][1], exitTime); double strike = mwu.RoundTo (Open[idxIni], strikeStep); double dura = (Date[idxFin] - Date[idxIni]).TotalDays; double calIni = OptPrice ('C', Open[idxIni], strike, dura, volaIni); double putIni = OptPrice ('P', Open[idxIni], strike, dura, volaIni); double calFin = OptPrice ('C', Close[idxFin], strike, 1e-6, volaFin); double putFin = OptPrice ('P', Close[idxFin], strike, 1e-6, volaFin); double win = (calIni+putIni) * (1-slpg) - (calFin+putFin) - 2*fee; PrintDebug (String.Format (fmt, i, Date[idxFin].ToShortDateString() ,calIni, putIni, calFin, putFin, win)); } // for (int i = i0Вот выдача за первый квартал
FixPrice анализ и оценка #FIXP
В марте 2021 г. FixPrice — крупнейшая в России сеть магазинов низких фиксированных цен, разместила акции на Лондонской и Московской биржах. На Мосбирже торги ГДР стартовали с 724,5 руб. за штуку, показав на 24.12.2021 цену закрытия 544,6 рублей (-24,8%).
За 9 месяцев акции серьезно просели, а что с бизнесом?
📊Кратко о Компании
FixPrice – это российский аналог американской сети Dollar Tree Stores – магазинов формата «все за 1$».
Компания продает продукты питания (≈28% продаж), бытовую химию и косметику (≈23% продаж), непродовольственные товары (≈49% продаж).
Ключевая стратегия FixPrice – экономия и максимальное сокращение издержек. Чтобы держать низкие цены на товары из Юго-Восточной Азии, компания закупает их напрямую, избегая накрутки посредников. При этом она стремится добиться от поставщиков таких цен, чтобы при последующей продаже получать двузначную рентабельность. Экономия на издержках при продаже продуктов достигается тем, что около 60% ассортимента Компания продает под собственной торговой маркой.
--[[ индикатор отрисовки наклонных уровней Параметры: delta - чувствиельность индикатора на волатильность в % rep - количество повторений поиска конечного уровня shif - сдвиг влево конечного бара wt - признак наличия весового коэффициента =0 - без весового =1,2.. - свосовыми коф. чем ближе к концу тем больше show=1, --]] Settings= { Name = "AT-obl_can", -- название индикатора delta=2.0, -- параметр индикатора rep=10, shif=0, wt=1, --hl=1, show=1, line= { { Name = "ln1", Type =TYPE_LINE, Width = 2, Color = RGB(255, 0, 0) }, { Name = "ln2", Type =TYPE_LINE, Width = 2, Color = RGB(255, 0, 0) } } } function Init() vMin = 0 vMax = 0 vMinindex = 0 vMaxindex = 0 voldMinindex = 0 voldMaxindex = 0 return 2 end function OnCalculate(index) rep = Settings.rep shif = Settings.shif wt = Settings.wt --hl = Settings.hl sz = Size()-shif if Settings.show == 1 then if index <= sz then if index <= 1 then vMin = C(index) vMax = C(index) vMinindex = index vMaxindex = index voldMinindex = index voldMaxindex = index v = C(index) else if voldMaxindex >= voldMinindex then if vMin~=nil and C(index)~=nil then if C(index) > (1 + Settings.delta/100)*vMin then vMin = C(index) vMax = C(index) vMaxindex = index voldMinindex = vMinindex vFrom = vMinindex else if vMin > C(index) then vMin = C(index) vMinindex = index vFrom = voldMaxindex else vFrom = vMinindex end end end else if voldMaxindex <= voldMinindex then if vMax~=nil and C(index)~=nil then if C(index) < (1 - Settings.delta/100)*vMax then vMax = C(index) vMin = C(index) vMinindex = index voldMaxindex = vMaxindex vFrom = vMaxindex else if vMax < C(index) then vMax = C(index) vMaxindex = index vFrom = voldMinindex else vFrom = vMaxindex end end end end end --if vFrom~=nil then --[[ for i = vFrom, index do k = (C(index)- C(vFrom))/(index- vFrom); v = i*k + C(index) - index*k SetValue(i, 1, v) end --]] --end if index == sz then for k = 1, 2 do vf = 1 vs = 0 if k == 1 then if vMinindex < vMaxindex then vf = vMinindex vs = vMaxindex up = 0 elseif vMinindex > vMaxindex then vs = vMinindex vf = vMaxindex up = 1 end elseif k == 2 then if voldMinindex < voldMaxindex then vf = voldMinindex vs = voldMaxindex up = 0 elseif voldMinindex > voldMaxindex then vs = voldMinindex vf = voldMaxindex up = 1 end end n = 0 xy = 0 x = 0 y = 0 xx = 0 m = 0 for i = vf, vs do if C(i) ~= nil then m = m +1 n = n + 1*(1+wt*m) xy = xy + i*C(i)*(1+wt*m) x = x + i*(1+wt*m) y = y + C(i)*(1+wt*m) xx = xx + i*i*(1+wt*m) end end if (n*xx - x*x) ~= 0 and n ~= 0 then a = (n*xy - x*y)/(n*xx - x*x) b = (y - a*x)/n for j = 1, rep do n = 0 xy = 0 x = 0 y = 0 xx = 0 m = 0 for i = vf, vs do if C(i) ~= nil then v = a*i + b clc = 0 if up == 1 and C(i) >= v then clc = 1 end if up == 0 and C(i) <= v then clc = 1 end if clc == 1 then m = m + 1 n = n + 1*(1+wt*m) --[[ if up == 1 and hl == 1 then xy = xy + i*H(i)*(1+wt*m) elseif up == 0 and hl == 1 then xy = xy + i*L(i)*(1+wt*m) else --]] xy = xy + i*C(i)*(1+wt*m) -- end x = x + i*(1+wt*m) --[[ if up == 1 and hl == 1 then y = y + H(i)*(1+wt*m) elseif up == 0 and hl == 1 then y = y + L(i)*(1+wt*m) else --]] y = y + C(i)*(1+wt*m) -- end xx = xx + i*i*(1+wt*m) end end end --[[--]] if (n*xx - x*x) ~= 0 and n ~= 0 and n >= 2 then a = (n*xy - x*y)/(n*xx - x*x) b = (y - a*x)/n --[[ --]] end end for i = vf, sz do v = a*i + b if up == 1 and v >= C(vs) or up == 0 and v <= C(vs) then SetValue(i, k, v) end end end end end end end end end