<< Пред. стр.

стр. 4
(общее количество: 46)

ОГЛАВЛЕНИЕ

След. стр. >>

РАБОЧИЕ ИНСТРУМЕНТЫ
30 ЧАСТЬ I



рекцию ошибок, что облегчает хранение надежной большой базы данных.
Среди известных поставщиков данных на конец дня с товарных бирж
можно отметить Pinnacle Data Corporation (800-724-4903), Prophet Financial
Systems (650-322-4183), Commodities Systems Incorporated (CSI, 800-274-
4727) и Technical Tools (800-231-8005). Внутридневные исторические дан-
ные, необходимые для тестирования систем, можно приобрести у Tick Data
(800-822-8425) и Genesis Financial Data Services (800-621-2628). Трейдерам,
ведущим дневную торговлю, следует также обратить внимание на Data
Transmission Network (DTN, 800-485-4000), Data Broadcasting Corporation
(DBC, 800-367-4670), Bonneville Market Information (BMI, 800-532-3400) и
FutureSource-Bridge (800-621-2628); эти поставщики предлагают быстрые
котировки в реальном времени, необходимые для успешной дневной тор-
говли. Данные о других источниках котировок можно найти у Мэрдера
(Marder, 1999), сравнительный обзор поставщиков данных на конец дня
естьуНайта (Knight, 1999).
Данные не обязательно покупать у коммерческих поставщиков. Иног-
да их можно получить непосредственно с места событий — различные
биржи порой поставляют данные потребителям напрямую. Данные по
опционам можно найти в Интернете на сайте Чикагской торговой биржи
(СВОТ). Когда вводится новый контракт, биржа публикует всю актуаль-
ную информацию по данному контракту. В некоторых случаях это — един-
ственный способ получить доступ к данным быстро и дешево.
В конце концов необъятное количество баз данных может быть най-
дено в Интернете с помощью броузера или ftp-клиента. Сейчас практи-
чески все доступно в онлайне: например, министерства финансов под-
держивают базы данных по экономическим показателям и индикаторам
циклов деловой активности. NASA — замечательный источник для все-
возможных солнечных и астрономических данных. Национальный центр
климатических данных (NCDC) и Национальный центр геофизических
данных (NGDC) предлагают данные о погоде и геофизические показате-
ли. Для любителя путешествовать по Сети найдется необъятное изоби-
лие данных в самых разнообразных форматах. Здесь, впрочем, лежит
другая проблема — для поиска нужен некоторый уровень умения и, воз-
можно, навыки в программировании и написании скриптов, а также много
времени на поиск, переформатирование и очистку данных. Поскольку
«время — деньги», лучше всего положиться на поставщика данных с хо-
рошей репутацией для приобретения основных котировок и использо-
вать Интернет и другие источники для получения более экзотических и
труднодоступных данных.
Дополнительные источники данных также включают базы, доступ-
ные в библиотеках и на компакт-дисках. ProQuest и другие профессио-
нальные базы с возможностью получения полного текстового содержа-
ния часто бывают доступны в общественных библиотеках, так что дан-
ные можно скопировать на принесенную с собой дискету. Не забывайте
ГЛАВА 1 ДАННЫЕ 31



о периодических изданиях, таких как Investor's Business Daily, Barton's и
The Wall Street Journal; они могут быть замечательными источниками не-
которых видов информации и во многих библиотеках доступны в виде
микрофильмов.
Наиболее удобно хранить данные в ASCII-текстовом формате. Этот
формат легко конвертируется и читается разнообразными приложения-
ми — от текстовых редакторов до программ построения графиков.
ГЛАВА 2

Симуляторы



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


ВИДЫ СИМУЛЯТОРОВ

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


ПРОГРАММИРОВАНИЕ СИМУЛЯТОРА
Вне зависимости от устройства (интегрированный или основанный на
компонентах симулятор) в него должна быть введена логика системы, ис-
пользуемой пользователем. Язык программирования может быть или мно-
ГЛАВА 2 СИМУЛЯТОРЫ 33



гоцелевым языком программирования, как C++ или FORTRAN, или соб-
ственным языком скриптов программы. Без содействия формального язы-
ка невозможно выразить торговые правила системы с достаточной для
симуляции точностью. Необходимость в программировании того или ино-
го вида не следует рассматривать как неизбежное зло — пользователь
может приобрести много опыта, поскольку программирование заставля-
ет выражать свои идеи упорядочение и целенаправленно.
В качестве примера программирования логики торговой системы рас-
смотрим TradeStation, популярный интегрированный пакет от Omega
Research, содержащий интерпретатор для собственного языка програм-
мирования, называемого Easy Language, обеспечивающий проведение
тестов на исторических данных. Easy Language — собственный язык фир-
мы, основанный на Pascal (многоцелевом языке программирования). Как
выглядит простая торговая система, запрограммированная на Easy
Language? В качестве примера предлагаем код для системы простого пе-
ресечения скользящей средней:

