Загружается...
 

Обратное тестирование

 

 

Общая информация

Обратное тестирование (или тестирование на исторических данных) реализовано в торговой платформе как основная функция для проведения анализа эффективности стратегии с использованием исторических данных. Вы можете выполнить обратное тестирование стратегии для отдельного инструмента (ценной бумаги) или списка инструментов (портфолио).

Для обратного тестирования необходимо:

  • наличие исторических данных (файл с информацией по тикам или свечам) от поставщика данных
  • стратегия AgenaScript или

Если версия AgenaTrader Discovery или выше, то можно воспользоваться стратегией AgenaTrader++ (plusplus).

Чтобы открыть окно обратного тестирования выберите опцию Обратное тестрирование через меню Основная -> Создать.

Backtest

Порядок работы:
● Выберите в SetupEscort сессию анализатора.
● Задайте в SetupEscort параметры входа, стоп- и таргет-приказов
● Выберите из меню Основная / Создать -> Обратное тестирование
● Выберите в разделе „Общие параметры“ Вашу стратегию (напр. AT++)
● Выберите желаемый источник данных: напр. „Datenfeed“ (поставщик данных) или „File with Ticks“ (файл с тиками) (его необходимо скачать и/или загрузить из Ваших файлов)
● Задайте временной интервал
● Выберите желаемый список инструментов (опционально: с помощью мишки можно дополнительно указать определённый инструмент)
● Определите начало и конец тестирования с помощью даты и времени
● Выберите закладку "Настройки"
● В категории „Backtest Parameters“ установите Ваш сигнал входа и проверьте соответствие стопов и таргетов Вашему сетапу (стратегии). При необходимости Вы можете вносить измения к настройкам на этом этапе. После этого подтвердите настройки нажатием на кнопку „Save Setup“.
● В категории „Parameters“ выберите Вашу сессию анализатора (напр. „Standard“)
● Определите количество необходимых баров, покупательскую способность и т.д.
● Подтвердите настройки нажатием на кнопку „Save Setup“. Внимание! Если Вы меняете параметры сетапа в категории „Backtest Parameters“, то после их сохранения нажатием на кнопку „Save Setup“ Ваши настройки в SetupEscort будут автоматически заменены на новые.
● Начните обратное тестирование путём нажатия на кнопку „Тест“. При этом необходимо будет указать, проводится ли обратное тестирование для всего списка инструментов или только для одного выбранного инструмента.
● В области под списком инструментов Вы сможете увидеть прогресс расчётов, а также остановить тестирование при необходимости. ​

Backtest  

 

Общие параметры

Закладка Ввод предоставляет следующие возможности:

Параметр Значение
Дата&время начала Для выбора даты и времени начала обратного тестирования
Дата&время оконч. Для выбора даты и времени окончания обратного тестирования
Список инструм. Для выбора списка инструментов
Интервал времени Интервал для периодичности отображения данных. Например, 1 мин., 1 час, 1 день
Стратегия Отображает стратегии для выбора (например, собственная или стратегия AT++). Стратегию AT++ необходимо создать в окне Setup Escort, после чего её можно выбрать во вкладке "Настройки".
Тест Позволяет выбрать один (текущий) инструмент для тестирования или список инструментов (портфолио). Непосредственно начинает обратное тестирование.
Открыть Позволяет открыть результат обратного тестирования, который был сохранён ранее
Источник данных Отображает источник данных для обратного тестирования: поставщик данных или файл с данными по барам или тикам. В этом файле не должно быть заголовка.


GeneralOptionsBacktest

Закладка Итог предоставляет следующие возможности:

Параметр Значение
Тип вывода Позволяет выбарть один из типов отображения результата обратного тестирования: в абсолютном, процентном значении или в тиках
Сохранить результат Сохраняет результат обратного тестирования


 

Вкладка "Настройки"

Во вкладке отображаются используемые стратегии:

1. Собственные стратегии или импортированные стратегии 
Параметры каждой из этих стратегий можно редактировать.
Дополнительные параметры:

  • Покупательная способность
  • Наличные деньги
  • Комиссия
  • Проскальзывание

