Биржевая торговля по трендам. Как заработать, наблюдая тенденции рынка
Шрифт:
Малвени заключает: «Из эмпирических данных можно извлечь два урока. Изменения цен на финансовых и товарных рынках практически не коррелируют между собой и соответственно непредсказуемы. Это правило мартингейла: лучший прогноз завтрашней цены – это сегодняшняя цена. Это совершенно не означает, что создание прибыльной системы невозможно, а говорит лишь о том, что средняя величина дохода не может быть оценена заранее, в строгом эконометрическом смысле. Это наблюдение лежит в основе стратегии максимизации прибыли. В противоположность ей систематическое изъятие прибыли с рынка, т. е. установление ее целевых показателей, – это форма оценки средней величины, что необосновано. С другой стороны, волатильность финансовых и товарных рынков изменяется с течением времени и демонстрирует автокорреляцию. Повторные возникновения сходных показателей имеют тенденцию к образованию кластеров с течением времени. Волатильность, как правило, имеет циклическое проявление, таким образом, для финансовых рынков характерны периоды стабильности и волатильности. Обычно за значительными изменениями цен следуют также значительные изменения, а за небольшими – небольшие, но с противоположным знаком. Это позволяет разработать модели прогнозирования волатильности. Это означает, что в таких моделях мы действительно можем оценивать волатильность прибыли, выявляя зарождающиеся тренды, когда изменения цен превышают прогнозируемую оценку волатильности и начинают формироваться статистические “выбросы”» (Пол Малвени, директор по информационным технологиям Mulvaney Capital Management Ltd).
Приложение D Пример торговой системы из Trading Recipes
Тестирование на основе исторических данных включает в себя определение размера позиции и разработку стратегии управления риском, соответствующую вашему уровню терпимости к убыткам.
– Эд Сейкота [261]
В этом приложении мы рассмотрим, как трейдер может создать простую механическую систему следования тренду на основе программного обеспечения Trading Recipes Portfolio Engineering Software.
Мы начнем с широкого взгляда на трейдинг по системе, который отражает многие идеи, изложенные в этой книге. Мы создадим гипотетический портфель активов и проведем его тестирование на основе исторических данных вплоть до определенного момента в прошлом. Затем мы детально рассмотрим, каким образом программное обеспечение участвует в торгах, определяет размер позиции и управляет действиями трейдера. Наконец, мы применим тестирование на основе исторических данных ко всем имеющимся у нас данным и проанализируем результаты, полученные с использованием финансового управления и без него.
Пожалуйста, обратите внимание, что эта информация предназначена для иллюстрации идеи; мы не рекомендуем всем при торговле обязательно использовать данную систему, равно как и не предлагаем это в качестве рекомендации для трейдинга.
Информация о системе
Взятая в качестве примера система следования тренду подает сигнал к открытию позиции при пробитии вверх 89-дневного ценового максимума, а к ее закрытию – при пробитии вниз 13-дневного ценовго минимума. В каждых торгах участвует 2 % капитала, и применяется механизм, позволяющий удостовериться в том, что риск не слишком велик. При помощи данной системы управляется небольшой портфель активов на рынке фьючерсов. Состав портфеля – это ключевой фактор доходности при трейдинге, но мы не будем сейчас подробно обсуждать выбор активов, входящих в данный портфель.
В табл. D.1 представлена информация о составе портфеля, взятого в качестве примера.
Таблица D.1. Пример состава портфеля активов
Наш тест включает лишь данные по входящим в состав примера активам; мы не проверяем результаты, полученные в рамках примера, при помощи дополнительных данных. Прежде чем рисковать реальными деньгами на рынке, разумно было бы проверить подобным образом несколько вариантов портфелей.
Элементы системы
Прежде чем анализировать доходность на уровне портфеля, рассмотрим программу, используемую в Trading Recipesдля подачи сигналов открытия и закрытия позиции и определения ее размеров (финансовое управление). Пожалуйста, обратите внимание, что слова, набранные ЗАГЛАВНЫМИ БУКВАМИ, представляют собой элементы языка программирования Trading Recipes, а слова после апострофа – это пояснительные комментарии.
Ежедневно мы рассчитываем следующие показатели:
SYSTEM = 1 ‘ уникальный идентификационный номер для данной системы
COL1 = ATR [15] ’15 дней – средний период волатильности на рынке
MANAGER [1] = COL1 [1] * POINTVALUE ‘денежное выражение этой волатильности
COL2 = MAX [H, 89, 1] + TICK [1] ’ пробой 89-дневного максимума для открытия длинной позиции
COL3 = MIN [L, 13, 1] – TICK [1] ’ пробой 13-дневного минимума для закрытия длинной позиции
COL4 = MIN [L, 89, 1] – TICK [1] ’ пробой 89-дневного минимума для открытия короткой позиции
COL5 = MAX [H, 13, 1] + TICK [1] ’ пробой 13-дневного максимума для закрытия короткой позицииПоскольку наша система ежедневно отслеживает ситуацию на каждом рынке, она будет ожидать ценового «пробоя» для открытия позиции (длинной или короткой):
BUYSTOP = COL2 ‘ сигнал об открытии длинной позиции SELLSTOP = COL4 ‘ сигнал об открытии короткой позиции
Если система подает сигнал к открытию позиции, она также, следуя правилам для определения размера позиции, указывает, сколько контрактов (фьючерсов) или акций должно быть куплено или продано. Из приведенных ниже правил будет видно, что мы рискуем 2 % капитала на каждом тренде. Однако наш консервативный стиль торговли проявляется в том, что мы торгуем меньшим количеством контрактов, которое рассчитывается как 2 %, деленных на новый риск (определяемый как выраженная в долларах абсолютная стоимость величины [входа-выхода]), или 2 %, деленных на удвоенное денежное выражение среднего периода волатильности 15 дней.
STARTUP CASH = 1000000 ‘ стартовая сумма – $1 млн
STARTDATE = 19910101 ‘ данные рассматриваются для периода 10 лет
ENDATE = 20011231
MEMORY [1] = (TOTALEQUITY *.02) / NEWRISK ‘ риск равен 2 % от капитала / риск торговли в денежном выражении
MEMORY [2] = (TOTALEQUITY *.02) / (MANAGER [1] * 2) ‘ риск равен 2 % от капитала / волатильность в денежном выражении
IF MEMORY [1] < MEMORY [2] THEN MEMORY [2] = MEMORY [1] ‘ должно содержать меньшее из двух значений МЕМ2
IF MEMORY [2] > 100 THEN MEMORY [2] = 100 ‘ не открывайте слишком большую позицию
NEWCONTRACTS = MEMORY [2] ‘ для определения размера позиции используйте значение МЕМ2При наличии открытой позиции наша система следования тренду будет дожидаться критического уровня потерь для подачи сигнала о закрытии позиции (длинной или короткой):
SELLSTOP = COL3 ‘ сигнал о закрытии длинной позиции BUYSTOP = COL5 ‘ сигнал о закрытии короткой позиции
Торговля канадским долларом
Рассмотрим торговлю канадским долларом, чтобы проследить на конкретном примере, как наша торговая система подает сигналы об открытии и закрытии позиции и определяет ее размер.
Четырнадцатого декабря 1994 г. курс канадского доллара пробил линию 89-дневного минимума (как иллюстрирует линия в середине графика цены). Поскольку в нашей системе следования тренду заложен сигнал о продаже после такого периода непрерывного падения цен, указание было выполнено и открыта короткая позиция (см. график D.1).
График D.1. Открытие короткой позиции 14 декабря 1994 г.
На графике линия, расположенная выше линии цены, показывает уровень установленного «стоп-лосса» (соответствующего 13-дневному максимуму). При наличии открытой позиции Trading Recipesсравнивает ежедневную динамику курса с этой линией. В тот день, когда график цены коснется этой линии, как это произошло 31 января 1995 г., система подает сигнал о закрытии позиции и формируется приказ о покупке, чтобы компенсировать потери.
Как был определен размер позиции? Рассмотрим наши правила исчисления величины позиции, исходя из уровня капитала в момент подачи сигнала о входе в рынок.
При закрытии биржи 13 декабря 1994 г. наш капитал составлял $2 205 963. При определении размера позиции для торговли канадским долларом наша система рассчитывает следующие показатели (обратите внимание, что изменение курса канадского доллара на 1,0 в нашем примере эквивалентно $100 тыс. в стоимостном выражении):