Избранное трейдера Камиль
Добрый день.
Это шестой пост о возможностях системы OptionSmile.
Предыдущие посты:
По роду деятельности часто присутствую при рекламе тех или иных инвестиционных продуктов. Где говорят о потенциальных доходностях.... А сколько реально приносит Индекс ММВБ исторически мало кто знает.
Но сначала рассмотрим остальной мир (источник cfainstitute.org). Т.е. реальная доходность американского рынка 6,4% годовых.
Перейдем к России. Анализ Индекса ММВБ начнем с 2000 года. Ранее нет смысла, так как нет достоверных баз данных, да и стабильность в экономике появилась не ранее 2000 года.
Итак: используем закрытие года, далее считаем рост индекса ММВБ. RFR – среднегодовая доходность ОФЗ (с дюрацией год), далее темп роста ММВБ как рост индекса минус один.
ММВБ CLOSE |
Года |
Рост индекса ММВБ |
RFR, % |
Лениво бродив по западному интернету, нашел интересную стратегию, которая своими корнями уходит к некоему Larry Connors. Стратегия построена на простом RSI с периодом 2.
Суть ее в следующем:
покупаем индексный ETF, когда значение меньше 15 на закрытии дня (да, это можно сделать без проблем и проскальзываний на всех ликвидных ETF) и продаем, когда клоуз текущего дня выше хая предыдущего (можете придумать свои выходы, стратегия не очень-то чувствительна к выходам).
В общем MR в чистом виде. И в принципе это должно работать на большинстве ETF развитых рынков.
Тестил на Multicharts.Net, код ниже.
using System; using System.Drawing; using System.Linq; using PowerLanguage.Function; using ATCenterProxy.interop; namespace PowerLanguage.Strategy { public class rsi_2_spy : SignalObject { public rsi_2_spy(object _ctx):base(_ctx){} private IOrderMarket buy_order; private IOrderMarket sell_order; private RSI m_RSI; private VariableSeries<Double> m_myrsi; private ISeries<double> Price { get; set; } protected override void Create() { // create variable objects, function objects, order objects etc. buy_order = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy)); sell_order = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell)); m_RSI = new RSI(this); m_myrsi = new VariableSeries<Double>(this); } protected override void StartCalc() { // assign inputs Price = Bars.Close; m_RSI.price = Price; m_RSI.length = 2; } protected override void CalcBar(){ // strategy logic m_myrsi.Value = m_RSI[0]; if (Bars.Close[0]>Bars.High[1]){ sell_order.Send(); return; } if (m_RSI[0]<15){ buy_order.Send(); } } } }
Здравствуйте дорогие друзья!
Тема этого обновления — работа со своей моделью улыбки.
Эту версию мне помог создать Дмитрий Новиков. Помогал с формулой расчета, обсуждали юзабилити, ну и конечно же помог отловить баги и глюки, касаемые модельной улыбки. Мы с ним обкатали 2 версии пока не получилась эта окончательная третья версия. Так что спасибо ему большое за всё.
В текущей версии, на самом деле 2 модели улыбки.
1. Это моя, которой я давно пользуюсь. Нарисована в виде оранжевых маркеров (точек) на диаграмме (1).
Рассчитывал так, брал базу улыбки с 2010 по 2016 годы и рассчитывал относительное отклонение страйков с дельтами 0,1 0,25 и -0,1 от центрального в процентах. Рассортировывал по папачкам, каждая из них это срок сколько осталось до экспирации дней и в каждой из них считал среднее значение. Так я получил среднее отклонение интересующих мне страйков от центрального. А зная волу центрального и сколько дней до экспирации, не сложно высчитать волу страйков с дельтами 0,1 0,25 и -0,1.