<<
>>

Модель на обращенном во времени медленном %К

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

Для получения набора фактов под данную модель сперва следует произвести расчеты целевого показателя — обращенного во времени Медленного %К. Каждый факт затем записывается в файл при проходе через все точки данных для всех рынков в составе портфеля. Для каждого торгового дня процесс создания факта начинается с расчета входных переменных. Это делается путем расчета разности между парой цен и делением результата на квадратный корень количества дней, лежащих между этими двумя ценами.

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

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

Точная расстановка включена в код программы в виде таблицы. Смысл этого состоит в получении максимально точной информации о новейших процессах. Чем дальше во времени от текущего дня находятся данные, тем больше вероятность того, что только долговременные процессы будут иметь значение, следовательно, можно обойтись меньшим разрешением. Такая выборка дней должна обеспечивать достаточное разрешение для регистрации циклов и других явлений с периодом от 1 — 2 до 50 дней и более. Такой подход принят в соответствии с рекомендацией Марка Джурика (jurikres.com).

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

Для каждого факта целью (т.е. зависимой переменной регрессии) является попросту значение обращенного во времени Медленного %К. Входные переменные и цель для каждого факта выдаются в простом АБСПформате в виде файла, который может анализироваться качественным пакетом для разработки нейронных сетей.

Полученный набор фактов используется для обучения сети прогнозированию обращенного во времени Медленного %К, т.е. относительного положения сегодняшней цены закрытия и, предположительно, завтрашней цены открытия по отношению к диапазону цен за последующие 10 дней (обращенный во времени Медленный %К с периодом 10 дней).

Следующий шаг разработки нейронного прогностического устройства — реальная тренировка нескольких сетей на полученном наборе фактов.

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

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

Как было сказано выше, излишне подогнанные сети должны иметь очень низкие значения корреляции после проведения ее коррекции. Большое количество фактов в наборе (88 092) должно помочь избежать вредного влияния подгонки для сетей умеренного размера.

Код включает две функции — обычную функцию Model, реализующая торговую модель, и процедуру подготовки входов нейронной сети PrepareNeurallnputs. Процедура, которая подготавливает входы, требует для работы индекса текущего дня (cb) и серии цен закрытия (cls).

Функция PrepareNeurallnputs при наличии индекса текущего дня и серии цен закрытия рассчитывает для данного факта все входы, необходимые нейронной сети.

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

Код, реализующий торговую модель, основан на наших обычных принципах. После объявления переменных ряд параметров копируется в локальные переменные для простоты ссылок. Затем рассчитываются средний истинный интервал, используемый для стандартного выхода, и обращенный во времени Медленный %К с периодом 10 дней.

Один из параметров (mode) выбирает режим работы кода. Mode = 1 запускает код для подготовки факта; файл открывается, заголовок (состоящий из числа входов — 18 и числа целей — 1) записывается, и счет фактов начинается с нуля. Это производится только при открытии первого из рынков в составе портфеля. Файл остается открытым все время дальнейшей обработки, вплоть до конца обработки последнего символа в портфеле. После заголовка в файл записываются факты. Все данные до начала периода выборки и после окончания периода вне выборки игнорируются. Используются только данные в пределах выборки. Каждый факт, записанный в файл, состоит из номера факта, 18 переменных входов, рассчитанных процедурой PrepareNeurallnputs, и цели (значения обращенного во времени Медленного %К). Пользователю сообщается информация о продвижении работы.

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

Правила генерации сигналов таковы: если на выходе нейронной сети значение превышает порог thresh, то подается сигнал на продажу — сеть предсказывает высокое значение обращенного во времени Медленного %К, т.е. текущая цена закрытия, возможно, близка к максимуму на ближайшее будущее. Если на выходе сети значение составляет менее 100 — thresh, то подается сигнал на покупку. Например, если thresh установлен на уровне 80, то любой предсказанный Медленный %К более 80 будет вызывать сигнал на продажу, а любой Медленный %К менее 20 — сигнал на покупку.

Кроме того, встроены еще два блока, обеспечивающие отдачу собственно приказа на вход в рынок и работу стандартизированного выхода. Эти блоки подобны использованным в предыдущих главах.

<< | >>
Источник: Джеффри Оуэн Кац, Донна Л. Маккормик. Энциклопедия торговых стратегий. 2007

Еще по теме Модель на обращенном во времени медленном %К:

  1. Результаты обучения для модели обращенного во времени Медленного %К
  2. Методология тестирования модели на основе обращенного Медленного %К
  3. Результаты торговли для модели, основанной на обращенном Медленном %К
  4. Выбор средств и установление времени рекламного обращения
  5. Модели и технологии рекламного обращения
  6. Временно» положение о порядке обращения взыскания на имущество организаций (в ред. Указа Президента РФ от 25.07.2000 № 1358)
  7. В Правилах допуска к обращению и исключению из обращения через организаторов торговли ценных бумаг и финансовых инстру­ментов
  8. Программа премирования ограниченными в обращении акциями по результату деятельности ограниченных в обращении акций
  9. Быстрый стохастик против медленного
  10. БЫСТРЫЙ СТОХАСТИК ПРОТИВ МЕДЛЕННОГО
  11. Медленный стохастический осциллятор
  12. Медленная дорога к богатству
  13. Медленные стохастические осцилляторы (Slow Stochastics)
  14. Быстрый спад и медленный подъем
  15. Марк Виктор Хансен, Роберт Аллен. Быстрые деньги в медленные времена, 2010
  16. Структура ВВП по использованию менялась очень медленно.
  17. ВОСПРИЯТИЕ ЛИДЕРА. ПАССИВНОСТЬ, МЕДЛЕННАЯ РЕАКЦИЯ, МАСШТАБЫ ПРОИЗВОДСТВА
  18. Урок 3. Изменения происходят так медленно, что приближения соперников не чувствуют