Избранное трейдера (1:10) || algo
В своей опционной торговле я часто использую вертикальные спреды. Да и любая опционная конструкция состоит из определенного набора колл и пут спредов. В данной заметке я хочу показать свои способы регулировки построенных спредов. Примеры буду приводить на недельных опционах по РТС. Пример построенного недельного пут спреда на прошлой неделе:
Как мы видим прибыль на дату экспирации при цене ниже 125000 может достичь 19400 пунктов, а убыток при экспирации выше 127500 составляет 5600 пунктов. Проблема в том, что цена порой чуть ли не всю неделю может быть в прибыльной зоне, а на дату экспирации выйти в убыточную зону. Что согласитесь, достаточно обидно. Трейдер иногда попадая несколько раз в такую ситуацию, в следующий раз начинает слишком рано закрывать позицию и может не дополучить существенную прибыль. Соответственно сразу возникает мысль, какие корректировки позиции мы можем сделать, находясь в прибыльной зоне, чтобы уберечь свою позу от убытка, а по возможности сделать её постоянно прибыльной.
Гайд по торговле на бирже 5 часть
Инвестиции
1 Пролог
В теориях, инвестиции выглядят крайне притягательно — покупаешь актив и получаешь доход. Больше дохода — больше актива. Работает сложный процент и внезапно ты богат. Но есть ряд скрытых практических вещей, про которые никто не говорит, а я напишу.
2 Торговля по фундаменталу.
Основная проблема торговли по фундаменталу — малая частота дискретизации, это физическое ограничение на качество торговли. Технари знают про теорему Котельникова, остальные могут погуглить.
Отчеты по компаниям появляются раз в квартал. Информация отстает от реального положения дел на 3 месяца. Торгуя фундаментал при периоде дискретизации 3 месяца инвестор может поймать тренды протяженностью более 9-12 месяцев. Это прокатывает при аптрендах, которые дляться по 5-6 лет. Но никак не может помочь в периоды краткого медвежьего рынка.
p_CLASSCODE = «SPBFUT» --Код класса
p_SECCODE = «SiU0» --Код инструмента
function OnInit()
frame_60min = CreateDataSource (p_CLASSCODE, p_SECCODE, INTERVAL_H1)
frame_5min = CreateDataSource (p_CLASSCODE, p_SECCODE, INTERVAL_M5)
Index_60min = nil
Index_5min = nil
LastPrice = nil
IsRun = true
end
function main()
CreateTable()
while IsRun do
if Index_60min ~= frame_60min:Size() then
Index_60min = frame_60min:Size()
end
if Index_5min ~= frame_5min:Size() then
Index_5min = frame_5min:Size()
Transaq = 0
BuyWay = 0
SellWay = 0
end
if LastPrice ~= frame_60min:C(Index_60min) then
LastPrice = frame_60min:C(Index_60min)
BuySignal(frame_60min, Index_60min)
SellSignal(frame_60min, Index_60min)
if BuySpeed ~= nil and SellSpeed ~= nil then
if LastPrice < BuyPrice and BuySpeed > SellSpeed then
SetCell(t_id, 1, 4, «Buy»)
elseif LastPrice > SellPrice and SellSpeed > BuySpeed then
SetCell(t_id, 1, 4, «Sell»)
else
SetCell(t_id, 1, 4, «None»)
end
end
end
sleep(10)
end
Привет, сегодня вместо традиционного бэктеста разберем площадки, где можно подсмотреть идеи для торговых стратегий. Навеяно постом Eugene Logunov о литературе для алго-трейдера https://smart-lab.ru/blog/627444.php Теперь у нас есть методики, но где взять идеи? :)
Наши предыдущие бэктесты хоть и адаптированы под Россию и имеют отличия в реализации – все равно основываются на ранее выявленных закономерностях в США/Европе. Сразу скажу, что речь пойдет об исследованиях в открытом доступе. Если на работе/в университете есть доступ к EBSCO или Science Direct, то вы и сами знаете, где все посмотреть.
Зачем вообще читать академические ресерчи, если фонд LTCM показал, что кол-во цитирований и премий спорно соотносится с успехом на рынке?
Хорошие ресерчи дают базовые идеи о том, что и почему работало в прошлом, на каких стадиях и почему перестало. Да, в них есть реализация или дизайн исполнения, но обычно он сырой и его всегда можно поменять, сохранив базовую идею. В отличие от дискуссий в рунете, очень сложно опубликовать что-то без пруфов, а проверка устойчивости не ограничивается t-статистикой > 3. Сам текст хорошо структурирован, методика либо объясняется полностью, либо ссылается на такой текст. Авторы в основном исследователи, которые выполняя свою работу попутно дают подсказки практикам. Но встречаются и практики, например, аналитики хедж фонда AQR сейчас главные поставщики контента по факторным стратегиям или ученые Dimson и Ibbotson, которые параллельно пишут исследования для инвестиционных банков. Если желание почитать что-то заумное осталось, то сформулируйте идею/биржевую аномалию, которую хотите проверить (например, покупка акций с наибольшими дивидендами) и возвращайтесь к этому тексту.
-- -- Выполнение действий с массивами. -- local pairs = pairs local type = type module(...) --- Создать копию массива (таблицы) -- @return копию массива (таблицы) function copy(array) local copy_array = {} if type(array) ~= "table" then return array end for k, v in pairs(array) do if type(v) == "table" then copy_array[k] = copy(v) else copy_array[k] = v end end return copy_array end --- Узнать, начинается ли индексация в массиве с нуля или с единицы. -- @return 0 или 1 function base(array) if array[0] ~= nil then return 0 else return 1 end end --- Вычислить число элементов в массиве. -- @return число элементов в массиве function size(array) local n = 0 for _, _ in pairs(array) do n = n + 1 end return n end --- Проверить пустой или нет массив. -- @return true/false function isEmpty(array) for _, _ in pairs(array) do return false end return true end --- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1. -- @return первый индекс массива, где ничего не записано function firstEmptyIndex(array) local i = 1 while array[i] ~= nil do i = i + 1 end return i end