Backtest Settings

2. Стратегии AgenaTrader++
Характеристики стратегий AT++ в основном не отличаются от указанных выше за исключением небольших различий:

  • Категория "Параметры обратного тестирования" включает в себя параметры из Setup Escort
  • В категории "Параметры" можно выбрать сеанс анализатора из Setup Escort
  • Измененные вручную параметры можно сохранить с помощью кнопки Сохранить настройки.
    • При сохранении изменений настройки стратегии в Setup Escort будут перезаписаны.

SettingsBacktest

В категории "Trading" находятся такие функции:

Функция Описание
Enable Trading Breaks Торговые паузы, установленные в Marketplace-Escort могут быть учтены в обратном тестировании или нет. Если этот параметр установлен как „true“, то результаты обратного тестирования будут базироваться только на рабочих часах бирж, установленных в AgenaTrader, а периоды перез открытием и после закрытия бирж не будут учитываться.
Last Opended Trade Handle Mode Если во время обратного тестирования не закрыт последний активный трейд, то можно установить, будет ли этот трейд закрыт (Опция: Close) или останется открытым (LeaveOpen). В случае выбора опции „LeaveOpen“ для последнего трейда расчёт прибыли и убытков проводиться не будет.
Orders Handling Mode Стандартный или усложнённый (advanced) режим. Дополнительные функции в усложнённом режиме: Orders settings
Dot Calcualte Entry Market Orders onclose: Опция „true“ (верно) или „false“ (неверно).
Dot Calcualte Exit Market Orders onclose: Опция „true“ (верно) или „false“ (неверно).
Стандартная настройка основывается на стандартном режиме обратного тестирования. В этом режиме маркет-приказы рассчитываются всегда по курсу открытия следующего бара. Тем не менее, эту настройку можно изменить в усложнённом режиме - для расчётов будет использоваться курс закрытия бара.
Dot Decision Mode:
- BestCase: Неоднозначные приказы будут рассчитываться по самому лучшему возможному сценарию.
- WorstCase: Неоднозначные приказы будут рассчитываться по самому худшему возможному сценарию.
- Ignore: Неоднозначные приказы будут проигнорированы.


 

Параметр "Источник данных"

Backtesting Data Source  

Возможны следующие опции:
- Datаfeed (поставщик данных), например, YFeed, TeleTrader и др. или поставщик данных, предлагаемый брокером.
- File with Bars (данные из файла, содержащего информацию по барам)
- File with Ticks (данные из файла, содержащего информацию по тикам).

Ниже показан пример форматирования данных и поддерживаемые форматы файлов:

Файл с барами: .csv и .txt  

Backtesting Data Source Code1

Файл с тиками: .csv и .txt

Backtesting Data Source Code2

 

Вкладка "Графики"

Вкладка Графики сотоит из кривой совокупной прибыли и истории торговли на графике.
Кривая прибыли может отображать информацию по одному инструменту (ценной бумаге) или для по списку инструментов (портфолио), тогда как история торговли всегда представлена на одном графике для одного инструмента.

Backtest(1)  

Функции Показать, Капитал и Ось X становятся доступными только после проведения обратного тестирования.  

Отображение кривой совокупной прибыли

  • Если опция Показать всё активна, то на кривой будут показаны все трейды из результата обратного тестирования.
  • Если опция Показать график активна, то на кривой будут показаны только те трейды, которые находятся в области графика (масштаб).

Оба параметра также влияют на отображение результатов в других закладках: Backtest Charts2

Аналогично:

  • Если опция Показать всё активна, то результаты закладок: Сводка, Торги, Приказы, Исполнения, Периоды и Инфо торговли рассчитываются для всех трейдов.
  • Если опция Показать график активна, то результаты закладок: Сводка, Торги, Приказы, Исполнения, Периоды и Инфо торговли рассчитываются только для тех трейдов, которые находятся в области графика (масштаб).

