www.timingsolution.ru

     Документация по работе с программой

 

Timing Solution - Back Testing

Этот модуль - для опытных пользователей. Мы рекомендуем приступать к его изучению, лишь после того, как вы хорошо освоили другие блоки программы

 

Back Testing на первый взгляд: основные принципы

Процедура под названием Back Testing позволит Вам:

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

Вручную проделать такую работу непросто. Модуль Back Testing специально создан, чтобы облегчить проведение вами аналитических исследований.

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

Мы здесь проиллюстрировали один типичный пример:

Step 1: Программа обучила нейросеть, используя ценовые данные желтой области (см. верхнюю картину). После обучения она проверила ее работу, используя график в красной области диаграммы. Другими словами, программа создала линию нейросетевого прогноза, используя ценовые данные на желтом интервале, и затем проверила, насколько хорошо линия прогноза соответствует реальным ценовым данным на красном интервале. Эти два интервала (желтый и красный) независимы друг от друга, так что любые "информационные утечки" между этими областями исключены.

Step 2: Мы перемещаем границу обучения (Learning Border Cursor или LBC) на несколько баров вперед. Следовательно, мы перемещаем также  желтые и красные области, и вновь повторяем процедуру (оптимизация и следом оценка итогов работы).

Step 3: Перемещаем LBC, и делаем то же самое снова.

В настройках вы можете сами установить, сколько раз и на какое количество баров будет смещена вперед LBC:

Здесь LBC будет перемещена 50 раз на 100 ценовых баров вперед. В этом случае, программа оценит работу модели на 50 различных интервалах. Результаты процедуры будут представлены в таком виде:


Mode: Neural Net
Price Events: Rel. Osc.(1,100,100 Close)
Criterion: Correlation 365 pt. after LBC

Model dynamic_model.hpp
NN Topology 32 hidden
NN Training last 1250; 15000 st.
Statistics +35 / -15 ChSq=4.0
Average 0.146
21.07.1978 09:30 -0.185
29.01.1979 09:30 -0.005
06.08.1979 09:30 0.153
12.02.1980 09:30 0.385
20.08.1980 09:30 0.071
.... ...

Это типичный пример процедуры Back Testing. Данные означает, что программа обучила Neural Net 50 раз. После каждого обучения она сравнила линию прогноза и реальные цены (чтобы быть точным, ценовой осциллятор) и вычислила коэффициент корреляции между ними используя для этого 365 ценовых пунктов после LBC.  35 раз корреляция была уверенной, в то время как 15 раз она было отрицательной. Среднее число корреляции - 0.146. Дополнительные объяснения по поводу коэффициента корреляции можно получить - здесь. Процедура показала, что данная модель может быть принята как работающая.

 

Back Testing: пример работы модуля

Теперь мы продемонстрируем, как работает процедура Back Testing на одном типичном примере. 

Прежде всего, загрузите ценовой файл. Количество ценовых данных должно быть достаточно, чтобы произвести Back Testing. В этом примере, мы используем индекс Доу Джонса с 1940 по ноябрь 2004.

Активируйте модуль Neural Net, щелкните  кнопкой и выберите.  

Перед вами появится окно, которое позволит вам приступить к созданию сценария данной процедуры (Back Testing Scenario Script):

Внимательно рассмотрите это окно. Теперь мы опишем его компоненты:

Back Testing Scenario - Выходы для Neural Net (то, что мы хотим предсказать ): Для этих целей используется данное окно:

Нажмите  на кнопку  ; откроется точно такое же окно, что и в модуле Neural Net:

Оно работает точно так же, как и в Neural Net. Здесь Вы можете выбрать любой ценовой индикатор по своему желанию, и Neural Net создаст линию прогноза для этого индикатора.

Вы можете также работать и с несколькими индикаторами одновременно: 

В приведенном примере, Neural Net создаст прогностическую линию для Осциллятора и RSI.

Back Testing Scenario - Модели (Входы) для Neural Net (с чем начинаем работать или событийная основа): Чтобы определиться с событийной основой для нейросети, следует перейти в эту часть окна:

Щелкните на кнопке, откроется окно библиотеки моделей. Здесь хранятся ранее сохраненные модели, в том числе и те, поставляются вместе с программой:

Здесь следует настроить следующие параметры:

 

В качестве моделей, программа использует *.HYP и *.HPP файлы, расположенные в субдиректории \LIB . Вы можете создать эти файлы самостоятельно через редактор событийных моделей:

  

Back Testing Criteria - Выходы (насколько хорошо модель работает). Очень важный вопрос - как оценить работу линии прогноза.

Вы можете определить эти критерии здесь:

Щелкните кнопкой. Есть три возможных варианта, чтобы оценить работу модели:

 

Вы можете также определить несколько интервалов испытания: 

 

 (50,100,150,200 и 250 ценовых баров после LBC). Здесь Вы можете определить лучший интервал прогноза для своей модели (не забудьте нажимать на кнопку "OK").

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

 

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

 

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

Для активации данного сценария, щелкните кнопкой:

Вы можете также сохранить данный сценарий в файле (щелкните на "Save"):

Когда Вы решите запустить этот сценарий вновь, следует выбрать этот пункт:

Появится окно, где Вы сможете выбрать любой файл со сценарием из списка:

 

 

Back Testing: различия и варианты

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

Теперь мы продемонстрируем другие возможные варианты работы с модулем Back Testing.

Как найти лучшую модель для ценовых данных

Выберите несколько разных моделей. Как, например, это показано здесь:

Мы проверим эффективность работы одновременно трех моделей.

Выбор лучшего учебного интервала для любой модели и любых ценовых данных

Как показано на картинке, одна и та же модель выбрана нами  несколько раз подряд, но в каждом варианте использованы различные параметры NN:

Здесь мы проверяем выбранную нами динамическую модель на различных интервалах обучения: 1000, 1500, 2000, 3000 и 4000 ценовых баров перед LBC.

Нахождение лучшего прогностического интервала

Определите несколько критериев для процедуры Back Testing:

Здесь мы проверяем работу динамической модели на 50 ценовых барах после LBC (а также на 100 и 150 барах).

Нахождение лучших интервалов обучения и прогноза

Данный сценарий будет выглядеть следующим образом :

Здесь мы ищем одновременно и лучший учебный интервал и лучший интервал прогноза.

Оптимизируйте все

Кроме того, Вы можете экспериментировать с различными настройками осцилятора:

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

 


Copyright © 2003-2007 www.timingsolution.com