KAN`ский блог Мысли вслух…
  • Июн
    4

    Активные инвестиции, улучшаем результаты Марковица

    Решил намедни перетестировать и формализовать свою торговую стратегию, что из этого получилось смотрим ниже.
    Основной задачей активного управления буду считать улучшение показателей описанных в предыдущей статье Инвестиционные портфели ценных бумаг ( теория Марковица ), при активном управлении будут протестированы входы и выходы, а так же замена фьючерса на индекс на опцион колл.
    Проверку идеи входов/выходов буду проводить на портфеле из 15 наиболее активно торгуемых бумагах на ММВБ, на периоде с 2001 по сегодняшний день. После этого проверю будет ли улучшен результат на RI+золото, если применять стратегию код которой для WealthLab показан ниже.


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;
    using WealthLab;
    using WealthLab.Indicators;

    namespace WealthLab.Strategies
    {
    public class MyStrategy : WealthScript
    {

    protected override void Execute()
    {
    DataSeries maFast = SMA.Series(Close, 7);
    DataSeries maSlow = SMA.Series(Close, 21);
    DataSeries RSISeries = RSI.Series(Close, 14);
    DataSeries sar = Parabolic.Series( Bars, 0.02, 0.02, 0.2 );
    double hb = 0;

    PlotSeries(PricePane,maFast,Color.Red,LineStyle.Solid,2);
    PlotSeries(PricePane,maSlow,Color.Green,LineStyle.Solid,2);

    PlotSeries(PricePane, sar, Color.Red, WealthLab.LineStyle.Dots, 3 );

    ChartPane paneRSI = CreatePane(75,true,true);
    PlotSeries(paneRSI, RSISeries, Color.Navy, LineStyle.Solid, 2);
    DrawHorzLine(paneRSI, 25, Color.Red, LineStyle.Solid, 1);
    DrawHorzLine(paneRSI, 75, Color.Red, LineStyle.Solid, 1);

    for(int bar = 21; bar < Bars.Count; bar++) { if (ActivePositions.Count==0) hb = Math.Max(High[bar],High[bar-1]); if ((maFast[bar] > maSlow[bar])
    & (RSISeries[bar] > RSISeries[bar-1])
    & (sar[bar]<=Low[bar]) & Close[bar]>Open[bar]
    & (hb * 0.94 < Close[bar]) ) { if( ActivePositions.Count < 5 ) BuyAtClose(bar, "MainOpen"); } foreach ( Position p in Positions ) { if ( p.Active ) { if (hb < High[bar]) { hb = High[bar]; } SellAtStop( bar+1, p, Math.Max(sar[bar], hb * 0.94 ), "SAR-Stop" ); } } } } } }

    Итак, идея входов весьма простая: ждём появления растущего рынка (по средним и RSI) и входим в него пятью частями. В качестве стопа будем применять параболик (SAR) и 6% трайлер-стоп.
    На рисунке показан результат исследования по экспериментальному портфелю. Вход осуществляется 50000 рублей, прибыль не реинвестируется, проскальзывание + комиссия 0,2%.
    результат тестового портфеля
    На мой взгляд даже без какой-либо оптимизации получилось весьма не плохо, тренд доходности равномерно растущий, без особых провалов, провал 2008 года отработан на отлично.

    Тестируем на основном портфеле золото+РТС , параметры те же , только комиссия 1 рубль.
    результат основного портфеля
    Картина в целом позитивная, тренд доходности опережает стратегию "Купил и Держи". На графике видны шипы, которые планируется уменьшить с помощью опционов.
    распределение доходности основного портфеля
    Профиль доходности в виде улитки.
    Моделировать применение опционов я не стал, но решил просчитать эффективность на одном полном трейде.

    дата кол-во страйк цена фьючерса цена опциона волатильность событие кредит по опционам кредит по фьючерсам
    26.03.2011 1 c195 199160 6009,51 26 вход 6009,51 199160
    28.03.2011 1 c195 199859,7 6441,66 25,5 вход 6441,66 199859,66
    30.03.2011 1 c195 199734,5 6361,51 25,58 вход 6361,51 199734,54
    01.04.2011 -3 c195 200000 6466,56 24,84 ролирование -19399,68
    01.04.2011 3 c200 200000 3440,47 24,84 ролирование 10321,41
    01.04.2011 1 c200 204098,9 5902,72 24,84 вход 5902,72 204098,89
    04.04.2011 1 c200 204799,6 6463,87 25,41 вход 6463,87 204799,6
    04.04.2011 5 c205 205000 3607,39 25,41 ролирование 18036,95
    04.04.2011 -5 c200 205000 6607,34 25,41 ролирование -33036,7
    12.04.2011 -5 c205 202154,4 2328,42 25,34 закрытие -11642,1 -1010772
    итого расход -4540,85 -3119,31

    Результат вполне ожидаемый, с помощью опционов удалось удержать на 50% больше прибыли. При этом не учитывалось, что ГО по опционам меньше чем по фьючерсам и разницу можно положить на депозит.

    3 комментария
 

3 responses to “Активные инвестиции, улучшаем результаты Марковица” RSS icon

  • ГО по опционам около 34т.р, по фьючерсам 41 т.р.
    Максимальный риск по опционам их суммарная стоимость около 36 т.р.
    Максимальный риск по фьючерам 6,7% (максимальный убыток) их суммарной стоимости около 39 т.р.

  • Легко заметить, если исследовать последнюю операцию покупки, осуществленную практически на самом максимуме, что потери по фьючерсу составили 204799,6 — 202154,4 = 2645,2 , в то время по опциону всего 6463,87-6607,34+3607,39-2328,42=1135,5 (2.3 раза лучше — опять помогло роллирование)

  • Основную стратегию можно изменить следующим образом: RI управлять активно по вышеуказанной стратегии, а золотом пассивно. Но раз в год уравновешивать позиции в соответствии с портфелем.