Я предлагаю некоторые мысли на тему, которая интересует многих трейдеров. Я также приведу некоторые основные моменты тестирования в качестве примера того, какой вид результатов можно ожидать.
Если у вас уже есть определенный опыт технической торговли, то вы без сомнения слышали о понятии торговой программы. Идея проста, но выполнение может представлять определенную сложность. Торговые программы можно охарактеризовать следующим образом: программное обеспечение торгует за вас.
Это - программное обеспечение, которое вы пишете самостоятельно, нанимаете кого-то для его написания или покупаете уже готовое у другого индивидуального или корпоративного автора. Основные принципы, заложенные в программу для открытия и закрытия позиций, могут быть как достаточно просты, вроде движения цены выше или ниже Скользящей средней и занимать не более 50 - 100 линий программных кодов, так и невероятно сложными, вроде систем, написанных математиками и использующими системы искусственного интеллекта, которые требуют десятки тысяч линий программирования.
Последние стоят миллионы долларов и требуют довольно большого штата программистов для обслуживания системы. Трудно получить много информации от торговых домов, хеджевых фондов и других рыночных игроков, которые используют такие системы, и в то же время они немного сообщают о том, какова их торговая прибыль (или потери), полученная при торговле на таких торговых программах. Мы можем только предположить, что они производят достаточно прибыли, чтобы стоить тех расход на обслуживание и усовершенствование этих больших систем.
Как я начала тестирование
Что такое тестирование? Это просто, когда вы программируете идею, например, идея идти в длинную позицию, когда цена закрывается выше Скользящей средней - 50EMA, и затем вы проверяете эту идею, используя прошлые данные. Отчеты о результатах дают вам разнообразную статистическую информацию, включая чистый доход от сделок.
Первая вещь, которую я сделала – это протестировала концепцию CCI (индекс торгового канала), т.е. пересечение средней линии для длинных и коротких позиций. Результаты, которые я получила после этого тестирования, были удивительными! Я должна быть богатой! Я начала мечтать о длинных каникулах на юге Испании и новом мотоцикле, и т.д., но потом я нашла небольшую ошибку программирования в своей программе. Я провела тестирование снова и получила результаты, которые были просто жалкими. Воздушные замки растворились!
За прошлый год, я немного узнала о тестировании и разрушила некоторые прежние стереотипы. Например, я всегда думала, что скользящий стоп-ордер даст намного лучшие результаты, чем система «стоп и разворот», но месяцы тестирования показали мне, что мои ожидания были неправильными. Даже при том, что я использовала сто различных разновидностей скользящих стоп-ордеров, это никогда не давало лучшие результаты, чем простой метод «стоп и разворот». Это меня очень удивило, но факт оставался фактом.
Скажем, вы имеете простую идею: идти в длинную сторону, когда быстрая линия MACD (12, 26, 8) пересекает медленную линию снизу вверх, и идти в короткую сторону, когда она пересекает ее вниз.
1. Вы записываете простую программу и запускаете ее на дневном графике, 120-минутном графике, 60-минутном графике и так далее, вплоть до 5-минутного графика. Затем вы составляете небольшую таблицу результатов, содержащую информацию, вроде числа сделок, процентное соотношение положительных и отрицательных сделок, чистая прибыль или убыток и так далее.
2. После этого вы изменяете сглаживание сигнальной линии от 8 до 6, и, используя MACD (12, 26, 6) повторно проводите тестирование. Если результаты хуже, вы возвращаетесь и пробуете увеличить сглаживание сигнальной линии и повторно проводите тестирование, используя MACD (12, 26, 10). Если результаты улучшаются, вы продолжаете увеличивать сглаживание, пока результаты не прекращают улучшаться. Медленно, вы изменяете это число, и, возможно, медленную и быструю длину MACD, пока вы не получите сочетание параметров индикатора и временного масштаб графика, которое дает вам наилучшие результаты.
Даже при том, что это звучит невероятно утомительным, и, иногда, это так и есть. Вы имеете конечное количество чисел для использования, и вы только должны найти правильную комбинацию этих чисел, чтобы максимизировать свою прибыль. Вы также имеете концепцию тестирования программы продвигающую вас вперед. Эти тестирования могут занять от 10 секунд для дневного графика до нескольких минут при проведении того же самого тестирования на 5-минутном графике. Это потому, что дневной график может дать 60 сделок для тестирования, в то время как 5-минутный график может дать 1.200 сделок в течение того же самого периода времени.
Когда первый набор тестирований сделан, вы можете прийти к выводу, что, например MACD (11, 17, 6) дает лучшие результаты при торговле на рынке акций IBM на 15-минутном графике. Превосходно! Вы теперь можете сидеть перед монитором весь день, каждый день, и торговать акциями IBM, используя этот индикатор в качестве одного из ключевых инструментов. Затем, вы замечаете кое-что интересное: пересечение линиями MACD средней линии также дает хороший сигнал для входа в рынок.
3. Вы немного изменяете свою программу, так чтобы открывать длинную позицию по акциям IBM, когда линии MACD пересекаются вверх и затем добавляете к длинной позиции, когда эти линии пересекают среднюю линию. Проводите тестирование и смотрите полученные результаты.
4. Еще идеи: как насчет тестирования только пересечения средней линии? Результаты получаются лучше? Что относительно перемещения стоп-ордеров на уровень безубыточности, как только цена перемещается в вашем направлении на определенное количество пунктов.
Эти типы тестирований ограничены только вашим воображением. Но вы можете возразить, что это также ограничено вашей способностью программировать. И как вам быть, если вы не достаточно сильны в этом. Действительно, это может представлять небольшую проблему, но некоторые торговые платформы, которые позволяют программировать торговый процесс и проводить тестирование на прошлых данных, имеют сотни уже написанных программ, шаблонов, которые содержат большинство программных кодов и даже автоматизированное программное обеспечение, которое задает вам ряд вопросов и затем создает программу для вас.
Тем не менее, имейте в виду, что тестирование на прошлых данных является достаточно скользким моментом. Я могу получить потрясающие результаты, проверяя какую-нибудь идею относительно рынка акций IBM, но ужасные результаты при тестировании этого на акциях MSFT. Вне зависимости от того, какая у вас идея, это будет работать намного лучше с одними типами рыночных инструментов, чем с другими. Я должна была постараться разработать систему торговли для ES, но, в течение многих месяцев, я была расстроена лучшими результатами при проведении тестирования на KLAC, одной из моих тестируемых акций.
Вот некоторые моменты, на которые я обратила внимание при тестировании:
1. Никогда не предполагайте что-либо. Эти тестирования предназначены, чтобы остановить вас от формирования предположений. При тестировании, не пропускайте шагов; те параметры, которые вы пропустили, могут дать вам самые лучшие результаты.
2. Проводите свои тестирования на ряде рыночных инструментов и сочетайте их так, чтобы у вас были как очень волатильные инструменты, так и инструменты с низкой изменчивостью. Ваша какая-нибудь идея может ужасно работать на высоко изменчивых инструментах типа ES, но чрезвычайно хорошо на медленных инструментах вроде МО.
3. Рассматривайте программирование своих идей так, чтобы вы закрывали все позиции в конце дня. Я пришла к выводу, что самые большие потери произошли из-за ГЭПов, иногда почти 40% общих потерь от всего тестирования.
4. Имейте в виду, что вы тестируете строго буквально какую-нибудь идею. Это означает, что, в отличие от того, когда вы торгуете сами, машина не знает, что не надо идти в длинную сторону на сильном сопротивлении, а только при прохождении выше его. Все, что она знает – это то, что поступил автоматизированный сигнал и должно последовать действие.
5. Совмещайте свои идеи. Две не очень хорошие идеи могут стать великолепным инструментом для торговли, когда используются вместе.
При тестировании какой-нибудь идеи, я рекомендую попробовать следующие варианты:
• перемещайте стоп-ордер на уровень безубыточности, как только ваша позиция двинулась на положительную территорию.
• тестируйте со скользящими стоп-ордерами. Каждый раз, как цена закрывается на определенное количество пунктов в вашем направлении, перемещайте стоп-ордер на такое же количество пунктов. Некоторые системы торговли хорошо работают таким образом.
• проверяйте идею относительно твердой прибыли. Фиксируйте прибыль сразу же, как только ваша позиция приносит определенное количество денег.
Последнее замечание принесло мне некоторые из моих лучших результатов. Часто происходит следующее: у вас возникает идея, которая дает вам замечательный вход и часто приносит вам некоторую прибыль, но рынок забирает большую часть из этой прибыли в результате быстрого разворота.
Так, например, вы тестируете с несколькими лотами, но всегда сразу забираете прибыль, как только получаете 2 пункта на ES. Вы упускаете большую прибыль, но все эти небольшие прибыли складываются в итоге в достаточно большую. Или, вы закрываете часть позиции с прибылью в 2 пункта, и даете оставшейся части расти дальше. Число вариаций бесконечно и только ограничено вашей фантазией и терпением.
Несколько примеров тестирования
Я написала небольшую программу, чтобы протестировать базовую концепцию, о которой многие слышали – торговля на пересечении Скользящих средних.
Пример 1:
Основная предпосылка: идти в длинную сторону, когда Скользящая средняя - 13EMA пересекает 21EMA снизу вверх и идти в короткую сторону, когда 13EMA пересекает 21EMA сверху вниз.
Критерии тестирования: никаких стоп-ордеров, простая методика торговли SAR (стоп и разворот), данные за 60 дней, сырые результаты, никакого включения затрат на спрэд или комиссионные.
Объект тестирования: ES, используя 1 контракт; сделка заключается на закрытии периода, когда подается сигнал; результатом является число полных пунктов со сделки
120-минутный график
сделок: 7
результат: -27.50
процент выигрышных сделок: 14.28
60-минутный график
сделок: 12
результат: +116.75
процент выигрышных сделок: 50
30-минутный график
сделок: 39
результат: +106
процент выигрышных сделок: 38.46
Глядя на результаты, вы видите, что 120-минутный график показывает очень плохие результаты. Давайте взглянем на график, чтобы посмотреть, что произошло. Красные зоны показывают продолжительность коротких позиций, а зеленые показывают продолжительность длинных позиций.
120-минутный график ES за 3 месяца
Итак, наши результаты вводят в заблуждение, потому что 120-минутный график не захватывал длинную распродажу в январе, как это сделал 60-минутный график. Это происходит из-за 60-дневного ограничения внутри-дневных данных, и, следовательно, 120-минутный график не получил сигнала от пересечения Скользящих средних для этой короткой позиции. После того, как у меня появится возможность использовать годовой объем внутри-дневных данных, я повторно проведу тестирование моих торговых программ, используя намного больший объем данных.
Пример 2:
Основная предпосылка: идти в длинную сторону, когда Скользящая средняя 9EMA пересекает 17EMA снизу вверх; идти в короткую сторону, когда 9EMA пересекает сверху вниз 17EMA.
Критерии тестирования: никаких стоп-ордеров, простая методика торговли SAR (стоп и разворот), данные за 60 дней, сырые результаты, никакого включения затрат на спрэд или комиссионные.
Объект тестирования: ES, используя 1 контракт; сделка заключается на закрытии периода, когда подается сигнал; результатом является число полных пунктов со сделки.
120-минутный график
сделок: 7
результат: +17.75
процент выигрышных сделок: 42.85
60-минутный график
сделок: 16
результат: +149.50
процент выигрышных сделок: 50
30-минутный график
сделок: 30
результат: +96,25
процент выигрышных сделок: 50
ES 60-минутный график за 3 месяца
Вы смотрите на эти результаты 60-минутного графика и думаете - «Класс!» Однако не забывайте: это только данные за 60 дней. Это выглядит многообещающим, но я хотела бы видеть минимум годового значения перед тем, как потирать руки. Однако, это действительно будоражит воображение у всех нас, не так ли?
Тестирование сделок 9EMA/17EMA на 60-минутном графике ES
Затем идет график и непосредственно сделки для этого тестирования. Обратите внимание, что чрезвычайно хороший результат получается из-за большой начальной прибыли от снижения в января 2003г. Тестирование 30-минутного графика имело вдвое больше сделок, но более низкую прибыль, указывая, что, поскольку большее количество сделок было взято для статистического анализа, то прибыль могла начать сглаживаться.
С этого момента, вы можете продолжить тестирование, используя различные Скользящие средние по длине и по виду (экспоненциальные, простые или взвешенные) и используя стоп-ордера и так далее. Вы можете использовать тестирование, чтобы узнать, как хорошо ваши сигналы работают в действительности, или это через какое-то время поможет вам создать «Святую чашу Грааля»: автоматизированную систему торговли, которая в течение определенного периода времени, приносит деньги. Позвольте мне повторить последнюю часть снова – «в течение определенного периода времени приносит деньги».
60-минутный график ES при тестировании на пересечение Скользящих средних
Каждая система торговли работает хорошо в одних условиях и плохо в других. В течение определенного периода времени, скажем 6 месяцев, простая система может принести вам 3.000 $, но, в течение первых 4 недель, вы можете получить спад в 1.500$ из-за рыночных условий. Если вы запрограммируете систему торговли и затем запустите свою программу, чтобы начать автоматически торговать, вы должны быть уверенны, что, через какое-то время, она будет приносить вам деньги, даже когда вы в ужасе наблюдаете за потерями в те первые 4 недели. Чтобы иметь уверенность в своей системе, вы должны провести многочисленные тестирования, которые покажут вам, что, через какое-то время, вы будете делать деньги.
Вероятность
Даже доскональное тестирование не является гарантией будущих результатов, потому что рыночные условия в течение прошлых 3 лет, возможно, полностью отличались от условий, с которыми вы столкнетесь в следующие 3 года. Однако, тестирование является единственным способом узнать об этом, и, пока вы понимаете, что нет никаких гарантий, вы можете, по крайней мере, чувствовать себя несколько комфортней от того, что вы имеете некоторые цифры в основе своих торговых идей.