Кликбейтное название? – Нихрена!
Щас играли с дочкой (9 лет) в стихийно возникшую игру. Она написала 3 подписи и спросила меня, какую из них она написала последней. Я предположил какую, оказался, прав, этим её заинтересовал, повторили эксперимент, я снова верно угадал. В итоге игра заключалась в том, что она в строку рисовала объекты (10-15) – сердечки или смайлики или что-то ещё и я должен был глядя на эти объекты определить, какой из них был нарисован последним. И знаете в чем шок контент? – во всех 20 итерациях я верно угадывал этот объект. Оба в шоке) – дочь от меня как от гения/экстрасенса, а я от ситуации в целом, даже несколько раз переспрашивал, а не дурит ли она меня, говоря, что я угадал, хотя по факту не угадал, но по невербалике видно, что не дурит).
Естественно, я не от балды тыкал, а каждый раз у меня была какая-то логика выбора, щас дальше опишу примеры. После каждого раза слегка шокированной дочери рассказывал, почему выбрал именно этот объект, чем руководствовался, на что смотрел, она в ответ рассказывала как мыслила она, как выглядел процесс рисования. И так итеративно действовали дальше.
В этом посте я хочу рассмотреть вариант арбитражной стратегии, и протестировать его на чувствительность к проскальзыванию, чтобы понять возможность применения.
Далее будут приведены мои субъективные умозаключения.
Для начала перечислю виды арбитража, которые я знаю:
Момент, который объединяет эти стратегии, состоит в том, что торговая позиция выставляется всегда одновременно по двум инструментам в противоположные стороны (если активы прямо скоррелированы, и в одинаковые стороны в ином случае).
Все эти арбитражные стратегии в основном относятся к классу рыночно-нейтральных «mean reversing» стратегий, потому что не следуют за трендом, а пытаются вернуться к некой справедливой цене актива (та же трендовая составляющая), выставляя позиции против отклонения от тренда, хотя, конечно, можно придумать и трендовые стратегии, использующие актив-«поводырь» для прогнозирования тренда.
Довольно удачный квартал. +50,1% за три месяца.
Уже в апреле был доволен. ВТБ, ГМК. Системы переходили с одного трендового инструмента на другой.
В мае подоспели Сбер и ГП, инструменты с максимальными лимитами. И получился выброс доходности.
Почему довольно высокий доход на невыразительном рынке? Две причины
а) В разделе Акции/Индексы настройка систем на лонг в ущерб шортам полностью оправдался. Хотя по шортам постепенно увеличиваю лимиты. И, как следствие, несу дополнительные убытки.
б) Среднее время в позиции (6-7 дней по этому году) позволяет удерживать инструменты длительное время. Почти без распила. Как Сбер и ГП, которые начал набирать еще в середине апреля.
По Si отбил убытки первого квартала. Лонг заработал в начале апреля, шорт давал с начала мая. Невыразительная доходность обусловлена перекосом в сторону лонга. Примерно в пропорции 3:1
Исправлена печать повторных пробоев одного того же экстремума в том же сообщении.
smart-lab.ru/blog/704033.php
На минутных барах этот печатный долбёж очень досаждает.
Исправлена печать повторных пробоев одного того же экстремума.
По просьбам играющих smart-lab.ru/vopros/703796.php
В Quik'е нельзя только предсказывать будущее.
Индикатор Breakout рисует на графике котировок точки пробоя для экстремумов заданного числа Num баров. Для последнего интервала Num баров показывает уровни экстремумов.
Значение Num и признак Print печати сообщений на пробои можно поменять через параметры индикатора.
Чтобы в Quik'е использовать этот индикатор, поместите нижеследующий код в текстовый файл Breakout.lua, а сам этот файл в подкаталог LuaIndicators в том каталоге Quik'а, где лежит файл info.exe.
Чтобы метки пробоев были виднее, индикатор следует поместить после графика котировок. Эти метки позволят на глазок определить прибыльность пробойной стратегии.
-- Ростислав Дмитриевич Кудряшов, СПб, 2021 -- Индикатор Breakout для Quik: min и max Num баров Settings = { Name = "_Breakout" ,line = { {Name = "Min" ,Color = RGB (255,0,0) ,Type = TYPE_LINE ,Width = 1} ,{Name = "Max" ,Color = RGB (0,255,0) ,Type = TYPE_LINE ,Width = 1} ,{Name = "Lwr" ,Color = RGB (255,255,0) -- Жёлтый ,Type = TYPE_TRIANGLE_DOWN ,Width = 1} ,{Name = "Upr" ,Color = RGB (0,128,255) -- Тёмно-Голубой ,Type = TYPE_TRIANGLE_UP ,Width = 1} } ,Num = 10 ,Print = 1 -- или 0 } Scan = 0 -- При загрузке Quik сканирует 1 раз function Init() return #Settings.line end function OnChangeSettings() Scan = 0 end function OnCalculate (index) local n, mn, mx, ini, fin, upr, lwr, printFlag n = Settings.Num if n < 1 or index <= n then if index == 1 then Scan = Scan + 1 SetRangeValue (3, 1, Size(), nil) SetRangeValue (4, 1, Size(), nil) end return nil end mn = math.huge mx = -math.huge ini = index - n fin = index - 1 for i = ini, fin do mn = math.min (mn, L(i) or mn) mx = math.max (mx, H(i) or mx) end printFlag = Settings.Print > 0 and index == Size() and Scan > 1 lwr = GetValue (index, 3) upr = GetValue (index, 4) if not lwr and L(index) and L(index) < mn then if printFlag then message (Settings.Name ..": Dn ".. mn) end lwr = mn end if not upr and H(index) and H(index) > mx then if printFlag then message (Settings.Name ..": Up ".. mx) end upr = mx end if index == Size() then SetValue (ini-1, 1, nil) SetValue (ini-1, 2, nil) SetRangeValue (1, ini, fin, mn) SetRangeValue (2, ini, fin, mx) else mn, mx = nil end return mn, mx, lwr, upr end -- OnCalculate()
Всем привет!
В этом видео мы разберем несколько популярных стратегий из мира технического анализа, запрограммируем их и протестируем на исторических данных — это даст нам четкое представление сможем ли мы заработать на них, если будем использовать их в живой торговле.