Как стать трейдером? Форум Деньги

Конференции 
Александр Горчаков (А. Г.). Об одном методе фильтрации краткосрочных систем
Пользователь: Инфо (IP-адрес скрыт)
Дата: 02.06.2007 21:50

Об одном методе фильтрации краткосрочных систем

Александр Горчаков (А. Г.)

Вместо предисловия


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

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

Сухо, понятно и по возможности кратко. Собственно сам процесс заключался в последних двух пунктах и отражался в куче листов, исписанных формулами, постоянно перечеркиваемыми и исправляемыми. Сейчас мне и проще и сложнее. Нет четких задач, нет и общепризнанной аксиоматики, переводящей проверку найденного решения в плоскость математической логики «истина-ложь». И поиск решения уже сводится не к выводу формулы, а к цепочке нестрогих рассуждений, приводящих к выбору (!) нужной формулы для последующей экспериментальной проверки. Да и само решение в процессе исследования ни раз и ни два подвергается ревизии из-за смены расстановки приоритетов в тех самых нестрогих рассуждениях.

И уже в конце работы я и сам не могу понять, что внесло больший вклад в решение задачи: нестрогие рассуждения или собственно формула(-ы)? И невольно ловлю себя на мысли, что в трудах других авторов все чаще и чаще ищу только ответ на вопрос: почему так, а не иначе? Потому что, только ответив на этот вопрос, можно найти путь к совершенствованию и модификациям, а не к простому копированию. Ведь в нашем деле копирование – это путь в никуда. Поэтому я заранее прошу прощения у тех, кто ждет от моего доклада новых математических открытий, кучи формул и выкладок, у тех, кто хочет иметь готовый алгоритм моей торговой модели. Увы, этого в докладе нет (хотя бы потому, что об идеях своей торговой модели я много раз писал на сайте). Также я прошу прощения у тех, кому не интересны дискуссионные рассуждения о взаимоотношениях «трейдер-инвестор». Но без них я не смогу ответить на вопрос: зачем нужен фильтр? А собственно доклад и посвящен моему ответу этот вопрос и описанию как я строил фильтр. Кому не интересно первое, может не читать первые два раздела, а кому не интересно второе – последующие.

Все течет, все изменяется


Уже готовя этот доклад и в очередной раз просматривая сайт «Как стать трейдером?», я натолкнулся на дискуссию по тематике данного доклада Трендовый фильтр: длина vs глубина просадки и увидел в ней свое сообщение:
Цитата:
Мы обычно делаем так:
1. На основе полученного фильтра строим новую торговую систему без привязки к существующим.
2. С помощью портфельных методов находим в некотором смысле оптимальный портфель систем.
3. Торгуем этот портфель.
Когда я писал этот ответ, это было правдой, но «Его Величество» рынок тем и интересен, что зачастую преподносит нам сюрпризы, заставляющие отказываться от любых догм. И причиной тому стали неудачные результаты коротких системных позиций с 14 июля по 12 октября 2006-го года. Не секрет, что шортовые системы на нашем растущем рынке на порядок хуже лонговых по любому соотношению «доходность-риск», а потому их постоянное использование существенно ухудшает соотношение «доходность-риск» кривой доходности. Конечно, если на участках тестирования попадаются периоды а-ля октябрь 1997-октябрь 1998-го в России или март 2000-март 2003 в США, то результат будет иным, но ожидание таких периодов может привести к очень негативным последствиям для счета.

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

И еще надо учитывать при ответе на вопрос: играть или не играть шорты постоянно, метод оценки средним инвестором своей доходности. Этот метод прост: средний инвестор выбирает максимум доходности из альтернативных вложений по принципу: «вложил и забыл» (шорты в данном случае к счастью для управляющего исключаются). Поэтому, вытерпев некоторое время Ваш «проигрыш» его «доходности» и забыв о предшествовавших «победах», средний инвестор в случае затяжной полосы «поражений», проголосует ногами.

Практически слово в слово данные рассуждения относятся и к «плечам». Безусловно, ограничение риска приводит к отставанию доходности управления от стратегии «купил и держи» на поступательных ростах. И чтобы ограничить время отставания в эти, в среднем более долгие по сравнению с падениями, периоды, «плечи» были бы очень кстати. Но если их играть постоянно, то в периоды убытков они неизбежно приведут к увеличению размера (но не времени) просадки, что естественно увеличит Ваш «проигрыш» «доходности» инвестора и также может оказаться критичным для дальнейшего сотрудничества.

Вывод напрашивается сам собой: если Вы рассчитываете на массового инвестора, то постоянное использование шортов и «плечей» в одном эмитенте – это не для Вас.

Какой же выход из создавшегося положения? Их два:

