HOME

Испытание стратегий выхода в трендовых системах с использованием случайных входов.

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

Многие исследователи в области системной торговли утверждают, что стратегии выходов более важны и сложны в исполнении, чем стратегии входов (см. бюллетень №40 клуба трейдеров Чака ЛеБо). Так же распространено мнение, что различные элементы торговых систем надо тестировать раздельно, чтобы исключить их взаимное влияние. Так, для тестирования стратегий выходов, из системы исключаются ее сигналы входов, а вместо них используется эталонный, стандартный для всех испытаний и торговых систем, сигнал на вход. В таком случае возникает вопрос, какой эталонный сигнал на вход будет лучше для испытаний, менее зависим от других компонентов системы и наиболее прост в исполнении (что тоже немаловажно). Некоторые исследователи, в частности Jeffrey Owen Katz и Donna L. McCormick (Stocks&Commodities, march 1998), предлагают использовать в качестве стандартного входа, сигнал основанный на генераторе случайных чисел.

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

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

Для реализации метода случайных входов в Омеге ТС, мне показалось возможным использовать следующий алгоритм: Первый сигнал на вход поступает на первом баре графика, каждый последующий сигнал на вход поступает после сигнала выхода системы через случайное количество дней (баров). Диапазон случайных чисел был выбран от 1 до 11. Вот как выглядит один из вариантов такого случайного входа в лонг по закрытию дня на EasyLanguage с использованием генератора псевдо-случайных чисел, имеющегося в арсенале PowerEditor:

Inputs: Len(10), Opt(1);

Vars: Day1(0);

If Day1 = 0 Then Day1 = 1+Round(Random(Len),0);

If (CurrentBar = 1 or BarssinceExit(1) = Day1) and MarketPosition = 0 Then Begin

Buy at Close;

Day1 = 0;

End;

Параметр Opt служит для псевдо-оптимизации системы. Оптимизируя этот параметр в TradeStation, например от 1 до 500 мы получим 500 тестов с различными наборами случайных входов в каждом испытании.

В качестве объекта для испытаний был выбран "Комплекс сигналов выхода" описанный ранее и дневные данные РАО ЕЭС ММВБ. Капитал на сделку 10000, без реинвестирования прибыли, комиссия 0.3%. После псевдо-оптимизации торговой системы с диапазоном оптимизации от 1 до 500 с шагом 1 в отчете оптимизации появились 500 результатов тестов со случайными входами. На рисунке ниже - первые 20 строчек отчета расположенных по убыванию параметра NetProfit, в левом столбце - номер испытания, на котором получен результат.

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

Такой вид кривой мне кажется можно интерпретировать следующим образом: В результате перебора большого количества вариантов произвольных входов можно случайным образом получить как сверхприбыльный исход, так и максимально драматический (загнутые вертикально хвосты в начале и в конце кривой). Однако вероятность таких исходов чрезвычайно мала. Нас должно интересовать, чтобы пологая часть кривой (в данном случае примерно от 25000 до 53000 по оси Y) находилась в области положительных значений, была как можно ближе к прямой линии и имела возможно минимальный угол наклона.

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

Что характерно, такой вид кривой имеют практически все параметры доходности из отчета оптимизации AvgWin/Loss, MaxDrawDown, %Prft и т.д. И оценивать их можно так же.

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

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

(c) konkop 2001

HOME

 

Hosted by uCoz