Избранное трейдера Flash Crash
С мая месяца не торгую на срочном рынке. Option-Lab отобрали, возвращать для работы с сертифицированным российским брокером, похоже, не собираются. А набирать вручную по сотне контрактов несколько ног позиции как-то не серьезно.
За рынком наблюдаю, как там несчастная Алроса поживает вместе с менее несчастным Сургутом.
В общем, скучно. Решил немного размяться внутридневной торговлей RI. День торгую, два, копеечки собираю.
А тут раз и неудача. Купил 14 августа контракт на RIU9 по цене 129350, поставил близкий тейк и ушел. А оно как полетит вниз. Прихожу, уже 126000, убыток больше 4000 руб., и что делать? Фиксировать убыток жалко. Пирамидиться не хочется. Подумал не долго, посчитал, да и продал 4 колла RIU9 страйка 130000, экспирация 19.09.2019. Средняя цена получилась 1830 за контракт.
На следующий день RI пошел ниже 125000, купил еще контракт фьючерса по цене 124870 и продал контракт колла 125000 страйка той же датой экспирации по цене 3440. Получилась синтетика, проданный пут 125000 страйка. Рынок уходил еще ниже, планировал повторить операцию, если уйдет ниже 122500, но не ушло.
Шведские ученые в 2007 году в Стокгольме доказали,
что высота стола должна составлять 72,
а не 75 см., как считалось раньше.
15 лет назад они не были рассчитаны на работу с компьютером,
а сегодня разницу в 3 см. компенсируют высота клавиатуры и мышки.
Ширина должна составлять от 60 до 100 см.
От краев стола до преграды сзади должно быть как минимум 80 см. пространства.
Это необходимо, чтобы иметь возможность откидываться в кресле,
не опасаясь удариться о стену,
и свободно вставать и выходить из-за стола.
Оптимальной высотой для шкафа шведские исследователи считают 180 см.,
поскольку человек, изо дня в день,
находясь рядом с огромной мебелью,
будет испытывать дискомфорт.
Клавиатура должна располагаться в 10-15 см. от края стола,
поскольку в этом случае нагрузка приходится не на кисть,
а на более “крепкую” часть предплечья.
Если стол оснащен выдвижной полкой для клавиатуры,
то рабочее место следует комплектовать креслом с регулируемыми по высоте подлокотниками.
На этот вопрос напрашивается короткий ответ и сразу: «Чтобы в офис ходить как можно реже!».
Однако, после выпуска ВТБ мобильного приложения «Мои инвестиции» кажется, что ситуация изменилась. Приложение «Мои инвестиции» позволяет подписывать ежемесячные реестры поручений с помощью СМС-кода. Да и в Личном кабинете клиента на портале olb.ru появилась возможность подписывать распоряжения на вывод денежных средств, также, с помощью СМС-кода.
Но не спешите «хоронить» ЭЦП, она может еще быть незаменимой. Нет ей альтернативы при открытии субсчетов и субпозиций.
Когда у инвестора много разных идей и он формирует различные портфели — очень удобно для каждого портфеля открыть свой субсчет.
Субсчет, по своей сути, это отдельный «кармашек» для торгов с деньгами и бумагами. И, хотя, и все деньги хранятся на брокерском счете 306000000000, а все бумаги на одном счете депо — субсчета позволяют разделять их при осуществлении торговли. К сожалению, налоговый расчет FIFO с данным разделением не считается. Налоги расчитываются по общему счету депо, первая купленная бумага — считается проданная первой.
привет!
у меня в квике стояла камарилла аж с 2014 года, когда вы выложили здесь этот индикатор.
квик обновился до 8 и камарилла пропала.
это не исправить?
-- Camarilla.lua Settings={ Name = "Camarilla", period = 'D', line = { {Name = "S5", Color = RGB(255, 0, 0), Type = 1, Width = 2}, {Name = "S4", Color = RGB(255, 165, 0), Type = 1, Width = 2}, {Name = "S3", Color = RGB(255, 255, 0), Type = 1, Width = 2}, {Name = "PP", Color = RGB(0, 255, 0), Type = 1, Width = 2}, {Name = "R3", Color = RGB(0, 191, 255), Type = 1, Width = 2}, {Name = "R4", Color = RGB(0, 0, 255), Type = 1, Width = 2}, {Name = "R5", Color = RGB(139, 0, 255), Type = 1, Width = 2}, } } local math_floor = math.floor local levels = 0 local ydH, ydL, ydC, ydO = {},{},{},{} local PP, R3, R4, R5 = 0,0,0,0 local S3, S4, S5 = 0,0,0 local delta = 0 local cl = 0 local predThisDay=0 local function dTs(t) return 100*(100*t.year+t.month)+t.day; end local OldDay = '' -- для выделения начала торгового дня function Init () local t=getDataSourceInfo() local tt = t.interval if tt == -3 then message('Месячный график не обрабатывается.',1) return end return 7 end function OnCalculate (index) local time tt=T(index); ---время из свечи --local ThisDay=dTs(tt) -- дата в формате yyyyMMdd local tDay=dTs(tt) -- дата в формате yyyyMMdd local ThisDay = tDay if Settings.period == 'W' then ThisDay=tt.week_day -- номер недели end if index == 1 then --message('First ThisDay = '..tostring(ThisDay),1) local t=getDataSourceInfo() --7.2.5 Функция предназначена для получения информации об источнике данных для индикатора. local scale = getSecurityInfo(t.class_code, t.sec_code).scale -- NUMBER, Количество значащих цифр после запятой mul = 10^scale -- возведение в степень local tt = t.interval if tt == -3 then tt = 'месяц' elseif tt == -2 then tt = 'неделя' elseif tt == -1 then tt = 'день' else tt = tt..' мин.' end --message(t.sec_code..'('..t.class_code..'), цифр после запятой: '..scale..', mul = '..mul..', дата = '..ThisDay,1) levels = levels + 1 if ThisDay ~= OldDay then OldDay = ThisDay end predThisDay = ThisDay -- delta = H(index) - L(index) cl = C(index) R5 = (H(index) / L(index))*cl calcLevels(index) local per = 'daily' if Settings.period == 'W' then per = 'weekly' end message('Camarilla '..per..', Т = '..tt..', © xsharp.ru 20.06.2015', 1) return end if Settings.period == 'W' then if ThisDay < OldDay then -- для неделек OldDay = OldDay + 1 if OldDay ~= ThisDay then OldDay = ThisDay end levels = levels + 1 delta = ydH[levels-1] - ydL[levels-1] cl = ydC[levels-1] R5 = (ydH[levels-1] / ydL[levels-1])*cl calcLevels(index) --if index<120 then --message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) --end predThisDay = ThisDay else if ThisDay ~=predThisDay then --message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) predThisDay = ThisDay OldDay = OldDay + 1 end ThisDayF(index) end elseif Settings.period == 'D' then if ThisDay ~= OldDay then -- для дневок OldDay = OldDay + 1 if OldDay ~= ThisDay then OldDay = ThisDay end levels = levels + 1 delta = ydH[levels-1] - ydL[levels-1] cl = ydC[levels-1] R5 = (ydH[levels-1] / ydL[levels-1])*cl calcLevels(index) --if index<120 then --message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) --end predThisDay = ThisDay else if ThisDay ~=predThisDay then --message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) predThisDay = ThisDay OldDay = OldDay + 1 end ThisDayF(index) end elseif Settings.period == 'H4' then if ThisDay ~= OldDay then -- для дневок OldDay = OldDay + 1 if OldDay ~= ThisDay then OldDay = ThisDay end levels = levels + 1 delta = ydH[levels-1] - ydL[levels-1] cl = ydC[levels-1] R5 = (ydH[levels-1] / ydL[levels-1])*cl calcLevels(index) --if index<120 then --message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) --end predThisDay = ThisDay else if ThisDay ~=predThisDay then --message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1) predThisDay = ThisDay OldDay = OldDay + 1 end ThisDayF(index) end end return S5, S4, S3, cl, R3, R4, R5 end function round(value) return math_floor(value*mul + 0.5) / mul end function ThisDayF(index) ydC[levels] = C(index) if H(index) > ydH[levels] then ydH[levels] = H(index) end if L(index) < ydL[levels] then ydL[levels] = L(index) end end function calcLevels(index) ydO[levels] = O(index) ydH[levels] = H(index) ydL[levels] = L(index) ydC[levels] = C(index) -- R3 = cl + delta * 1.1/4 R4 = cl + delta * 1.1/2 -- S3 = cl - delta * 1.1/4 S4 = cl - delta * 1.1/2 S5 = cl - (R5-cl) -- R5 = round(R5) R4 = round(R4) R3 = round(R3) S3 = round(S3) S4 = round(S4) S5 = round(S5) end
Продолжение. Предыдущие посты (в которых я оказался прав =):
февраль 2017 — номер раз
январь 2018 — номер два
октябрь 2018 — номер три
С завидной регулярностью на СЛ появляются посты, хоронящие американский рынок и обещающие ему эпический слив. При этом обоснованием для пугалок часто служит картинка с cyclically adjusted S&P 500 P/E Шиллера:
Никогда не понимал этого идиотизма сравнивать P/E с историческими значениями и делать на этом основании всепропальщеские выводы. В конце концов, обоснованный уровень P/E надо искать не в истории, а сравнивая его с альтернативными классами активов, в которые можно увести деньги из акций, коими обычно выступают американские трежерис. В частности, у трежерис есть yield, и логично сравнивать доходность трежерей с «доходностью» S&P, за коею логично взять E/P — earnings yield, то есть величину, обратную P/E. Почему за «yield» S&P 500 мы берем earnings yield, а например не дивидендную доходность (dividend yield)? Ну потому, что компании выплачивают только часть прибыли в виде дивидендов, остальная же прибыль реинвестируется с хорошей (в среднем) доходностью, равной требуемой доходности на акционерный капитал, и приводит к росту стоимости акций (той самой, которой все так озабочены), поэтому «yield» индекса — это не только деньги, которые вы получаете на руки, но и те, что вкладываются в компанию для ее дальнейшего роста (в отличие от любых облигаций, у которых стоимость номинала расти не может), поэтому именно earnings yield является аналогом «доходности» для equity индексов.