d9e5a92d

Короток М. - Параболическая система

Параболическая система (Parabolic system), иногда именуемая системой Stop and Reverse (SAR), так же как и описанная в предыдущем номере журнала система индикаторов направленного движения, является продуктом изощренного ума Вилдера. (Wilder, J. Welles)
Параболическая система это самостоятельная торговая система с входами и выходами, основанными на скользящих стопах. Выход из длинной позиции осуществляется по скользящему стопу и является одновременно входом в короткую позицию.

Точно так же выход из короткой позиции осуществляется по скользящему стопу и является одновременно сигналом к открытию длинных позиций.
Торговые системы такого типа, с одновременным закрытием позиций в одну сторону и открытием их в другую, называются реверсивными, что и отражено в одном из названий системы Stop and Reverse (стоп и переворот).
Скользящими стопами (trailing stop) называют стопы, значения которых двигаются вслед за движением цен в сторону открытой позиции. Если речь идет о длинной позиции, то при росте цен скользящий стоп, размещенный на некотором удалении от цен внизу, также движется вверх. Однако когда цены начинают двигаться против открытой позиции вниз, скользящий стоп остается на максимально высоком достигнутом уровне и срабатывает в случае пересечения его ценой, обеспечивая фиксацию прибыли.

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

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

Это ускоряющееся приближение стопа к ценам и придает этому виду скользящего стопа его характерное графическое начертание, давшее ему название параболический.
Таким образом, общая идеология этой системы, с точки зрения ее автора, состоит в том, что время это враг открытой позиции. Чем большее время система находится в рынке, имея открытую позицию, тем больше рисков она на себя при-нимает.
Нельзя не отметить тут некую непоследовательность Вилде-ра его параболическая система всегда имеет открытую позицию в силу реверсивного характера системы.
Для того чтобы лучше понять, как работает параболический стоп, разберем его формулу. Как я отметил выше, для описания скользящего стопа надо знать два его аспекта точку первичного размещения и алгоритм дальнейшего движения.
В качестве точки первичного размещения для длинных позиций в параболическом стопе используется минимальное значение цены акции за время нахождения в предыдущей короткой позиции. Для вновь открываемой короткой позиции точкой первичного размещения стопа будет максимальное значение цены за время нахождения в предыдущей длинной позиции. На рис.

1 точки 1 и 2 показывают образование точек первичного размещения стопа для коротких позиций, точки 3 и 4 для длинных позиций.
Очевидно, что для самого первого сигнала на открытие позиции такой подход невозможен. В этом случае берется, в зависимости от направления первого трей-да, или максимальное или минимальное значение предыдущего бара.
Логика первичного размещения параболического стопа очевидна и безупречна прохождение цены выше (ниже) предыдущего максимума (минимума) означает, как правило, пробой важной линии сопротивления (поддержки) и ошибочность выбранной позиции.
Алгоритм дальнейшего движения параболического стопа описывается формулой:
SARb = SARp + AF * (H - SARp)
для длинных позиций;
SARs = SARp + AF * (L - SARp)
для длинных позиций, где SARb это значение параболического стопа для длинных позиций, SARs значение параболического стопа для коротких позиций, SARp значение параболического стопа на предыдущем баре, H максимальное значение цены с момента открытия текущей длинной позиции, L минимальное значение цены с момента открытия текущей короткой позиции, AF фактор ускорения.


Рассмотрим подробнее эти формулы на примере длинных позиций. При переходе к каждому последующему бару к предыдущему значению параболического стопа прибавляется некая величина, равная AFx(H SARp).

В общем-то, именно эта конструкция суть есть изобретение Вилдера. Как видно, это выражение состоит, в свою очередь, из двух множителей.
Первый из них, фактор акселерации (AF), отвечает за все более ускоряющееся по мере продвижения тренда приближение стопа к ценам. Вычисляется он исходя из значений двух задаваемых параметров шага (step) и максималь
ного значения (maximum). По умолчанию они имеют рекомендованные Вил-дером значения 0,02 и 0,2‘. Первоначальное значение фактора акселерации равно шагу и увеличивается на это же значение каждый раз, когда цена делает новый, за время последней открытой
том обозначены бары, на которых происходило увеличение фактора акселерации.
Постепенное увеличение фактора акселерации в ходе тренда приводит к тому, что с каждым новым максимумом скользящий стоп сближается с ценами



