<< Пред. стр.

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

ОГЛАВЛЕНИЕ

След. стр. >>

даваться в абсолютном виде.
Разница в содержании отчетов может быть и более значительной.
Некоторые программы просто разбивают данные на результаты корот-
ких позиций, длинных позиций и общие. Другие ведут анализ отдельно
РАБОЧИЕ ИНСТРУМЕНТЫ
38 ЧАСТЬ I




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



Отчеты для каждой сделки

Примеры отчетов для каждой сделки были созданы с использованием си-
муляторов TradeStation (табл. 2-3) и C-Trader toolkit (табл. 2-4). Оба отчета
описывают упоминавшуюся ранее систему пересечения скользящей сред-
ней. Так как рассматривался период с сотнями сделок, и полный отчет
слишком длинный, из таблиц удалены большие объемы текста, помечен-
ные многоточиями. Поскольку данные отчеты представлены только как
иллюстрации, такие пропуски вполне допустимы.
В отличие от отчета об эффективности, дающего общий обзор поведе-
ния торговой системы, детальный отчет, или отчет для каждой сделки,
рассматривает в подробностях каждую из сделок, проведенную с модели-
руемым счетом. Минимальный отчет сопровождает каждую из сделок,
включая даты входа и выхода (и время, если используются внутридневные
данные), цены входа и выхода, позиции (длинные или короткие, количе-
ство контрактов) и прибыль или убыток от каждой сделки. Более обшир-
ный отчет для каждой сделки также будет включать информацию по виду
использованного приказа (стоп-приказ, лимитный или рыночный приказ),
по какой цене торгового дня приказ был исполнен (в начале, при закрытии
или посередине), количество дней в каждой сделке, состояние счета на на-
чало каждой сделки, максимальные благоприятные и неблагоприятные дви-
жения за каждую сделку и состояние счета при выходе из каждой сделки.

Таблица 2—3. Отчет для каждой сделки, выданный TradeStation для системы
пересечения скользящей средней (фрагмент)
BOOK_CH5 SP.LNG-Daily 910103 - 960103

Дата Вид Кол-во Цена Назв. сигнала Приб./убыт. входа Всего

03/13/91 Продаж. 1 511,75 В
03/14/91 К. вых. 1 516,75 А $ -2500.00 $ -2500.00
03/14/91 Покуп. 1 516,75 А
03/18/91 Дл. вых. 1 511,95 В $ -2400.00 $ -4900.00
03/18/91 Продаж. 1 511,95 В
03/25/91 К. вых. 1 507,45 А $ 2250.00 $ -2650.00
03/25/91 Покуп. 1 507,45 А
03/29/91 Дл. вых. 1 517,10 В $ 4825.00 $ 2175.00
03/29/91 Продаж. 1 517,10 В
04/03/91 К. вых. 1 519,85 А $ -1375.00 $ 800.00
04/03/91 Покуп. 1 519,85 А
04/08/91 Дл. вых. 1 514,60 В $ -2625.00 $ -1825.00
04/08/91 Продаж. 1 514,60 В
04/09/91 К. вых. 1 517,75 А $ -1575.00 $ -3400.00
04/09/91 Покуп. 1 517,75 А
04/10/91 Дл. вых. 1 513,15 В $ -2300.00 $ -5700.00
04/10/91 Продаж. 1 513,15 В
04/12/91 К. вых. 1 519,35 А $ -3100.00 $ -8800.00
04/12/91 Покуп. 1 519,35 А
04/22/91 Дл. вых. 1 523,10 В $ 1875.00 $ -6925.00
04/22/91 Продаж. 1 523,10 В
05/02/91 К. вых. 1 519,65 А $ 1725.00 $ -5200.00
Таблица 2—4. Отчет для каждой сделки, выданный С-Trader Toolkit для системы пересечения скользящей средней
(фрагмент)
СДЕЛКИ В ПРЕДЕЛАХ ВЫБОРКИ
Дата Поз. Цена Когда вид Опред. Дата Цена Когда Вид Опред. Баров Приб./убыт Благопр. Неблагопр. Всего
входа входа ордера входа выхода выхода ордера выхода сделки сделки макс. макс.


м
м
492.150
910527 910528 492.150 0 500 1250 0
-1 О В: А:
О 2
м
м
492.150
910528 910607 4550
501.250 6900 500
1 О А: В: 11
О 4550
м
м
910607 501.250 910613 495.300 7525
400
4025
-1 О В: А: 7
О 2975
м
м
910613 495.30 910614 492.200 5975
-1550 3100
0
1 О А: О В: 2
м
м
492.200 910618 496.900 -2350 2825 3625
525
-1 О В: О А: 5
910614
м м
496.900 -2550 2550
910620 491.800 400
1 О А: В: 1075
О 3
910618
м м
491.800 490.650 575 500
910625 1650
-1 О В: А: 1650
О 6
910620


м
м
691.500 960101 692.600 -15625
550 325
1725
1 О А: О В: 8
951225

