разработка нейронного прогностического устройства
Собрав
для будущего факта 18 скорректированных квадратным корнем разностей для
входов, мы используем процедуру нормализации. Целью нормализации является
удаление информации, заложенной в амплитуде, при сохранении формы волны. При
обращении с 18 переменными входа как с вектором, нормализация состоит в
масштабировании вектора в единицы длины. Расчеты включают возведение каждого
элемента вектора в квадрат, сложение квадратов, вычисление квадратного корня и
затем деление каждого элемента на полученное число. Так получаются переменные
входа для нейронной сети — фактически, программа нейронной сети в дальнейшем
еще раз будет масштабировать эти входы, приводя их значения к уровням,
допустимым для входных нейронов.
Для каждого факта целью (т.е.
зависимой переменной регрессии) является попросту значение обращенного во
времени Медленного %К. Входные переменные и цель для каждого факта выдаются в
простом ASCII -формате в виде файла, который может анализироваться качественным
пакетом для разработки нейронных сетей.
Полученный набор фактов
используется для обучения сети прогнозированию обращенного во времени
Медленного %К, т.е. относительного положения сегодняшней цены закрытия и,
предположительно, завтрашней цены открытия по отношению к диапазону цен за
последующие 10 дней (обращенный во времени Медленный %К с периодом 10 дней).
Следующий шаг разработки
нейронного прогностического устройства — реальная тренировка нескольких сетей
на полученном наборе фактов. Обучают серию нейронных сетей различного размера,
причем метод отбора наиболее хорошо обученной и устроенной сети не состоит, как
можно было бы подумать, в проверке ее эффективности на данных вне пределов
выборки. Вместо этого проводится коррекция коэффициентов корреляции
(показателей прогностических способностей каждой сети), причем коэффициент
коррекции зависит от размера выборки данных и количества параметров (связей
между нейронами) в исследуемой сети. При этом используется то же уравнение, что
и при коррекции множественных корреляций, получаемых при многовариантной
регрессии (см. главу о статистике и оптимизации). Чем больше и сложнее сеть,
тем сильнее будут скорректированы (в меньшую сторону) коэффициенты корреляции.
Этот подход помогает оценить степень излишней подгонки системы под исходные
данные. Чтобы большая сеть превзошла маленькую, она должна давать значительно
больший коэффициент корреляции. Этот метод позволяет выбирать лучшие сети без
обычного обращения к данным вне пределов выборки. Все сети проходят полное
обучение, т.е. не делается попыток скомпенсировать снижение степеней свободы
меньшим обучением сети.
Наилучшие сети, отобранные на
основе скорректированных корреляций, затем тестируются с настоящей моделью
входа, стандартизованным выходом на всех рынках как в пределах, так и вне
пределов выборки.
Как было сказано выше, излишне
подогнанные сети должны иметь очень низкие значения корреляции после проведения
ее коррекции. Большое количество фактов в наборе (88 092) должно помочь
избежать вредного влияния подгонки для сетей умеренного размера.
Код включает две функции —
обычную функцию Model , реализующая торговую модель, и процедуру
подготовки входов нейронной сети PrepareNeurallnputs . Процедура,
которая подготавливает входы, требует для работы индекса текущего дня (cb ) и
серии цен закрытия (cls ).
Статья размещена в рубрике: Анализ входов и выходов в сделки на финансовых рынках
|