Backtest Charts3

  • Капитал отдельно: отображает значения только для одного инструмента.
  • Капитал всё: отображает значения для всех инструментов из списка (портфолио) и показывает кривые для каждого инструмента отдельно.
  • Капитал счёт: отображает значения для всех инструментов из списка (портфолио) на одной кривой.


Arz Обратите внимание! Опции "Показать всё" и "Показать график" не влияют на отображение и расчёт данных в закладках, если активирована одна из опций "Капитал всё" или "Капитал счёт". В этом случае результаты в закладках будут показаны для всех трейдов, а не для определённой области на графике.

Опции параметра Ось Х позволяют отобразить кривую совокупной прибыли в осях Дата - Прибыль/Убыток или Трейды - Прибыль/Убыток.

 

Управление интерфейсом
Во вкладке "Графики" существует две возможности масштабирования для результатов:

  1. колёсиком мыши
  2. правым щелчком мыши и удерживанием, выбрав при этом область на графике торговли или кривой прибыли.

Выше было указано, что опции "Показать всё" и "Показать график" влияют на отображение кривой прибыли и результаты закладок.
Если опция Показать график активна, то масштабирование в пределах истории трейдов на графике также увеличит или уменьшит масштаб кривой прибыли.
Если опция Показать всё активна, то то масштабирование в пределах истории трейдов на графике не повлияет на масштаб кривой прибыли.
При этом масштабирование в пределах кривой прибыли всегда влияет на отображение графика.

 

Контекстное меню

Опции меню правого клика:

  • Копировать
  • Сохранить рисунок как...
  • Параметры страницы... (для печати)
  • Печать...
  • Показать значения
  • Масштаб как стандартный

Backtest Charts Context  

 

Возможности меню "График":

  • Кумулятивная прибыль
  • Чистая прибыль за день
  • Эффективность входа
  • Эффективность выхода
  • MAE
  • MFE
  • Чистая прибыль за месяц
  • Чистая прибыль за неделю
  • Общая эффективность
  • Прибыль/Убыток трейда

Backtest Charts Graph

 

Возможности меню "Трейды":

  • Все
  • Длинные
  • Короткие

Backtest Charts Trades

 

Возможности меню "Прибыль/Убыток":

  • Все
  • Прибыли
  • Убытки

Backtest Charts Winning Losing

 

Вкладка "Сводка"

В этой вкладке отображаются сводные данные по торговым результатам.

Backtest Summary  

Значения индикаторов
Результаты по индикаторам представлены в трёх столбцах: все трейды, только длинные позиции и только короткие позиции.

Индикатор Значение
Общая чистая прибыль Рассчитывается как разница между валовой прибылью и валовыми убытками
Валовая прибыль Прибыль, которая получена в результате всех торгов в течении определённого временного периода
Валовой убыток Убыток, который получен в результате всех торгов в течении определённого временного периода
Норма прибыли Рассчитывается как отношение валовой прибыли к валовым убыткам (1 значит, что прибыль равна убыткам)
Кумулятивная прибыль Учитывает прибыль предыдущих периодов
Максимальное снижение Показывает максимальную сумму убытков последовательных торгов
Комиссия Отображает сумму комиссионного вознаграждения брокера
Общее количество торгов Абсолютное количество трейдов
Прибыльные торги Абсолютное количество прибыльных трейдов
Убыточные торги Абсолютное количество убыточных трейдов
Средний результат торгов Средняя прибыль или убыток по торгам
Средняя прибыль Средняя прибыль прибыльных торгов
Средний убыток Средние убытки убыточных торгов
Соотношение прибыли к убытку Соотношение средней прибыли к среднему убытку
Максимум прибыльных торгов Максимальное количество идущих один за одним прибыльных торгов
Максимум убыточных торгов Макимальное количество идущих один за одним убыточных торгов
Самый прибыльный трейд Самая высокая прибыль по торгам
Самый убыточный трейд Самый большой убыток по торгам
Количество трейдов за день Общее количество трейдов в день
Среднее время на рынке (мин.) Среднее время в минутах, когда приказы находятся на рынке
Среднее количество баров Среднее количество баров (свечей) в трейде на рынке
Прибыль за месяц Средняя прибыль за месяц, полученная от всех трейдов
Среднее значение MAE Представляет собой среднее нежелательное отклонение - значение максимального негативного отклонения цены, т.е. в противоположную сторону от цены входа в рынок при тестировании стратегии (например, нисходящий тренд в длинной позиции). Чем меньше число (процент, количество тиков), тем лучше является стратегия, поскольку в этом случае открытая позиция преследует логику Вашей стратегии.
Среднее значение MFE Представляет собой среднее желательное отклонение - значение максимального положительного отклонения цены при тестировании стратегии (например, возрастающий тренд в длинной позиции). Чем больше абсолютное число (процент, количество тиков), тем лучше является стратегия, поскольку стратегия приносит большую прибыль для трейдера.
Среднее значение ETD Представляет собой разницу между максимально возможной ценой (среднее значение MFE) и средней ценой выхода из рынка, таким образом показывая насколько точно настройки стопа стратегии определяют движения в цене. Чем меньше абсолютное число (процент, количество тиков), тем более эффективной является стратегия.

 

