21 октября 2016 в 12:23

Рентабельные системы трейдинга 1x1. Часть 1.

Часть 1: Достижение положительной доходности год за годом. В данном издании «TRADERS» мы начинаем с описания нашей лаборатории трейдинговых систем. Целью автора является проведение аналитического исследования возможных конфигураций, которые могут стать рентабельными в долгосрочной перспективе. В первой части исследования нашему вниманию будет представлена стратегия, основанная на обратимости немецких акций в среднесрочной перспективе. Рассмотрим ее более подробно до достижения оптимизации в определении параметров ее корректировок, посредством которых мы смогли в течение экспериментального периода, составляющего 10 лет, достичь ежегодной положительной рентабельности в размере от 3 до 38%.

Общее описание конфигурации.

Среднесрочная обратимость предусматривает, что цена одной акции имеет тенденцию возвращаться к своему среднему значению. Это может быть успешно проиллюстрировано с помощью использования 3 полос Боллинджера. В первую очередь, определяется средняя полоса. В этих целях рассчитывается простая скользящая средняя в краткосрочной перспективе: индикатор SMA цен закрытия за последние дни. В нашей конфигурации в качестве основного параметра мы будем использовать 20 дней для расчета скользящей средней. Верхняя и нижняя полосы Боллинджера формируются при добавлении (для верхней полосы) или удаления (для нижней полосы) 2 стандартных отклонений в отношении цены закрытия от скользящей средней. Это обеспечивает возможность флуктуации цены в указанном диапазоне. Использование стандартного отклонения приводит к динамическому рассмотрению волатильности. Конфигурация представляет собой нижеследующее: если цена падает ниже нижней полосы, это может быть сигналом того, что стоимость занижается. Таким образом, впоследствии открывается долгосрочная позиция. Мы выходим из данной позиции, когда цена закрытия превышает среднюю полосу. Данная ситуация указывает, что стоимость акции в настоящее время соответствует справедливой стоимости.

На рисунке 1 приведен пример. Полосы Боллинджера отмечены красным цветом, точки входа и выхода отмечены зеленой или красной стрелкой. В данном случае, мы осуществляем выход при достижении средней стоимости. Что касается определения параметров конфигурации, нам необходимо ответить на ряд уточняющих вопросов: какой период нам необходимо использовать для расчета средней и стандартного отклонения? При каком значении стандартных отклонений нижняя полоса Боллинджера должна находиться ниже средней? Будут ли рентабельными значения по умолчанию за 20 дней и 2 стандартных отклонения или следует их адаптировать? Где следует установить предел убытков? Выполнив наш анализ, мы получим ответы на данные вопросы.

Рамки анализа

Ниже определим общие рамки нашего анализа:

• Период эксперимента: стратегия была испытана в течение 2006 – 2015 годов. Выполнение испытаний было связано с моделированием стратегии, оптимально адаптированной к операционному периоду, с помощью фактических цен за данный период и соответствующих параметров с целью достижения соответствующей конфигурации.

• Портфель: к концу 2015 года мы будем использовать акции, которые имеются у нас в DAX, MDAX и TecDAX. Из них, в целом, 110 значений были исключены в связи с отсутствием полной истории цен в течение выбранного экспериментального периода, так как начало эксперимента имело место только после 2006 года. Необходимо учитывать, что в течение периода эксперимента появились новые акции, которые были включены в индексы, но мы не включили их в наш портфель. Сокращенный портфель содержит 84 акции.

• Временной диапазон: ежедневный.

• Ценовые данные: мы используем ежедневные значения, находящиеся в свободном доступе на фондовой бирже XETRA: открытие, максимум, минимум и закрытие. Применялись средства управления капиталом.

• Ставки: 0,1% при купле – продаже ценных бумаг.

• Скольжение: также 0,1% при купле-продаже ценных бумаг.

Конфигурация параметров

В данных рамках параметров конфигурации должны предусматриваться нижеуказанные области:

Размер позиции:

Имеющийся капитал должен быть поровну разделен между 7 и не более чем 20 позициями. Это соответствует капиталу в размере от 5 до 15% акций. В случае менее 7 позиций, риски будут слишком велики. В случае более 20 позиций, слишком высокой будет административная нагрузка.

Сигнал для входа:

a) Сигнал для входа генерируется, когда цена при закрытии падает ниже нижнего предела полос Боллинджера. В данном случае, количество периодов, посредством которых рассчитывается среднее значение полос, должно предусматривать шаги по 5 в диапазоне от 5 до 50 дней. Для отклонений нижней полосы среднего значения, необходимо использовать шаги по 0,5 в диапазоне от 0,5 до 5,0.

б) При желании можно выполнить проверку, добавив ожидание и получив более высокие результаты в области доходности. В этих целях, представим, что сигнал для входа действовал не только в течение одного дня, а до 5 дней подряд.

в) Во избежание слишком быстрого входа на рынок с тенденцией к спаду, требуется дополнительное присутствие определенных дополнительных шаблонов в виде свечей.

