ЭФФЕКТИВНОСТЬ ТОРГОВОГО СИМУЛЯТОРА
Торговые симуляторы могут сильно различаться по таким
показателям, как мощность, емкость и скорость. Скорость важна при выполнении
многих тестов или проведении сложных оптимизаций, например генетических.
Скорость также важна при разработке систем для портфельной
торговли или при использовании длинных внутридневных серий данных с тысячами
сделок и сотнями тысяч числовых данных. В некоторых случаях от скорости
симулятора зависит сама возможность проведения анализа: ряд задач требует
поистине огромного объема расчетов, недоступного для медленных программ.
Емкость симуляторов определяет ограничения объема задач (количество баров
данных, которое может загружаться или объем кода самой системы). Мощность
симулятора — показатель, определяющий, как сложные тесты и задания могут
выполняться на базах данных цен товаров или на целых портфелях, что важно для
серьезной профессиональной торговли. Достаточно мощный симулятор требуется,
например, для использования многих торговых моделей, приведенных в этой книге.
Скорость
Наиболее важный фактор, влияющий на скорость работы
системы, — природа используемого языка: скриптовый или программный, т.е.
определение, является ли программа скриптом или используется в интерпретаторе.
Современные компиляторы языков общего назначения, таких как C++, FORTRAN и
Pascal/Delphi, переводят написанную пользователем программу в высокоэффективный
машинный код, пригодный для прямого исполнения процессором; это делает пакеты с
использованием таких языков и компиляторов весьма быстрыми. С другой стороны,
собственные интерпретируемые языки, такие как Visual Basic for Applications и
Easy Language, должны переводиться и подаваться в процессор построчно при
исполнении сложного, насыщенного циклами исходного кода. Каков же возможный
выигрыш в скорости для компилируемого языка по сравнению с интерпретируемым? Мы
слышали о системах, которые после перевода с собственного языка на C++ стали
работать в 50 раз быстрее!
Рисунок 2- 1. Гистограмма неблагоприятных движений.
Емкость
Если скорость в основном зависит от работы с языком
(интерпретируемым или компилируемым), то емкость главным образом от
используемого 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.
Любой симулятор, работающий на основе таких компиляторов, способен работать с
огромными объемами данных без труда. Поскольку большинство программных пакетов
постоянно совершенствуется, проблема емкости становится все менее и менее
принципиальной.
Статья размещена в рубрике: Торговые системы
|