1. Диверсификация по:
- торговым системам «только лонг», зарабатывающим и(или) не сильно проигрывающим при разных состояниях рынка (например, диверсификация по трендовым системам, зарабатывающим на трендах разной длины, между трендовыми системами и стратегиями типа «торговли волатильностью» и т. п.);
- видам финансовых инструментов (долговые инструменты, акции, покупка (не продажа!) опционов);
- финансовым рынкам разных стран.
2. Создание фильтра(-ов) шортов и плечей.

Отметим, что из перечисленного в п. 1 полностью избавит Вас от головной боли только качественное решение первой задачи. Две другие лишь уменьшают вероятность наступления «неблагоприятного события»: длительного «проигрыша» «доходности» среднего инвестора. Собственно это я и написал в сообщении, приведенном выше. Но жизнь не стоит на месте и на мою «повестку дня» встала вторая задача. Почему? Об этом в следующем разделе.

Почему краткосрочные системы?


Чем дольше я исследую трендовые (и только трендовые) торговые системы для акций России, США и Германии со средним временем в позиции от 2-х дней и больше (эта нижняя граница определяется соображениями трудоемкости исполнения), тем больше убеждаюсь в том, что набор лучших соотношений «доходность-риск» среди всех систем с заданным средним временем в позиции и одинаковым небольшим проскальзованием (~ среднеквадратичное отклонение дневных приращений, деленное на 10) имеет ярко выраженный локальный максимум в одной из точек от 2 до 5 дней для любого эмитента.

Также к достоинствам таких краткосрочных систем можно отнести четкие и комфортные ограничения на риск в одной сделке, что приводит к существенно более низким просадкам при их подневном расчете и сравнительно быстрый выход из этих просадок. Это очень немаловажно, если учесть то, что отчетность перед инвесторами производится не посделочно, а за период. И если, долгосрочная система, не дай Бог, просидит часть этого периода «против» сильного движения рынка, то никакие объяснения о прибыльности текущей сделки Вам не помогут.

Собственно два этих замечания и привели меня к выводу, что решение первой задачи из перечисленных в п. Диверсификация из предыдущего раздела очень сильно зависит от «краевых условий». Потому что задача оптимизации соотношения «доходность-риск» диверсифицированного портфеля и задача снижения вероятности длительной серии «проигрышей» диверсифицированного портфеля «доходности» инвестора, если и не «противоположны», то, как минимум, «перпендикулярны». В первом случае, как правило, получается портфель из лучших систем со средним временем в позиции 2-5 дней, во втором до 30% портфеля начинают занимать системы со средним временем в позиции от 7 и более дней, в результате чего соотношение «доходность-риск» такого портфеля становится в лучшем случае сравнимым с аналогичным соотношением для одной из систем первого портфеля (у портфеля краткосрочных систем это соотношение, как правило, гораздо выше).

Т. е., выигрывая в стабильности размера стоимости чистых активов под управлением, мы проигрываем на долгосрочном периоде в соотношении «доходность-риск», что при первом падении на 15*СКО дневных приращений и более процентов (обычный размер нормальной коррекции даже на долгосрочном росте), приводит и к чистому проигрышу по доходности нашего управления по сравнению с оптимальным портфелем краткосрочных систем. А при комиссионных от дохода инвестора к тому же и напрямую бьет по карману управляющего.

Как же «скрестить ежа с ужом»? Постановка задачи в данном случае лежит на поверхности:

надо играть на оптимальном портфеле краткосрочных систем:
- шорт+лонг с уменьшенным объемом, на тех среднесрочных(!) состояниях рынка, когда шорты прибыльны (за период),
- лонг с плечом на тех среднесрочных состояниях рынка, когда прибыль лонга выше средней (за период),
- лонг с уменьшенным объемом или аут в оставшихся случаях.


Дело «за малым», но самым трудным: построить прогноз будущего среднесрочного состояния рынка, т. е. ни что иное, как фильтр.

Как Вы видите, из предложенных в упомянутой дискуссии вариантов ответов:

Цитата:
Вопрос к тем, кто это прочитает - как поступаете Вы:
1. Используете фильтр с описанными недостатками (уменьшение доходности, еще сильнее уменьшение просадки, в обмен на увеличение ее длительности – прим. мое)
2. Используете какой-нибудь другой метод фильтрации, практически лишенный этих недостатков.
3. Не используете фильтр и наслаждаетесь более психологически комфортной системой
4. Другое

30 июня 2006-го я уверенно выбрал п. 4, подразумевая под этим решенную задачу диверсификации по системам (см. О построении оптимальной торговой системы из набора систем ). Но сейчас выбираю п. 2. П. 1, как я объяснил выше, тоже мне не подходит, потому что важна не только глубина, но и время просадки.

Как строить фильтр?