{Простая система пересечения скользящей средней в Easy Language}
Inputs: Len(4); {параметр длины скользящей средней)
If {Close > Average{Close, Len)) And
{Close[1] <= Average(Close, Len)[1]} Then
Buy ("A") 1 Contract At Market; {покупает на открытии следующего дня}
If (Close <= Average(Close, Len)) And
(Close[1] > Average{Close, Len}[1]) Then
Sell ("B") 1 Contract At Market; {продает на открытии следующего дня}


Эта система открывает длинную позицию (один контракт) при открытии
на следующий день, когда цена закрытия пересекает скользящую сред-
нюю вверх, и короткую позицию (один контракт), когда цена закрытия
пересекает скользящую среднюю вниз. Каждому приказу присваивается
имя или идентификатор: А — на покупку, В — на продажу. Длина сколь-
зящей средней (Len) может задаваться пользователем или оптимизиро-
ваться программой.
Ниже та же система, запрограммированная на языке C++ с помощью
набора инструментов C-Trader от Scientific Consultant Services, в состав
которого входит торговый симулятор C++:
//простая система пересечения скользящих средних в C++
len = parms[l]; // параметр длины скользящей средней
if (cls [cb] > Average(cls, len, cb} &&
cls [cb-1] <= Average(cls, len, cb-1))
ts.buyopen ('A', 1); // покупает на открытии следующего дня
if (cls[cb] <= Average(cls, len, cb) &&
cls [cb-1] > Average(cls, len, cb-1))
ts.sellopen ('B', 1); // продает на открытии следующего дня


За исключением синтаксиса и обозначений, различия в применении C++
и EasyLanguage невелики. Наиболее важны сноски на текущий бар (cb) и
на данный симулируемый торговый счет или ссылку на класс симулятора
ЧАСТЬ I РАБОЧИЕ ИНСТРУМЕНТЫ
34



(ts) в версии на C++. Так, на C++ можно использовать любое количество
симулируемых счетов; это важно при работе с портфелями и метасисте-
мами (системами, управляющими счетами другой системы) и при разра-
ботке моделей, включающих скрытую адаптацию с движением вперед.


ВЫХОДНЫЕ ДАННЫЕ СИМУЛЯТОРА
Все хорошие торговые симуляторы создают выходные данные, содержа-
щие разнообразную информацию о поведении моделируемого счета.
Можно ожидать получения данных по чистой прибыли, количеству при-
быльных и убыточных сделок, максимальным падениям капитала и про-
чим характеристикам системы даже при использовании самых простых
симуляторов. Более продвинутые программы предлагают отчеты по мак-
симальному росту капитала, среднему благоприятному и неблагоприят-
ному движению рынка, статистическим оценкам и т.д. и т.п., не говоря
уже о детальном анализе индивидуальных сделок. Высокоуровневые си-
муляторы могут также включать какие-либо показатели соотношения
прибыли и риска, например годовое соотношение риска/прибыли (ARRR)
или отношение Шарпа — важный показатель, широко используемый для
сравнения эффективности различных портфелей, систем или фондов
(Sharpe, 1994).
Выходные данные торгового симулятора обычно представляются
пользователю в виде одного или нескольких отчетов. Два основных вида
отчетов представляют собой обзор эффективности и детальный отчет по
каждой сделке. Информация, содержащаяся в этих отчетах, может помочь
трейдеру оценить «торговый стиль» системы и определить, годится ли она
для реальной торговли.
Возможно формирование и других видов отчетов, которые могут вклю-
чать разнообразную информацию, генерируемую программами, как пра-
вило, в виде электронных таблиц. Почти все таблицы и графики в этой
книге были построены именно так: выходные данные симулятора пере-
носились в Excel, где обрабатывались и форматировались для представ-
ления в законченном виде.


Отчеты об эффективности системы
В качестве примера итогового отчета об эффективности системы, мы при-
готовили два отчета, полученных при тестировании уже упоминавшейся
системы пересечения скользящей средней. Табл. 2-1 представляет собой
отчет о системе, написанной и проработанной на TradeStation, а табл. 2-2 —
отчет о системе, созданной с помощью C-Trader. В обоих случаях параметр
длины скользящей средней был установлен равным 4.
ГЛАВА 2 СИМУЛЯТОРЫ 35