Вкладка "Торги"

В этой вкладке показаны все торги обратного тестирования.
Правым щелчком мыши на названии столбца можно открыть контекстное меню, которое позволяет добавить или удалить столбцы, используя опцию Выбрать столбцы.
Правый щелчок мыши в списке трейдов позволит экспортировать записи таблицы в документ MS Excel.

BacktestKumPnL  
Совет: Отчёт P&L показывает прибыль и убытки по всем текущим торгам. Куммулятивный P&L показывает всегда общий итог по прибыли и убыткам. На рисунке хорошо видно, как уменьшается/увеличивается куммулятивный P&L сверху вниз в зависимости от каждого следующего результата P&L.
Общий расчёт находится в столбце "Кум. P&L", от которого потом отнимится или прибавится следующий результат P&L. Так, по "зигзагу" будут учтены все предыдущие трейды до последнего. При этом стоит учитывать, что возможны минимальные отклонение в расчёте центов, по причине округления P&L к двум цыфрам после запятой, но при этом цены иногда округляются к трем знакам или больше.
 

Вкладка "Приказы"

В этой вкладке показаны все приказы обратного тестирования.
Правым щелчком мыши на названии столбца можно открыть контекстное меню, которое позволяет добавить или удалить столбцы, используя опцию Выбрать столбцы.
Правый щелчок мыши в списке приказов позволит экспортировать записи таблицы в документ MS Excel.

Backtest Orders  

 

Описание исполнения приказов

Функция обратного тестирования симулирует поведение финансового рынка в реальном времени в двух разных режимах:
Режим No. 1 - на основе тиков (работает по тому же принципу, что и симулированный торговый счёт)
Если текущий тик дотигает уровня цены открытого приказа, то она используется как цена исполнения.
Режим No. 2 - на основе свечей (симулирует первый режим).

Каждая из свечей условно делится на четыре части:
Растущая свеча: Open; High; Low; Close (цены открытия, максимальная, минимальная и цена закрытия).
Спадающая свеча: Open; Low; High; Close (цены открытия, минимальная, максимальная и цена закрытия).
Например, если максимальная цена дотигает уровня цены открытого приказа, то она используется как цена исполнения. Это действительно также для цен открытия,закрытия и минимальной цены.

Разница между маркет-, стоп- и стоп-лимит приказами
Маркет- и стоп-приказы будут исполнены за счёт одной свечи.
Стоп-лимит приказы будут исполнены за счёт следующей свечи.
Пример. Предположим, что приказ был выставлен во временном интервале 1 день. В этом случае стоп-лимит приказ будет выполнен на следующий день, а стоп-приказ - в тот же самый день.

 

Вкладка "Исполнения"

В этой вкладке показаны все исполнения ордеров обратного тестирования.
Правым щелчком мыши на названии столбца можно открыть контекстное меню, которое позволяет добавить или удалить столбцы, используя опцию Выбрать столбцы.
Правый щелчок мыши в списке исполнений позволит экспортировать записи таблицы в документ MS Excel. 