Рис. 1
под все более острым углом. Сравните, к примеру, наклон параболического тренда на рис.

2 в областях значений фактора акселерации 0,02 и 0,2.
позиции максимум. После того как фактор акселерации достиг максимального значение (0.2 по умолчанию), он перестает увеличиваться и в дальней-



Рис. 2
При параметрах, заданных по умолчанию, фактор акселерации достигает своего максимума после 10 новых максимумов в ходе повышающего тренда
шем имеет все время одно и то же рав ное максимальному значение.
Соответственно, после этого момента скользящий стоп начинает приближаться к ценам с максимально возможным для него в данной ситуации ускорением, и малейший откат цен вниз вызывает немедленную фиксацию полученной прибыли. В то же время, если цены продолжают штурмовать новые вершины, стоп по-прежнему находится ниже цен и не препятствует их движению вверх.
Таким образом, чем большее значение шага задается в параметрах параболического стопа, тем быстрее будет сближаться стоп с ценами и тем чаще он будет срабатывать. Уменьшение значения этого параметра дает тренду больше простора для развития, но в то же время большая часть уже заработанной в ходе тренда прибыли будет упускаться в случае начала движения цен в противоположную сторону.

Как всегда необходимо найти разумный баланс между двумя крайностями.
Изменение максимального размера фактора акселерации параболического стопа оказывает меньшее значение на итоговую результативность системы в ходе большинства трендов фактор акселерации не успевает развиться до максимального значения. Тем не менее, варьируя этим показателем, так же можно изменять характеристики стопа чем он меньше, тем более консервативен стоп, тем больше простора дается возможному тренду для развития и тем позже может сработать стоп.
Если фактор акселерации отвечает за ускорение движения скользящего стопа, то правая часть выражения (H
SARp) отвечает за скорость этого движения. На тех участках, где движение в сторону открытой позиции достаточно активно и цены часто делают новые максимумы, увеличивающаяся разница между новым максимумом и предыдущим значением стопа увеличивает скорость движения стопа вверх.

Если же в ходе движения цен наступил период консолидации (на рис. 2 участки цен в областях значения фактора консолидации 0.14-0.16 и 0.2), то постоянно уменьшающаяся разница между стоящим на месте значением максимальной цены, достигнутой в ходе данного трей-да, и предыдущим значением стопа приводит к все более и более замедляющемуся приближению параболического стопа к ценам.
Торговля параболической системы в том виде, как ее описал Вилдер, занятие не очень благодарное. Как и все трендовые системы, она хорошо работает на рынках с длинными и хорошо видимыми трендами.

В то же время на безтрендовых рынках эта система дает много убыточных сделок. Ситуация усугубляется тем, что система не имеет позиции вне рынка и совершает очень много сделок.
В силу трендового характера системы есть смысл при использовании данной системы ставить дополнительные фильтры, обеспечивающие открытие позиций только в направлении основного тренда. В качестве одного из вариантов можно упомянуть систему индикаторов направленного движения. Например, можно открывать длинные позиции в том случае, если параболический стоп дал такой сигнал в мо
мент, когда DX+ больше DX-, а ADRX больше 20. На языке Метастока это выглядит так:
Cross (Close, SAR (0.02, 0.2)) and PD I(14) MDI (14) and ADXR (14) 20
Другой вариант фильтра состоит в том, чтобы покупать только те сигналы вверх, которые происходят выше скользящей средней цены:
Cross (Close, SAR( 0.02, 0.2)) and Close Mov( Close, 50, s)
Сигнал для открытия коротких позиций с таким фильтром будет выглядеть так:
Cross (SAR(0.02, 0.2), Close) and Close Mov( Close, 50, s)
Выход же осуществляется по обратному пересечению параболического стопа с ценой, но уже без всяких условий:
Cross (SAR (0.02, 0.2), Close) для длинных позиций Cross (Close, SAR (0.02, 0.2)) для коротких позиций.
Есть также вариант использования сигналов параболической системы в сочетании с линиями Боллинджера. При этом возможно принятие сигнала против тренда в случае, если цена перед этим существенно отклонялась от срединной линии. Например, можно принять сигнал на покупку, если перед этим цена слишком далеко ушла вниз от срединной линии, попав, таким образом, в зону перепроданости:
Cross (Close, SAR (0.02, 0.2)) and Mov (If(BBandBot (Close, 14, S, 2) Close, 1, 0), 5,s) 0
В данном случае правая часть выражения, начиная от Mov(), проверяет, не отклонялась ли за последние 5 баров цена вниз от простой 14-периодной скользящей средней линии больше, чем на 2 стандартных отклонения. Если это происходило, то расценивалось как состояние перепроданности и возникающий на этом фоне сигнал на покупку от параболической системы принимался.