Таблица 2—1. Отчет о эффективности системы пересечения скользящей
средней (TradeStation)
BOOK_CH5 SP.LNG-Daily 01/01/91 - 01/01/96

Обзор эффективности: Все сделки
Общая чистая прибыль $ -15625,00 Прибыль/убыток открытых позиций $ 75,00
Валовая прибыль $ 280350,00 Валовый убыток $ -295975,00

Общее # сделок 362 Процент прибыльных 40%
Число выгодных 146 Число убыточных 216

Максимальная прибыльная $ 14800,00 Максимальная убыточная $ -5750,00
Средняя прибыльная $ 1920,21 Средняя убыточная $ -1370,25
Средняя пр./ср. убыточная 1,40 Средняя сделка {приб. и уб.) $-43,16

Макс. прибыльных подряд 6 Макс. убыточных подряд 10
Ср. # баров в прибыльной 5 Ср. # баров в убыточной 2

Макс. внутридневное
падение капитала $ -50650,00
Фактор прибыли 0,95 Макс. # контрактов на руках 1
Требуемый размер счета $ 50650,00 Прибыль со счета -31%

Обзор эффективности: Длинные позиции
Общая чистая прибыль $ 42300,00 Прибыль/убыток открытых позиций $ 0,00
Валовая прибыль $ 173075,00 Валовый убыток $ -130775,00

Общее # сделок 181 Процент прибыльных 48%
Число прибыльных 87 Число убыточных 94

Максимальная прибыльная $ 14800,00 Максимальная убыточная $ -5750,00
Средняя прибыльная $ 1989,37 Средняя убыточная $ -1391,22
Средняя пр./ср. убыт. 1,43 Средняя сделка {приб. и уб.) $ 233,70

Макс. прибыльных подряд 9 Макс. убыточных подряд 7
Ср. # баров в выгодной 5 Ср. # баров в убыточной 2

Макс. падение капитала
за день $ -17225,00
Фактор прибыли 1,32 Макс. # контрактов на руках 1
Требуемый размер счета $ 17225,00 Прибыль со счета 246%

Обзор эффективности: Короткие позиции
Общая чистая прибыль $ -57925,00 Прибыль/убыток открытых позиций $ 75,00
Валовая прибыль $ 107275,00 Валовый убыток $ -165200,00

Общее # сделок 181 Процент прибыльных 33%
Число прибыльных 59 Число убыточных 122

Максимальная прибыльная $ 8125,00 Максимальная убыточная $ -5675,00
Средняя прибыльная $ 1818,22 Средняя убыточная $ -1354,10
Средняя пр./ср. убыт. 1,34 Средняя сделка (приб. и уб.) $ -320,03

Макс. прибыл?^ных подряд 3 Макс. убыточных подряд 10
Ср. # баров в выгодной 5 Ср. # баров в убыточной 2

Макс. падение капитала
за день $ -65625,00
Фактор прибыли 0,65 Макс. # контрактов на руках 1
Требуемый размер счета $ 65625,00 Прибыль со счета -88%
36 РАБОЧИЕ ИНСТРУМЕНТЫ
ЧАСТЬ I




Таблица 2—2. Отчет об эффективности системы пересечения скользящей
средней (C-Trader)

ОБЗОР ДЛЯ СИМВОЛА SP
В ВЫБОРКЕ (В): С 910601 ДО 960101 ВНЕ ВЫБОРКИ (ВНЕ): С 960101 ДО 970108 ТЕСТОВ:1