Правильнее было бы озаглавить этот раздел «Как я строил фильтр», но так как упоминание «я» в заголовках не принято, то, поразмыслив, остановимся на заголовке-вопросе, потому что, строгого доказательства, что какой-либо алгоритм построения фильтра оптимален, вероятней всего, не существует в природе.

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

Однако в моем случае на основе анализа сделок одной из краткосрочных систем удалось найти другую характеристику. Простейший анализ сделок показал, что если вход в лонг происходил накануне (система у меня работает по внутридневным стоп-приказам), а на следующий день была белая свеча и рост цены High+Low (как я отмечал здесь приращения именно этих цен наиболее сильно коррелируют с приращениями средневзвешенных цен), то с вероятностью больше 0,8 этот лонг закрывается с прибылью. И наоборот, если выход из лонга происходил накануне, а на следующий день была черная свеча и падение цены High+Low , то с вероятностью больше 0,8 вход в следующий лонг происходил дешевле. Так как в 90% случаев входы в лонг происходили в дни, когда наблюдалась белая свеча (это просто правило системы) и рост цены High+Low (это, скорее всего, следствие того, что система трендовая), а такая же доля выходов из лонга в дни, когда наблюдалась черная свеча (это тоже правило системы) и падение цены High+Low, то естественной характеристикой среднегосрочного состояния рынка для лонгов становится число дней за период (о длине этого периода чуть ниже), когда в этот день и накануне наблюдались белые свечи (это просто правило системы) и рост цен High+Low , а для шортов, соответственно, число дней за период, когда в этот день и накануне наблюдались черные свечи (это тоже правило системы) и падения цен High+Low .
Доказать, какой из двух приведенных классификаторов лучше, вероятней всего, невозможно. Но к очевидным преимуществам второго классификатора можно отнести то, что в отличии от направления среднесрочного тренда с помощью моего классификатора постфактум можно выявить как периоды одновременной прибыльности лонга и шорта, так и периоды их одновременной убыточности.

Да и само сравнение классификаторов постфактум не дает внятного ответа на вопрос «что лучше?», потому что не учитывается объективная временная задержка при переходе от классификатора к прогнозу будушего среднесрочного состояния рынка. Поэтому я ограничился экспериментальным сравнением уже готовых фильтров, взяв в качестве классификатора направления среднесрочного тренда позицию лучшей из известных мне торговых систем со средним временем в позиции больше 10 дней. Но о результатах эксперимента чуть позже.

Итак, формула предлагаемого классификатора выглядит для лонгов следующим образом

http://www.howtotrade.ru/image/agkimage/image001.gif,
I(M) – индикатор события M,

а для псевдошортов (т. е. когда новый лонг открывается дешевле цены продажи предыдущего)

http://www.howtotrade.ru/image/agkimage/image002.gif

Если предположить, что последовательность B(t)=I((Closet-Opent )<0) представляет собой последовательность Бернулли (т. е. последовательность независимых испытаний) с вероятностью успеха равной http://www.howtotrade.ru/image/agkimage/image003.gif (случай «эффективного рынка») и вероятность http://www.howtotrade.ru/image/agkimage/image004.gif равна http://www.howtotrade.ru/image/agkimage/image003.gif, то L(m,N) и S(m,N) представляют собой ни что иное, как число биграмм (1,1) в последовательностях Бернулли с вероятностью успеха равной http://www.howtotrade.ru/image/agkimage/image005.gif и для среднего и дисперсии этих величии справедливы формулы:

http://www.howtotrade.ru/image/agkimage/image006.gif

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

Чтобы можно было пользоваться нормальным приближением, я положил N=50 и от значений L(m,N) и S(m,N) перешел к значениям
http://www.howtotrade.ru/image/agkimage/image007.gif и http://www.howtotrade.ru/image/agkimage/image008.gif,
где http://www.howtotrade.ru/image/agkimage/image009.gif- функция распределения стандартного нормального закона.

А для того, чтобы придать больший вес последним значениям цен от этих величин перешел к их взвешенным средним:
http://www.howtotrade.ru/image/agkimage/image010.gif
http://www.howtotrade.ru/image/agkimage/image011.gif

И, наконец, в качестве прогноза значений EP(L,m) и EP(S,m) на следующий день m после окончания торгов в (m-1)-й день я использовал величины EP*(L,m) и EP*(S,m), получающиеся заменой в приводившихся формулах цен Openm, Highm, Lowm, Closem, на цену Closem-1.

Собственно фильтр на объем лонга (!) я строил в два этапа. Прежде всего, обозначим состояния рынка:
1 – лонги играются с увеличенным объемом;
0.5 - лонги играются с уменьшенным объемом;
0 – лонги не играются.

На первом этапе была построена функция f(m) по следующему правилу:

http://www.howtotrade.ru/image/agkimage/image012.gif

