Общие сведения.
Начало
ПЕРВОЕ, ЧТО НЕОБХОДИМО ДЛЯ ТЕСТИРОВАНИЯ СТРАТЕГИИ, ЭТО ИМЕТЬ УСЛОВИЯ СОВЕРШЕНИЯ СДЕЛОК
(правила покупки и продажи записанные с помощью
AmiBroker Formula Language (AFL))
Примером может служить самая простая система, покупка, когда цена закрытия поднялась выше 45-ти периодной скользящей средней и продажа (выход из позиции) когда цена закрытия опустилась ниже 45-ти периодной скользящей средней.
Buy = Cross( Close, EMA(Close, 45));
Sell = Cross( EMA(Close, 45), Close);
Откроем окно «
Formula Editor» (Редактора формул) и поместим туда этот код. Далее необходимо передать его в «
Auto-Analyser» (автоматический анализатор). Для этого воспользуемся командой меню
Tools "
Send to Auto-analysis" либо специальной кнопкой на панели задач
Formula Editor.
Откроется окно
Auto-Analyser (
АА)
Этот инструмент предназначен для тестирования стратегий. Он может проводить различные по своей функциональности и назначению тесты.
Варианты тестов
В зависимости он наших желаний можно сделать несколько вариантов тестов:
1. Индивидуальный тест на одном инструменте базы данных. Необходимо выбрать «
current symbol» в поле «
Apply to». Правила совершения сделок будут применены только к выбранному (видимому в данный момент в активном окне) символу.
Этот тест позволяет выявить поведение и параметры системы только на одном, выбранном в настоящий момент символе.
2. Индивидуальный тест на нескольких инструментах базы данных. Тест можно провести как на всех символах содержащихся в БД, так и выборочно, используя фильтр.
Для использования фильтра активизируйте опцию
use filter и далее кнопкой
Define вызовите окно настроек фильтра
В котором можно задать какие символы Базы Данных должны быть протестированы.
Это могут быть символы только одного рынка (Market) входящие в определенную группу (
Group), сектор (
Sector), индустрию (
Industry), лист (
Watch list), фавориты (
Favourites) и индексы (
Indexes) и различные комбинации этих условий.
При этом тест проходит сначала полностью на
Символ1 затем на
Символ2 и т.д. Такой тест позволяет визуально оценить эквити для каждого символа и посмотреть для них индивидуальный отчет. Фактически такой тест равен нескольким, последовательно проведенным индивидуальным тестам для каждого символа. Для просмотра отчетов по символам необходимо сначала запустить «
Report explorer», т.к. при нажатии кнопки «
Report» будет доступен отчет только для последнего символа в тесте.
3. Тест портфеля (
Portfolio Backtest) установлен по умолчанию. Этот тест наиболее точно эмулирует реальные торги и проверяет сигналы одновременно на всех тестируемых символах. При этом мы можем задать максимальное число открытых позиций, размер каждой позиции, при наличии нескольких кандидатов на открытие позиции и недостатке средств для открытия всех позиций можно задать более важные сделки, которые должны быть совершены в первую очередь.
Граница теста.
Часто требуется проведение теста стратегии не на всех исторических данных, а только на некотором интервале. Интервал теста задается в блоке
Range. Доступны следующие варианты:
- all quotations – все данные
- n last quotations – N последних баров
- n last days – N последних дней
- from: to: - интервал ограниченный датами
Параметры
Если в коде
AFL Вашей стратегии имеются изменяемые параметры задаваемые функцией
Param(), то их можно изменять. Для доступа к диалогу изменения параметров надо воспользоваться кнопкой
Parameters.
Кроме этого, для проведения теста необходимо сообщить множество других параметров которые можно задать в настройках тестера. Для получения доступа к этим настройкам надо воспользоваться кнопкой
Settings.
Подробнее о настройках поговорим в следующей главе.
Удачи.