Естественно, все параметры в выражении можно менять, подбирая оптимальные. Наибольшее влияние на результат оказывает варьирование шириной канала (в примере два стандартных отклонения) и отдаленностью зоны перепроданности от сигнала параболической системы на покупку (в примере пять баров).
С моей точки зрения, как самостоятельная торговая система параболический стоп не представляет особого интереса, даже с учетом возможного применения различных фильтров, отсеивающих часть неудачных заходов. Однако как дополнение к другим торговым системам в качестве скользящего стопа для открытых по другим сигналам позиций этот подход может оказаться важным приобретением.
Кроме того, понимание механизма формирования параболического стопа Вилдера позволяет разрабатывать схожие конструкции самостоятельно. Ниже приведен пример разработанного мною скользящего стопа для длинных позиций, который добавляется к уже разработанным условиям открытия и закрытия позиций:
Step: = 0.02;
Maxm: = 0.2;
Enter.signal: = {условия открытия позиции торговой системой};
Close.signal: = {условия закрытия позиции торговой системой};
Start: = BarsSince (Enter.signal) Bars Since (Close.signal) AND Ref (BarsSince (Enter.signal), -1) Ref (BarsSince (Close. signal), -1);
{определяет первый бар открытой позиции}
Enter.Point: = ValueWhen (1, Start, dose)); {определяет цену закрытия первого бара открытой позции}
SIP: = Enter. Point 3 * ATR (5); {точка начального размещения скользящего стопа удалена от цены закрытия первого бара на утроенный средний торговый диапазон последних пяти баров}
HighestSince.Enter: = HighestSince (1, Start, Close); {определяет последний наибольший максимум, достигнутый ценой в ходе данного трейда}
cum.para.sar: = Cum (If (HighestSince. Enter Ref (HighestSince.Enter, -1), step, 0)); {если достигнут новый максимум, добавляется значение шага}
AF.st: = step + (cum.para.sar ValueWhen (1, Start, cum.para.sar)); {вычисляется значение фактора акселерации}
AF: = If (AF.st maxm,maxm, AF.st); {проверяется, не превысил ли фактор акселерации допустимого максимального значения, если превысил то приравнивается к максимально допустимому значению}
ParaSAR.1: = If (Start, SIP, PREV + AF * (HighestSince.Enter PREV)); {вычисляется значение скользящего стопа} ParaSAR.1
В этом примере я изменил условия первоначального размещения стопа вместо минимума цены за предыдущий период я ставлю стоп на удаление трех средних торговых диапазонов вниз от цены закрытия первого бара трейда. Таким образом, я адаптирую точку первоначального размещения стопа к текущей волатильности рынка.

В дальнейшем все реализовано как и у Вилдера расчет фактора акселерации полностью идентичен. Однако данная конструкция позволяет всем желающим использовать ее для собственных разработок скользящих стопов. Можно менять не только точку первоначального размещения стопа, но и:
- размер шага и максимума, в том числе делая их адаптивными, соотнеся через определенное выражение с каким-либо текущим показателем рыночных условий;
- условия изменения фактора акселерации это совсем не обязательно должен быть именно новый максимум, достигнутый в ходе трейда, возможны и иные варианты. Например, изменение волатильности выше определенного порога, нарастание объема и т. д.;
- величина, к которой применяется фактор акселерации.
Единственное известное мне ограничение связано с отсутствием в языке Метастока операторов, позволяющих определять состояние текущей позиции. В силу этого возникает проблема повторных перезаходов, к которым уже нельзя применить данный скользящий стоп.

Но кто сказал, что работать обязательно надо только в Метастоке?



Содержание раздела