А. Горчаков. Основы моей торговли на фондовом рынке
Re: Технический (статистический) анализ. Механистические торговые системы -- admin3   Форум
Отправлено:
04/03/2004, 20:58:37

Author Profile e-mail автора
Торговая система по ценам закрытия.

В основе моей торговой системы по ценам закрытия лежат следующие постулаты:


  1. Единственной объективной информацией на рынке являются прошлые цены. Поэтому основой не интуитивной торговли могут быть только устойчивые закономерности в ценах или их преобразованиях.

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

  3. Устойчивые закономерности могут быть только в относительных изменениях цен активов, в ценообразовании которых постоянно принимает участие большое количество различных трейдеров, т. е. в ликвидных активах и на сравнительно длинных тайм-фреймах ("часовки", "дневки", "недельки" и т. д.).

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


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

  1. Индикаторы строятся не от цен, а от относительных изменений цен.

  2. Индикаторы строятся на участках, где предполагается, что изменения цен имели одинаковые среднее и стандартное отклонение, т. е. в общем случае "окно" для всех индикаторов является также некоторой функцией от предыдущих изменений цен.


Эти два отличия делают для меня невозможным применение стандартных программ технического анализа типа Metastock, Omega, Wealth-Lab Developer и т. п.. Поэтому в своей работе я, в основном, пользуюсь Excel и лишь иногда для того, чтобы не программировать на языке Basic стандартные статистические процедуры, статистическим пакетом SPSS. А Metastock я частенько использую, как хороший редактор для построения графиков - его графические возможности на порядок превосходят аналогичные возможности Excel и SPSS.

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

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


  • нет смысла закрывать позицию, если отклонение ее только улучшило;

  • если позиция держится дольше среднего времени, то при выявлении одного отклонения в сторону противоположную позиции лучше закрывать 50% позиции и только при отклонении следующего относительного изменения от предыдущих (без учета предпоследнего) закрывать всю позицию.


Оптимизируемым параметром системы является уровень доверия нашего критерия. При этом целевыми функциями оптимизации являются такие параметры, как

  • доля прибыльных сделок (она должна быть не меньше 50% без учета проскальзования и комиссии, иначе торговая система просто вступает в противоречие с заложенными в нее постулатами);

  • отношение средней прибыльной сделки к средней убыточной.


Почему эти параметры, а не традиционные доходность и максимальная просадка счета? Все дело в том, что доходность - интегральный показатель и, если мы взяли для системы реальную закономерность, то она (доходность) должна расти с ростом числа сделок в торговле. Таким образом, мы просто должны прийти к тому, чтобы совершать сделки чуть ли не на каждом "баре", что, во-первых, неудобно, а, во-вторых, как правило, выводит нас на долю прибыльных сделок меньше 50%. Максимальная просадка счета, наоборот, единичное событие в наблюдениях, по которому нельзя сделать какие либо выводы о качестве системы.

Насколько мне известно, ряд исследователей предлагают вместо доходности и максимальной просадки счета оптимизировать средние и стандартные отклонения отношений доходности к доходности стратегии "купил и держи" и просадки счета на просадку счета стратегии "купил и держи" за некоторые периоды, на которые разбивается предыдущая история. Если речь идет о системе "только лонг", то, при сохранении принципа - доля прибыльных сделок не менее 50%, это даже более качественный подход, чем моя оптимизация. Для системы "только шорт" надо в изложенном подходе заменить стратегию "купил и держи" на стратегию "продал и жди". При этом оптимизация будет корректна, если для систем "только лонг" и "только шорт" она производится отдельно, и системы не смешиваются на этапе оптимизации.

Построение уровней открытия-закрытия позиций внутри дня

Моя основная система по ценам закрытия, принципы которой были описаны выше, в настоящий момент строится по ценам закрытия дня. В то же в ценах существует такая достаточно устойчивая закономерность:
если в течение дня цена была выше С*(1+d(1)) (ниже С*(1-d(2))) , где d(i) от нуля до 1, то цена закрытия для больше (меньше) С с вероятностью р(i,d(i)).
Причем вероятность р(i,d(i)), как функция от d(i), непрерывна и неубывает с ростом d(i).

В моем подходе, описанном выше, когда уровень доверия критерия в результате оптимизации выбран, уровень цены закрытия, при котором критерий отвергнет указанную там простую гипотезу, известен до начала следующих торгов и может быть взят в качестве уровня С из предыдущего абзаца. Задав уровень р от 0,5 до 1, мы в силу неубывания функции p(i,d(i)) можем найти такое минимальное d(i), при котором р=р(i,d(i)). И тогда в качестве внутридневного уровня изменения позиции можно взять уровень С*(1+d(1)) или С*(1-d(2)), в зависимости от того, в какой позиции система находилась по итогам предыдущего дня.