СДЕЛКИ ВНЕ ВЫБОРКИ
м
м
692.600 960104 700.700 -4050 4050 -19675
1200
-1 О В: О А: 4
960101
м
м
700.700 960108 691.600 -4550 -24225
5100
1 О А: В:
О 5 1675
960104
м м
691.600 -3000
960110 3000
697 .600 1450
-1 О В: А:
О 3
960108 -27225
м
м
697.600 960111 681.000 -8300 8800 -35525
0
1 О А: О В: 2
960110
м
м
681.000 960118 683.000 4300 2325 -36525
-1000
-1 О В: О А: 8
960111
м м
960118 683.000 960216 23150 -13375
729.300 29050 1450
1 О А: В:
О 30
м
м
729.300 960223 727.500 -12475
900 1875
8400
-1 О В: О А: 8
960216
м
м
960223 727.500 960228 2750 -13850
724.750 -1375
1 О А: В:
О 6 5725
м м
724.750 -12925
722.900 925
960305 2525
8125
-1 О В: А: 7
О
960228
м
м
722.900 960308 725.900 -11425
1500 1275
4475
1 О А: О В: 4
960305
м
м
960308 725.900 960311 716.150 4875 -6550
1300
-1 О В: А:
О 4 4875
СИМУЛЯТОРЫ 41
ГЛАВА 2




Как и отчеты об эффективности, отчеты для каждой сделки могут быть
представлены по-разному и могут основываться на различных определе-
ниях вычисляемых показателей.
Если отчет об эффективности обеспечивает обзор всего «леса», то от-
чет о каждой сделке заостряет внимание на отдельных «деревьях»: в хо-
рошем отчете каждая сделка рассматривается детально. Каковы были
максимальные отрицательные переоценки открытой позиции, какова
была бы прибыль при идеальном выходе и какова была «настоящая» при-
быль (или убыток) моделируемой сделки, была ли торговля достаточно пос-
ледовательной, были ли новые сделки лучше или хуже более старых, как
можно использовать опыт худших сделок для улучшения системы — вот
вопросы, на которые нельзя ответить при обзоре только общей эффек-
тивности системы. Кроме того, отчет по каждой сделке может быть до-
полнительно обработан в виде таблицы, например для построения гисто-
грамм (Sweeney, 1993). Гистограммы могут показать, какая часть потен-
циальных прибылей фиксируется при использовании данной стратегии
выхода, и полезны при определении целей прибыли. Кроме того, тщатель-
ное изучение лучших и худших сделок может дать результаты, полезные
для улучшения системы.


ЭФФЕКТИВНОСТЬ СИМУЛЯТОРА

Торговые симуляторы могут сильно различаться по таким показателям, как
мощность, емкость и скорость. Скорость важна при выполнении многих
тестов или проведении сложных оптимизаций, например генетических.
Скорость также важна при разработке систем для портфельной торговли
или при использовании длинных внутридневных серий данных с тысяча-
ми сделок и сотнями тысяч числовых данных. В некоторых случаях от ско-
рости симулятора зависит сама возможность проведения анализа: ряд за-
дач требует поистине огромного объема расчетов, недоступного для «мед-
ленных» программ. Емкость симуляторов определяет ограничения объе-
ма задач (количество баров данных, которое может загружаться или объем
кода самой системы). Мощность симулятора — показатель, определяющий,
как сложные тесты и задания могут выполняться на базах данных цен то-
варов или на целых портфелях, что важно для серьезной профессиональ-
ной торговли. Достаточно мощный симулятор требуется, например, для
использования многих торговых моделей, приведенных в этой книге.


Скорость

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



ние, является ли программа скриптом или используется в интерпретато-
ре. Современные компиляторы языков общего назначения, таких как
C++, FORTRAN и Pascal/Delphi, переводят написанную пользователем
программу в высокоэффективный машинный код, пригодный для прямо-
го исполнения процессором; это делает пакеты с использованием таких
языков и компиляторов весьма быстрыми. С другой стороны, собствен-
ные интерпретируемые языки, такие как Visual Basic for Applications и Easy
Language, должны переводиться и подаваться в процессор построчно при
исполнении сложного, насыщенного циклами исходного кода. Каков же
возможный выигрыш в скорости для компилируемого языка по сравне-
нию с интерпретируемым? Мы слышали о системах, которые после пере-
вода с собственного языка на C++ стали работать в 50 раз быстрее!


Емкость
Если скорость в основном зависит от работы с языком (интерпретируе-
мым или компилируемым), то емкость главным образом от используемого
16- или 32-битного программного обеспечения. Старые 16-битные програм-
мы часто зависят от предела в 64 кбайт, т.е. практически для тестирования
системы может быть загружено не более 15 000 баров данных (около 4 дней
тиковых или 7 недель 5-минутных данных S&P 500). Кроме того, если у си-
стемы код большого объема, будьте готовы получить сообщение, что про-
грамма с ней не может справиться. Современные продукты, написанные
на FORTRAN или C++, работают с соответствующими компиляторами,
что позволяет, например, загрузить для тестирования всю историю тиков
S&P 500 с появления индекса в 1983 г., если, конечно, у компьютера доста-
точно памяти. Кроме того, практически нет ограничений на количество
сделок, принимаемых системой, или на сложность и размер самой систе-
мы. Все современные компиляторы для FORTRAN, C++, Pascal/Delphi —
полностью 32-битные программы, работающие под 32-битными операци-
онными системами, такими как Windows 95, Windows NT или LINUX/
UNIX. Любой симулятор, работающий на основе таких компиляторов,
способен работать с огромными объемами данных без труда. Поскольку
большинство программных пакетов постоянно совершенствуется, пробле-
ма емкости становится все менее и менее принципиальной.


