Избранное трейдера 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