В настоящее время остается открытым вопрос выбора р. К сожалению выбор р путем оптимизации на истории не совсем корректен в силу того, что p(i,d(i)), как функция от d(i), вообще говоря, не стационарна и может со временем претерпевать изменения. Поэтому я беру в качестве р=0,75 плюс-минус 0,075 и рассчитываю d(i) по ограниченной истории. А отклонение р от 0,75 берется на основе статистики продолжительностей периодов одинаковых средних и стандартных отклонений на исторических данных, текущего знака среднего относительных изменений цен и продолжительности текущего состояния.

При этом, если в системе "только лонг" сработал уровень С*(1+d(1)) и была покупка, то уровень С*(1-d(2)) становится внутридневным уровнем закрытия всей позиции и наоборот, если сработал уровень С*(1-d(2)) и была продажа (полная или частичная), то уровень С*(1+d(1)) становится внутридневным уровнем возврата в позицию полный лонг.

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

Для чего нужны внутридневные уровни? Это опять связано с двумя закономерностями в относительных изменениях цен.

Во-первых, очень часто после продолжительного роста (или падения) разворот происходит в день, когда цены сильно движутся в направлении, противоположном предыдущему движению и при этом падение (рост) в этот день перекрывает 2-3-х дневное предыдущее изменение цен. Чтобы не терять эту прибыль, в систему и вводятся внутридневные уровни, которые существенно улучшают такой параметр моей системы, как средняя прибыльная сделка, на среднюю убыточную .

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

Портфель для торговой стратегии, основанной на моей системе

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

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

Так как для всех активов предлагается использовать одну и ту же торговую систему, то, наряду с принципами построения и оптимизацией, возникает такой параметр, ухудшающий доходность и просадки счета системы, как проскальзование плюс комиссия - k, который для разных активов может существенно отличаться. Для оптимизированной системы на одном активе можно построить непрерывную убывающую функцию m(a,k), a - тикер актива, представляющую собой отношение доходности системы при заданном параметре k на доходность системы при k равном нулю.

По историческим данным торговой площадки, на которой происходит торговля, для любого актива и заданного объема средств K можно примерно вычислить проскальзование плюс комиссию k(a,K) для данного актива a и объема средств K. В своем торговом портфеле я выбираю доли w(a) таким образом, чтобы величины m(a,w(a)*K(0)), где K(0)- суммарный капитал под управлением,
практически совпадали для всех активов в портфеле ("практически" потому, что k(a,K) мы вычисляем лишь приближенно с какой-то погрешностью).

Ограничение рисков в рамках моей торговой стратегии

Ограничение рисков в рамках торговой стратегии происходит путем введения коэффициента s(t), s(t) от нуля до 1, t - время, на объем открытия новых позиций по активу, т. е. в момент времени t новая позиция по активу a открывается на объем средств равный s(t)* w(a)*K(0).

Коэффициент s(t) рассчитывается на основе свойств ряда относительных изменений стоимости торгуемого портфеля или рыночного индекса. Предполагается, что краткосрочные и среднесрочные отклонения средних в ряде изменений индекса представляют собой колебания относительно долгосрочного среднего, а потому любое отличие среднесрочного среднего от долгосрочного со временем нивелируется. Поэтому s(t) изменяется на основе анализа длительности отклонений среднесрочных средних от долгосрочных на исторических данных. Так, s(t) для лонгов уменьшается либо при относительно длительном нахождении среднесрочного среднего над долгосрочным, либо при пробое среднесрочным среднем долгосрочного сверху вниз. И наоборот s(t) для шортов уменьшается либо при относительно длительном нахождении среднесрочного среднего под долгосрочным, либо при пробое среднесрочным среднем долгосрочного снизу вверх. Остальное время s(t), как правило, равно 1.

В своей торговле я использую уровни для s(t) равные 1, 0,75, 0,5, 0,25.

Однако надо понимать, что ограничение рисков таким образом приводит к одновременному снижению и доходности и просадок счета. И, если при относительно частой смене отклонений среднесрочного среднего от долгосрочного (на нашем рынке это, например, периоды март-сентябрь 2001 и март-сентябрь 2002, июль 2002-ноябрь2003) я существенно обыгрывал свой же системный портфель по доходности, то в периоды бурных продолжительных ростов (октябрь 2002-июнь 2003, ноябрь 2003 - настоящее время) наблюдалось существенное отставание реальной доходности от системной.

Материал подготовлен по просьбе РБК-ТВ.

  Назад |Вперед |Текущая страница
Rambler's Top100