Мощность
Различия в мощности симуляторов главным образом зависят от языка
программирования. Для начала рассмотрим язык, но не в аспекте скорос-
ти компилируемых и интерпретируемых языков, а в аспекте его возмож-
ностей. Можно ли изящно и обстоятельно запрограммировать самую
РАБОЧИЕ ИНСТРУМЕНТЫ
44 ЧАСТЬ I



сложную торговую идею? Как правило, примитивные языки не дают всех
возможностей, необходимых для кодирования наиболее сложных торго-
вых стратегий. К сожалению, наиболее мощные языки сложнее всего изу-
чать. Но если человеку удалось овладеть таким языком, как C++, возмож-
ным становится практически все. Ваш текстовый процессор, программа
работы с таблицами, броузер и сама операционная система, скорее всего,
были исходно написаны на C++ или его предшественнике — Си. Такие
языки, как C++ и Object Pascal (основа Borland Delphi), расширяемы и
могут легко быть приведены в соответствие с требованиями разработки
торговых систем с помощью использования библиотек и дополнительных
компонентов. Языки Visual Basic и Easy Language, хотя и не обладают мощ-
ностью многоцелевых объектно-ориентированных языков вроде C++ и
Object Pascal, более легки в изучении и имеют большинство необходи-
мых возможностей. Гораздо слабее и не вполне достаточны для разработ-
чика продвинутых систем макроязыки, встроенные в ряд популярных
программ построения графиков, например MetaStock. Как правило, чем
мощнее используемый язык, тем мощнее симулятор.
Вопросы оформления также влияют на мощность симулятора, особен-
но важна модульность и расширяемость. Симуляторы, использующие C++
или Delphi (Object Pascal) как основной язык, чрезвычайно расширяемы
и модульны, поскольку таковы сами языки, спроектированные «снизу
вверх». Библиотеки классов позволяют определять новые типы данных и
операторов. Компоненты могут обеспечивать функции в готовых блоках,
например управление базами данных или построение графиков. Даже
«старинные» библиотеки, такие как Numerical Algorithms Group Library,
International Mathematics and Statistics Library и Numerical Recipes Library,
могут обеспечить самые разнообразные потребности. Модули, называе-
мые User Functions могут быть написаны на Easy Language, а функции,
написанные на других языках (включая C++), могут быть вызваны, если
они записаны в виде DLL (динамической библиотеки ссылок). Макроязы-
ки, с другой стороны, не столь гибки, что сильно лимитирует их эффек-
тивность для разработки продвинутых систем. С нашей точки зрения,
возможность использования модулей, написанных на другом языке, аб-
солютно необходима: у разных языков разные «акценты», и даже при ис-
пользовании мощного языка вроде C++ имеет порой смысл обратиться к
модулям, созданным на другом языке, например таком, как Prolog (язык,
разработанный для написания экспертных систем).
Еще одно важное свойство симуляторов, не связанное с языками про-
граммирования, — способность симулятора работать не только с индиви-
дуальными финансовыми инструментами, но и с портфелями. Многие про-
дукты не имеют возможности выполнять оптимизацию целых портфелей,
хотя порой это достижимо при помощи дополнительных модулей. С другой
стороны, хорошо организованный симулятор, как правило, позволяет мо-
делировать торговлю портфелем различных финансовых инструментов.
ГЛАВА 2 СИМУЛЯТОРЫ 45



НАДЕЖНОСТЬ СИМУЛЯТОРОВ

Разные торговые симуляторы имеют разную степень надежности и досто-
верности. Не существует компьютерных программ, полностью гарантиро-
ванных от ошибок, даже если ее производитель — знаменитая фирма ми-
рового уровня. Кроме того, проблемы возникают при принятии решений в
состоянии неустойчивого равновесия — когда в пределах одного и того же
бара возникают условия для исполнения различных приказов. Некоторые
из этих состояний, например так называемый прыгающий тик (Ruggiero,
1998), могут привести к тому, что система будет казаться лучшей на свете,
в то время, как, по сути, она сможет разорить любого. Считается предпоч-
тительным, чтобы симулятор выбирал худший вариант развития событий
в неоднозначных ситуациях; таким образом, при начале реальной торгов-
ли вероятность приятных сюрпризов будет выше, чем неприятных. Все это
сводится к тому, что при выборе симулятора следует выбирать хорошо про-
веренный, с историей надежной работы и четким описанием того, как про-
грамма трактует неоднозначные состояния. Кроме того, обязательно изу-
чите недостатки симулятора и способы их обходить.

<< Пред. стр.

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

ОГЛАВЛЕНИЕ

След. стр. >>