Однако эта функция в качестве фильтра оказалась не слишком пригодна из-за сравнительного большого числа «ошибочных входов и выходов», т. е. краткосрочных (на 2-3 дня) смен состояний с возвратом в старое состояние. Поэтому был использован фильтр на смену состояния функции f(m) опять с использованием уже введенных величин. А именно, в качестве фильтра была взята функция F(m)

http://www.howtotrade.ru/image/agkimage/image013.gif

Ну и наконец последней особенностью применения построенного фильтра является то, что собственно его применение начинается со следующей сделки по краткосрочной системе.

Результаты экспериментов


Итак мы получили фильтр для объема лонга краткосрочной системы. В принципе сам фильтр легко преобразуется в среднесрочную торговую систему по правилу: если F(m)=1 и F(m-1)<1, то по закрытию m-1 дня открывается лонг и если F(m)<1 и F(m-1)=1, то по закрытию m-1 дня лонг закрывается.

Как мы обещали выше, наряду с построенным фильтром, рассмотрим в качестве альтернативного фильтра лучшую из известных мне торговых систем со средним временем в позиции больше 10 дней. Этот фильтр мы будем строить по обратному правилу: если позиция системы на конец дня лонг, то значение альтернативного фильтра на следующий день равно 1, в противном случае значение фильтра положим равным 0.5. Этот фильтр обозначим F1(m).

Сравнение системы с псевдосистемой, построенной при помощи фильтра, показало, что с 03.06.2002 по 30.03.2007 последняя в РАО ЕЭС и Газпроме при близкой максимальной просадке (~20%) имеет в два раза хуже доходность. Т. е. использование фильтра как торговую систему в моем случае бессмысленно.

Оба фильтра мы будем использовать так:
- если значение фильтра 0.5, то в этот лонг (-и) открывается с объемом http://www.howtotrade.ru/image/agkimage/image014.gif,
- если значение фильтра 1, то в этот день лонг(-и) открываем с объемом k,
- если значение фильтра 0, то в этот день лонг(-и) не открываются.

Значение 1<k<2 мы подберем таким образом, чтобы среднедневная доходность исходной торговой системы и фильтрованной совпали.

В качестве меры сравнения возьмем коэффициент Кальмара: среднедневная доходность, умноженная на 255, деленная на максимальную просадку. В качестве проскальзования системы возьмем 0,1% на одну транзакцию (0,2% на сделку), что является реальным проскальзованием для портфеля из 5-6 краткосрочных систем и общим объемом на портфель в РАО ЕЭС или Газпроме ~1 млрд. руб..

http://www.howtotrade.ru/image/agkimage/image015.gif

Как видно из результатов таблицы, применение обоих фильтров улучшило коэффициент Кальмара исходной системы. При этом фильтр F(m) оказался лучше фильтра F1(m) в 2 случаях из 4 и хуже в одном. Также коэффициент k указывает на то, что фильтр F(m) лучше выявляет периоды сильных просадок систем, а фильтр F1(m) - периоды повышенной доходности систем, что говорит о том, что и тот и другой фильтр могут быть улучшены, путем создания комбинированного фильтра..

Перейти: <>
Опции: ОтветитьЦитировать


Тема Написано Просмотров Дата
  Александр Горчаков (А. Г.). Об одном методе фильтрации краткосрочных систем Инфо 23073 02.06.2007 21:50
  Понятие фильтра вводится как само собой разумеющееся BlakBird 2671 18.06.2007 15:28
  Он определен в "Результатах экспериментов" А. Г. 2551 18.06.2007 18:33
  Спасибо(-) BlakBird 2070 19.06.2007 15:53
  Вопросы Hedger 2545 17.06.2007 11:51
  Re: Вопросы А. Г. 2379 17.06.2007 18:25
  Дополню А. Г. 2468 18.06.2007 07:31
  Спасибо за исчерпывающие ответы. Hedger 2315 18.06.2007 16:42
  Re: Спасибо за исчерпывающие ответы. А. Г. 2322 18.06.2007 18:28
  По поводу модели в ссылке Static 2571 20.06.2007 12:46
  Ответы А. Г. 2618 20.06.2007 12:56
  Я имел в виду вопрос: Static 2536 20.06.2007 17:31
  Ни к какой А. Г. 3655 20.06.2007 18:37
  Re: Спасибо за исчерпывающие ответы. Hedger 2262 18.06.2007 21:48
  Re: Спасибо за исчерпывающие ответы. А. Г. 2286 18.06.2007 21:58
  А уровни определяются постфактум?(-)(-) Hedger 2165 18.06.2007 23:00
  Нет А. Г. 2617 19.06.2007 09:58
  Спасибо. Это я и хотел уточнить.(-) Hedger 2277 20.06.2007 10:49


Эта тема закрыта.
Как стать трейдером? Форум создан Инфо с Phorum.

Rambler's Top100