Фильтр сигналов:

Во избежание положения среднего значения полос при входе на позицию на уровне немного выше нижней полосы, вход должен выполняться на рыночной тенденции к росту. Для определения наличия тенденции к повышению, мы используем импульс. Мы ожидаем, что на рынке присутствует тенденция к росту, когда импульс выше 0. Проанализируем продолжительность периода действия импульса в случаях роста, равного 10, от 10 до 200.

Классификация

В случае наличия сигналов в период, когда мы располагаем свободным капиталом, у нас есть индикатор – классификатор, который указывает нам порядок работы с сигналами. В качестве индикатора – классификатора мы используем один из нижеуказанных индикаторов: индикатор относительной силы (RSI), индикатор среднего направленного движения (ADX), индикатор товарного канала (CCI), стандартная средняя реального диапазона (NATR), стандартное отклонение, доходность, соотношение Шарпа, волатильность и дистанция в среднесрочной перспективе. Классификатор подлежит расчету в рамках того же периода, в котором производится расчет полос Боллинджера.

Вход:

Покупка производится по цене открытия дня, следующего за днем генерирования сигнала. С помощью ограничений можно дополнительно оптимизировать систему.

Выход:

Выход производится, если цена закрытия превышает среднее значение полос Боллинджера. В данном случае, осуществляется продажа по цене открытия следующего дня. Освобожденный капитал будет доступен для покупки в тот же день.

Ограничение убытков:

Ограничение убытков устанавливается в отношении определенного количества стандартных отклонений ниже цены входа и осуществляется сразу же, когда цена данного дня падает ниже данного значения. Для расчета количества стандартных отклонений, выбирается диапазон от 0,5 до 10,0 с шагом 0,5. Опыт продемонстрировал, что слишком узкий диапазон для установления предела убытков является непродуктивным. Пока мы соблюдаем предел убытков, мы не корректируем его.

Цели, связанные с получением прибыли:

В рамках нашей системы мы не определили цели, связанные с получением прибыли. Данные цели должны быть расположены ниже средних полос Боллинджера, так как в этом случае, мы можем сделать выход в данной точке при любых обстоятельствах.

Временный выход:

Если после определенного числа дней трейдинга мы не видим сигнала к выходу, а также не наблюдаем скачков в пределе убытков, рынок является боковым. В данном случае, мы осуществляем покупку по цене открытия, и, таким образом, освобождается капитал для других позиций. Число дней трейдинга определяется от 1 до 20 дней. Это соответствует максимальному периоду, составляющему 4 недели держания акций.

Результаты оценки

На основе общего описания параметров мы рассчитаем с помощью компьютера наиболее выгодную конфигурацию. Мы сделали упор на создание наиболее стабильной системы трейдинга. Таким образом, мы применили алгоритм PBIL (PBIL = Население на основе пошагового обучения). Вышеуказанный метод поиска включает в себя описания комбинаций показателей /параметров, таких как вектор вероятности («на основе выборки населения»), к которому добавляется оптимизация посредством обучения после нескольких экспериментальных действий («Пошаговое обучение»). В начале оптимизации и управления, все комбинации одинаково возможны. После каждой попытки, вероятность каждого параметра увеличивается только для тех, кто выигрывает.

Пример нашей стратегии подробно демонстрирует определение параметров конфигурации, к которым мы впоследствии добавим еще один элемент. Распределите свои активы в равных частях среди 7 позиций. Если Вы обладаете, например, первоначальным капиталом в размере 140 000 евро, и получили новый сигнал о покупке, Вам необходимо приобрести акции на сумму 20 000 евро. Вы получите сигнал о покупке, когда данная акция закрывает, как минимум, в течение 3 дней ряд ниже нижней полосы Боллинджера; в то же время максимальное ежедневное значение находится ниже уровня открытия предыдущего дня. Таким образом, Вы не выполните слишком быстрый вход на рынок. Нижняя полоса Боллинджера рассчитывается на основании 5 периодов только с 1 стандартным отклонением ниже среднего значения. В качестве фильтров сигналов мы будем использовать импульс, соответствующий более 130 периодам, и будем открывать позицию, если период будет положительным. Классификация основывается на волатильности акций в течение 5 периодов. Предпочтение отдается акциям, обладающим наибольшей волатильностью. Вход и выход осуществлялись по цене открытия дня, следующего за днем сигнала. В качестве предела убытков, использовалось значение, равное 5 стандартным отклонениям (для расчета полосы Боллинджера за 5 периодов) ниже цены входа, которая доказала свои преимущества. Объективная цена не указывается в рамках данной конфигурации. Если цена не достигает среднего значения полос Боллинджера, а также при отсутствии скачка в пределе убытков, по истечении 13 дней с момента генерации сигнала о входе, необходимо осуществить выход по цене открытия (временный выход). Данные параметры оставались неизменными в течение всего экспериментального периода с 2006 по 2015 гг. На рисунке 2 показаны данные о движении капитала (красным цветом) и кривая убытков (синяя линия), полученные в ходе анализа системы в течение вышеуказанных лет с использованием выбранных параметров. На данном примере принимался во внимание первоначальный капитал в размере 100.000 евро. В конце периода, в 2015 году, размер капитала увеличился до 486 690 евро. Были учтены как комиссии, так и скольжения, но, как обычно, не учитывалось снятие денежных средств или списание налогов.