В
В В ВНЕ ВНЕ ВНЕ
Корот. Длин.
Всего Длин. Всего Корот.
Описание
362 71
181 35
Число сделок 181 36
138 17
83 55 33
Число приб. 16
216 122
Число убыт. 94 38 18 20
6 3
7 4 5 3
Макс. приб. подряд.
10 7 10 6 4 4
Макс. убыт. подряд.
1562 834 728 337 195 142
Всего баров
843 529 314 210 140
Приб. баров 70
698 295 403 127 55 72
Убыт. баров
4 4 5
Средн. баров в сделке 4 4 3
6 5 8
Средн. в приб. сделке 6 6 4
3 3 3 3
Средн.в убыт. сделке 3 3
38 45 30 46 48 44
Процент приб.
-15625 42300 -57925 35800 45975
Общий доход -10175
Общ. дох. прибыльных 280350 107275 111225
173075 156875 45650
Общ. дох. убыточных -295975 -165200 -65250
-130775 -121075 -55825
8575 44600 4025 49875
Макс. капитал 47175 12425
-43125 -12675 -62650 -22350 -14300
Мин. капитал -20425
Макс. подъем 40300 57200 18775 68075 62725 28675
Макс. падение капитала -50650 -17225 -65625 -28875 -17600 -20425
2262 2444 2026 5634 7108
Станд. откл. сделки 3498
-320 1313
Средн. приб. /убыт. -43 233 504 -282
6542
1950
Средн. прибыльная 2085 4753 2853
2031
Средн. благопр. движение 2205 5573 4736
2195 2215 5149
-3625
-1354
Средн. убыточная -1370 -1391 -3186 -2791
-1439 -1427 -2921 -3416
Средн. неблагопр. движение -2440
-1450
Макс. прибыльная 14800 23150
8125
14800 23150 8600
16950 15375 29050
Макс. благопр. движение 16950 29050 20075
Макс. убыточная -5750 -5750 -5675 -8300 -8300 -5450
-8500 -8500 -5675 -10125
Макс. неблагопр. движение -10125 -8250
148 144 180 102
Средн. приб. /убыт. * 100 149 149
94 132 64 129 170 81
Фактор прибыли* 100
Годовая прибыль, $ -3404 -12622 35032 44988
9217 -9956
-7 -37
Годовая прибыль, % 31 120 251 -49
-18 0 40 0 0
Отношение Шарпа* 100 0
112
Т -критерий* 100 -36 129 -213 76 -49
2682
Т- вероятность* 10000 4469
7160 1974 340 6211
2682
4469
7160 1974 340 6211
Вероятность ОС*10000
СИМУЛЯТОРЫ 37
ГЛАВА 2



Большинство отчетов разбивают данные на показатели для длинных
позиций, коротких позиций и всех позиций вместе. Кроме того, указыва-
ются прибыль, риск и стиль торговли. Факторы прибыли включают при-
быль от всех прибыльных сделок, максимальную прибыль в одной сделке
и среднюю прибыль в одной сделке. Факторы риска включают убыток от
всех убыточных сделок, максимальный убыток в одной сделке, средний
убыток в одной сделке и максимальное падение капитала, находящегося
на моделируемом счете. Факторы риска и прибыли отражаются на пока-
зателях общей прибыли (или общего убытка) системы во всех сделках,
средней прибыли (убытка) в одной сделке, соотношения средней прибыль-
ной и убыточной сделок, фактора прибыльности (общей прибыли, делен-
ной на общий убыток) и общего дохода (за год или без определения вре-
мени) моделируемого счета.
К таким факторам также относятся общее количество сделок, коли-
чество прибыльных сделок, количество убыточных сделок, максималь-
ное количество последовательных прибылей и убытков и среднее коли-
чество баров в прибыльных и убыточных сделках. В отчетах также при-
водятся критические для оценки системы показатели прибыли, риска и
стиля торговли.
Хотя все отчеты обеспечивают анализ системных показателей при-
были, риска и стиля торговли, между ними существуют принципиальные
различия. В некоторых отчетах, пытаясь объединить максимальное коли-
чество информации в минимальном объеме, умножают значения на 10,
чтобы не ставить десятичные точки, и располагают цифры в виде табли-
цы. В других используются менее сокращенные наименования, не округ-
ляются и не масштабируются значения и форматируются выходные дан-
ные в виде более или менее классических отчетов.
Различия в формате менее важны, чем в собственно заключениях. Эти
различия возникают из-за разнообразия подходов и определений, зало-
женных в системах. Например, количество прибыльных сделок может по-
разному определяться на одних и тех же данных различными системами
ввиду разного определения прибыльности. Некоторые симуляторы счи-
тают выгодной сделку, в которой прибыль/убыток равны нулю; другие
считают выгодными только сделки с положительным балансом. Это раз-
личие и влияет на подсчет сделок и на значение средней прибыльной сдел-
ки, и на соотношение прибыльных/убыточных сделок. Подобным же об-
разом среднее количество дней в сделке может меняться в зависимости
от метода подсчета дней. Некоторые симуляторы включают в подсчеты
входной день, другие — нет. Данные по доходности счета также могут раз-
личаться — например, они могут приводиться к процентам годовых или

<< Пред. стр.

стр. 4
(общее количество: 46)

ОГЛАВЛЕНИЕ

След. стр. >>