Часть 2
Тамара ГАЛЯН
В первой части статьи «Создать биржевого робота» мы говорили о создании торговой системы и фондовых индикаторах, сигналы которых можно использовать при совершении операций. Кроме того, мы провели практическое занятие, на котором рассмотрели технологию создания торговой системы. Она состоит из семи этапов (шагов):
- Определение идеи торговой системы.
- Выбор временного интервала.
- Выбор биржевого товара.
- Формулирование метода.
- Проверка метода.
- Тестирование системы.
- Анализ кривой доходности.
В прошлый раз мы прошли три шага, а сегодня настало время завершить путь и сделать оставшиеся четыре. Итак?
Шаг 4. Формулирование метода
Этот шаг, пожалуй, самый серьезный на всем нашем пути.
Как уже говорилось, торговая система ? это набор правил открытия и закрытия торговых позиций. Иными словами, в основе системы лежат торговые сигналы. И сейчас мы выбираем инструменты, помогающие определить момент вхождения в рынок и выхода из него (индикаторы, линии тренда, объемы торгов и т. д.).
Руководитель клиентского направления ООО ?КГ ?Аудит? (представитель ЗАО ?ФИНАМ? в Екатеринбурге) Елена Пономарева советует для начала рассмотреть пример, приведенный на рис. 1. Здесь как источник сигналов на покупку/продажу используется индикатор RSI (8) (индекс относительной силы). Так как нас интересует колебание цен в масштабе одного дня, то период равен 8 часам. На рисунке зеленым и синим цветом обозначены соответственно сигналы на покупку и на продажу. Как они работают, видно из графика.
Специалист отдела риск-менеджмента ИФК ?Еврогрин? Алексей Хижняк вносит некоторые уточнения: «В приведенном выше примере индикатор RSI выбран для периода бокового движения рынка. Из теории теханализа, в достаточной степени подтвержденной практикой, мы можем узнать, что осцилляторы (например, RSI и различного рода стохастики) хорошо работают на боковом тренде, однако в случае сильного направленного движения в ту или иную сторону (восходящего или нисходящего тренда) они выдают ошибочные сигналы. На трендах хорошо работают индикаторы тренда.»
Вот простейший пример работы таких индикаторов, а именно ? скользящей средней (Moving Average ? MA). Возьмем две скользящие средние от цены: одну с большим периодом (например, 12) другую с меньшим (например, 9). Тогда торговый сигнал будет следующим:
Если MA(9)?MA(12), тогда LONG (сигнал на покупку);
Если MA(9)?(12), тогда SHORT (сигнал на продажу).
Как видно, это пример переворотной стратегии, то есть позиция после закрытия меняется на противоположную: после закрытия LONG система встает в SHORT и так далее. Алексей предостерегает от использования такой стратегии в чистом виде. Есть периоды на рынке, когда лучше вообще не торговать ввиду неопределенности тенденции или не открываться против тренда. Поэтому предпочти- тельней несколько усовершенствовать указанную стратегию и добавить к ней несколько фильтров на вход и выход. Например:
- LONG, только если предыдущая цена закрытия больше MA(50) ? это фильтр на вход в длинную позицию;
- SHORT, только если предыдущая цена закрытия меньше MA(50) ? это фильтр на вход в короткую позицию.
Фильтры на выход можно сделать из указанных выше сигналов переворотной системы, только сигналы LONG и SHORT нужно заменить на EXIT SHORT и EXIT LONG соответственно.
СДЕЛАТЬ ТОРГОВУЮ СИСТЕМУ ? ЭТО 10% ВДОХНОВЕНИЯ И 90% ПОТА
? Как забить торговую систему в компьютер
Как замечает Алексей Хижняк, момент формулирования метода ? самый важный и, пожалуй, самый творческий момент в создании торговой системы. На этом этапе мысли, которые возникли у трейдера после визуального анализа графиков, индикаторов и цен, надо перевести на язык, понятный компьютеру. Или попросту ? написать программу, которая выдавала бы сигналы согласно заложенному алгоритму.
Даже если вы не программист, при желании вы сможете справиться с этой задачей. Вам несложно будет освоить один из языков, например EasyLanguage (Omega Research) или язык MetaStock, потому что они сделаны с расчетом на широкий круг пользователей и интуитивно понятны. При этом Алексей советует обратить особое внимание на формулировку правил. Важно, чтобы торговая идея, которую вы хотите использовать в своей системе, была точно переведена на язык торговой системы. Часто бывает, что сформулированное в устной форме правило укладывается в два предложения, а для того, чтобы объяснить компьютеру, чего вы от него хотите, порой приходится поломать голову часок-другой…
Шаг 5. Проверка метода
Проверяем этот метод на графике (см. рис. 2). По результатам 10?15 сделок находим значение профит-фактора ? это отношение валовой прибыли к валовому убытку на длительном промежутке времени. Главное, чтобы прибыль перекрывала убыток.
Шаг 6. Тестирование системы
Теперь более серьезно исследуем систему. По словам Елены Пономаревой, для тщательного исследования системы нужно определить, как меняется стоимость активов в течение продолжительного периода времени (чем длиннее период, тем надежней система). Можно это делать и вручную, и с помощью специальных программ, например MetaStock.
Важно
При создании своей торговой системы каждый инвестор должен учитывать определенные личностные факторы:
темперамент ? какая торговая тактика более приемлема: краткосрочная (несколько сделок в день), среднесрочная или долгосрочная (несколько сделок в год);
терпимость к риску ? что более приемлемо в процессе торговли: частые, но мелкие убытки или редкие, но более крупные;
количество времени, которое планируется посвящать торговле;
торговый капитал ? реализация разнообразных торговых стратегий предполагает различную величину торгового счета;
уровень полученных знаний ? большинство торговых систем строится с использованием методов технического анализа, поэтому необходимы базовые знания в области анализа ценовых графиков;
уровень компьютерной грамотности и аналитические способности.
Чтобы оценка была объективной, необходимо придерживаться следующих норм. Период тестирования при работе на часовых графиках должен быть не менее 1 года, а при работе на дневных ? не менее 5 лет. При этом должно быть проведено минимум 25 торговых сделок.
Шаг 7. Анализ кривой доходности
Для определения эффективности торговой системы нам сначала необходимо рассчитать три основных параметра: прибыль, период окупаемости и просадку. В нашем примере кривая доходности выглядит так, как на рис. 3.
За три месяца мы получили следующие результаты:
Прибыль (Profit) = 10 762 ? 10 000 = 1 762 руб., или 17,6%.
Период окупаемости (самая длинная яма, Maximum Time Draw Down) = 5 недель.
Просадка (самая глубокая яма, Maximum Draw Down): 11000 ? 9700 = 1300 р., или 13%.
Теперьрассчитываем итоговый показатель. Коэффициент успешности (Ку) = Прибыль/ Просадка. Соотношение этих двух величин показывает, во сколько раз итоговая прибыль больше максимального провала, то есть восстановился ли торговый капитал после понесенных убытков. В нашем примере доходность системы составила 17,6%, а максимальная просадка ? 13%, Ку восстановления будет равен 1,35. Это означает, что итоговая прибыль в 1,35 раза больше просадки.
Система считается слабой, если Ку ? 2. Чем этот коэффициент выше, тем лучше система.
Если сравнивать между двумя системами, у которых Ку одинаковые, то выбирается система с наименьшей просадкой. Например, система, дающая 30% годовых с просадкой 5% (Ку = 6), будет лучше, чем система со 100% годовых и просадкой в 16,7% (Ку = 6).
Вместо послесловия
Как заметил Алексей Хижняк, ни один рынок нельзя ?победить? с помощью торговой системы, потому что рынок делают люди, а понять поведение людей с помощью компьютера и тем более предсказать его еще никому не удавалось. Систему можно использовать лишь в помощь при принятии решений. Любая система, сколько-нибудь прибыльная в прошлом, не обязательно окажется прибыльной в будущем, поэтому необходимо постоянно дорабатывать ее. И, как и все гениальное, система должна быть простой и умещаться в спичечной коробке. Чрезмерные ?навороты? системы в итоге приведут к запаздыванию сигналов или их взаимному исключению.