Распределение ежегодной прибыли показано на Рисунке 3. В таблице 1 изложены основные статистические переменные системы. Следует отметить, что почти 93% всех операций по выходу находились в рамках своих средних значений. Только в 0,4% случаев имел место временный выход. Предел убытков, рассматриваемый в качестве «предела катастрофы», был установлен на уровне 5 стандартных отклонений от входа, и имел место только, приблизительно, в 7% случаев.

Заключение

Наш анализ продемонстрировал, что стратегии, связанные с обратимостью в среднесрочной перспективе, могут быть рентабельными в отношении немецких акций. Средняя ежегодная доходность вышеуказанной конфигурации составляет 17%. Максимальные убытки системы составили 16%, они имели место в 2011. Данное значение может быть более выгодным в случае оптимизации портфеля ценных бумаг. В целях сравнения, максимальные убытки в DAX составили около 55% со средней ежегодной доходностью в размере 7% в течение того же периода.

Код системы

Вышеуказанная система может быть описана на языке QuantShare (www.QuantShare.com) следующим образом:

SetSimSetting(_ActivateStopImmediatly, 1);

SetSimSetting(_DisableMMScript, -1);

SetSimSetting(_DisableTradeIfFewVolume, 0);

SetSimSetting(_DisableTradeIfFewVolumeRatio, 10);

SetSimSetting(_ExitWhenReverseEntrySignal, 0);

SetSimSetting(_InitialEquity, 100000);

SetSimSetting(_MarginFactor, 1);

SetSimSetting(_MinPositionValue, 1);

SetSimSetting(_MinShares, 1);

SetSimSetting(_RiskFreeRate, 0);

SetSimSetting(_Slippage, 0.1);

SetSimCommission(_Percentage, 0.1);

SetSimSetting(_NbPositions, 7);

SetSimTiming(_Buy, _Open, 0);

SetSimTiming(_Sell, _Open, 0);

SetSimLongRank(RFun(Close, 5));

SetSimStop(_StopLoss, _Point, 5 * StdDev(5), 0);

SetSimStop(_StopNBar, _Point, 13, 0);

Buy = Mom(130) > 0 && BarsSince(Close >=

BbandsLower(5, 1, _MaSma)) >= 3

&& High < Ref(Open, 1);

Sell = Close > BbandsMiddle(5, _MaSma);

Важные термины

Комбинированный ежегодный доход

комбинированный ежегодный доход или также комбинированный ежегодный коэффициент роста представляет собой ежегодный доход, рассчитываемый на основании первоначального капитала, окончательного капитала и количества наблюдаемых периодов.

Максимальные убытки

соответствуют уменьшению кривой баланса, начиная от точки максимальной прибыли.

Экспозиция

уровень инвестиции. 0% без инвестиций. 100% инвестированного капитала.

Фактор прибыли

коэффициент прибыль/убытки.

Коэффициент Шарпа

комбинированное соотношение риска/компенсации. Устанавливает излишки доходности (доходности после вычета безрисковой ставки, предположим, что в данном случае она составляет 0%) по отношению к стандартному отклонению доходности.

Скольжение

указывает на отклонение между фактической ценой и смоделированным действием.

Стандартное отклонение

статистическая продолжительность. Мера определения рисков, связанных с дисперсией от фактического значения к среднему значению.

Моментум (импульс)

технический индикатор, указывает разницу между фактической стоимостью и стоимостью в прошлом.

Индекс относительной силы

осциллятор, движущийся от 0 до 100. Значения выше 70 интерпретируются как «перекупленность», а значения ниже 30 – как «перепроданность».

Средний индикатор направленного движения

индикатор интенсивности, с помощью которого осуществляется сравнение ежедневных максимумов и минимумов в течение нескольких дней подряд для последующего определения среднего значения.

Индекс товарного канала

осциллятор, созданный для указания преувеличений и, конечно же, депрессий. Отклонение между «обычной» ценой и средним значением делится на 1 среднее отклонение.

Средний реальный диапазон

АТР указывает «реальное значение» изменения стоимости, и рассчитывается как среднее значение максимума разницы между a) максимумом и минимумом, б) максимумом и ценой при закрытии в предыдущий день в) ценой при закрытии в предыдущий день и минимумом.

АТР

используется в сравнениях, где АТР выражен в качестве процента цены закрытия Т

Ссылка на Часть 2

Ссылка на Часть 3

Оставить комментарий
Комментарии
Комментарий отправлен на модерацию.
Не удалось отправить комментарий.