[обратно]

Раздельное тестирование системы: входы, выходы, стопы.

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

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

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

Лучший способ эффективно протестировать любой отдельный элемент торговой системы¾ изолировать его насколько это возможно. Однако изолирование элементов торговой системы значительно сложнее, чем могло бы показаться, потому что торговая система, по определению, состоит из набора взаимосвязанных компонентов. Изменение одного компонента даже на небольшую величину может сильно изменить торговые результаты неожиданным и непредсказуемым образом.

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

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

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

Наравне с тестированием входов тестирование выходов системы имеет не меньшее значение. Хорошим способом проверить доходность выходов могло бы быть вхождение в гипотетические торги случайным образом вне зависимости от направления или времени и одновременное размещение приостановок с использованием стратегии выхода. Если после прохождения 30 или более подобных торгов результаты системы, измеренные совокупным доходом не лучше, чем просто отсутствие убытков, то это будет значить, что стратегия выходов для данной системы должна быть усовершенствована. Однако такой вид тестирования немного лишен смысла, поскольку вхождение не основанное на сигнале системы, а выбранное случайным образом, вовсе не приведет к проверке выходов, а скорее к проверке эффективности стоп сигналов. Случайный вход может произойти где угодно, например на боковом тренде, что реально могло бы и не произойти в случае трендоследящей системы. В таком случае вхождения вероятнее всего не приведут к 50 процентной вероятности получения прибыли, более того затраты на проскальзывание и комиссионные или отсутствие оных могут исказить результаты теста.

Независимое тестирование вхождений, изолированных от выходов, относительно простое, а результаты объективны и легко оценимы, другое дело¾ независимое тестирование выходов. Здесь уже возникают некоторые сложности. Так, например, из-за того что вхождения и выходы часто взаимодействуют непредсказуемыми путями, тесты, разработанные для демонстрации относительных преимуществ различных стратегий выходов, будут находиться под влиянием метода вхождения. Поэтому важно иметь процедуру тестирования, которая давала бы некоторое понимание относительных достоинств различных популярных стратегии выходов. Такая процедура была предложена Лукасом и Лебо в книге “Компьютерный анализ фьючерсных рынков” и приведена ниже.

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

В качестве метода вхождения для тестирования выходов может подойти практически любая оборотная система следования за трендом. Например, система пересечения двух простых скользящих средних (5 дней/10 дней, 5/20, 5/30 и 5/40) в качестве таймера вхождений, или параболическая система. В примере со скользящими средними длинное вхождение будет инициировано пересечением краткосрочной скользящей средней снизу вверх более долгосрочной скользящей средней, а короткое вхождение будет генерироваться противоположным пересечением. Выходами для эталонного теста производительности будут развороты скользящих средних. На открытии торгового дня, следующего за пересечением скользящих средних, автоматически закрывается одна позиция и немедленно инициируется другая, но уже в противоположном направлении. В приведенной оборотной системе все сделки по торговле будут проходить только на пересечениях и никогда между пересечениями, более того все точки вхождения должны оставаться неизменными для более независимого сравнения выходов системы.

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

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

[обратно]