Backtest Executions  

Вкладка "Периоды"

В этой вкладке показаны итоговые результаты обратного тестирования, которые распределены по периодам.
Правым щелчком мыши на названии столбца можно открыть контекстное меню, которое позволяет добавить или удалить столбцы, используя опцию Выбрать столбцы.
Правый щелчок мыши в списке исполнений позволит экспортировать записи таблицы в документ MS Excel, а также выбрать необходимый временной период.
Возможны следующие типы периодов:

  • Год
  • Месяц
  • Неделя
  • День недели
  • День
  • Время дня

Backtest Periods  

Backtest Periods1  

 

Вкладка "Инфо торговли"

В этой вкладке показана вся информация о торгах в дереве торговли, которое включает частичные трейды, приказы, а также  исполнения.
Правым щелчком мыши на названии столбца можно открыть контекстное меню, которое позволяет добавить или удалить столбцы, используя опцию Выбрать столбцы.

Backtest Trading Info

Дополнительная информация 

Для выполнения обратного тестирования торгового сигнала необходимо правильно установить требуемые сигналом или условием параметры исторической информации. Для этого нужно правильно выбрать параметры для настройки опции «Необходимо баров» в закладке !Настройки». Настройкой по умолчанию является 20 баров (свечей), которых достаточно для большинства сигналов. Если Вы создали через Condition Escort или с помощью окна программирования сигнал или условие, которые требуют большего кокичества исторических данных (баров), то настройки обратного тестирования должны быть изменены в соответствии с этим. Обратите внимание, что для указанного количества исторических данных (количество баров) сигналы и/или условия не могут быть рассчитаны. Например, если вы выбрали 20 баров, то сигнал будет показан только начиная с 21-го бара.

Информация по сигналам, созданным по теории Доу:
Условия, которые были созданы с помощью Доу индикаторов таких как Р123 требуют больше исторической информации для рассчета сигналов – как минимум 500 баров. Внимание! Ваш поставщик данных должен предоставить достаточно исторической информации по курсам, потому что, например, первые 500 баров не будут показывать никаких сигналов, а только использоваться для рассчетов. Сигналы будут показаны начиная с 501 бара. 

Дальнейшее усовершенствование от стандартного к усложнённому режиму

В результате совместной работы с Университетом г. Ахен (Институт математики), мы усовершенствовали функцию обратного тестирования AgenaTrader и разработали усложнённый режим. Исследовательская статья авторов Dr. Stanislaus Maier-Paape и Dr. Andreas Platen показывает, что стратегия при обратном тестировании предоставляет результаты только для исторических данных и поэтому не может считаться основанием для реальной торговли. Причина в том, что будущие результаты могут очень сильно отличаться от рассчитанных. Функция обратного тестирования, предлагаемая ведущими разработчиками, по мнению авторов играет очень важную роль для обеспечения качества программного обеспечения. Хорошо разработанное обратное тестирование требуется для усовершенствования эффективности работы торговых систем. Чем точнее будут рассчитаны результаты теста, тем надёжнее является торговая платформа при реальной биржевой торговле.

Исследование также показывает, что несмотря на постоянное развитие алгоритмов и тестов на финансовом рынке, расчёты в некоторых случаях все равно производятся с ошибками. Одним из таких случаев есть неоднозначные ситуации SNU (англ. situation which is not unique). Для обеспечения возможности быстрого реагирования на такие ситуации была разработана функция „Decision Mode“, которая предоставляет пользователю программы право выбора. Возможны следующие настройки:

  • Worst case: Неоднозначная ситуация будет оцениваться на основании худшего возможного варианта.
  • Best case: Неоднозначная ситуация будет оцениваться на основании лучшего возможного варианта.
  • Ignore: Сигнала входа, а также полный трейд будет проигнорирован.

SNU встречаются только для стоп-, лимит и стоп-лимит приказов. Рыночные приказы всегда могут быть однозначно определены.
 

Search AgenaTrader Wiki

Выбрать язык