спасибище это много, давайте дальше формулируйте как Вы строите НС, а я буду учиться - несколько раз спрашивал старожилов форума что да как: посылали на факью и еще куда читать. В общем мне без Вас никак - иначе придется самому эксперименты ставить, а "спиной чую", что хочу научиться НС готовить
В кратце: задается размер сети, например, всегда будем делать ее квадратной формы, 5 на 5. Каждый элемент - это по сути вектор значений, первоначальные значения лучше выбирать случайно из массива примеров (векторов размера 40) которые предварительно сформированы по вашему скрипту и сохранены. То есть берем 25 случайных примеров из массива (который имеет размер скажем 5000 примеров). И далее алгоритм такой: опять случайно выбираем пример из нашего обучающего массива и сравниваем с каждым вектором-элементом сети (используя евклидову меру расстояния? точно не знаю даже, может что то еще) У самого близкого вектора корректируются значения по нижеприведенной формуле. При этом эта коррекция распространяется на соседние векторы тоже, по гауссовой функции.
После обучения SOM,когда ошибка перестает уменьшаться, мы берем новый вектор, сравниваем с 25 векторами и тот, где ошибка минимальна - нейрон-победитель, если он указывает на вход в рынок, то входим, если нет,но ждем формирования следующего вектора, и т.д.
alexeymosc , почему Вы привязываетесь к цене Open? имхо, Open и Close величины случайные, и то, что Ваша НС показала относительно неплохие результаты на Д1 и худшие результаты на младших ТФ тому подтверждение, для торговли достаточно иметь прогноз High и Low бара. Вы можете сделать НС только с использованием High и Low ?
И если не сложно, объясните - возможно ли спроектировать НС, которая имела бы на входе, скажем, матрицу 3х5 - 3 ТФ и 5 баров, к примеру?
alexeymosc:
Короче, сложновато.. я строю НС в стат. пакете.
какой пакет? у меня под рукой NeuroSolutions 6 и STATISTICA 6, где-то есть еще дистрибудивы, вроде маткад - нужно поискать
--- alexeymosc , почему Вы привязываетесь к цене Open? имхо, Open и Close величины случайные, и то, что Ваша НС показала относительно неплохие результаты на Д1 и худшие результаты на младших ТФ тому подтверждение, для торговли достаточно иметь прогноз High и Low бара. Вы можете сделать НС только с использованием High и Low ?
Не спорю, сам придерживаюсь мнения, что обрубание ценового сигнала ценами открытия (закрытия) - внесение шума и случайности, но просто удобно по ценам открытия модель строить - робастная система и быстро делает обсчеты в Метатрейдере. Можно и на ценах High сделать анализ. Я даже щас сделаю для интереса, выложу. Буду работать на часовых барах, историю возьму из терминала МТ5, сколько там доступно для скачивания.
--- И если не сложно, объясните - возможно ли спроектировать НС, которая имела бы на входе, скажем, матрицу 3х5 - 3 ТФ и 5 баров, к примеру?
Можно, конечно. Простор фантазии не ограничен, только вход это всегда вектор а не двумерный массив. Точнее, всякий двумерный, трехмерный и так далее массивы превращаются в одномерный вектор, например: первые 5 значений - цены открытия на дневных барах, вторые 5 значений - цены открытия на 4-х часовых барах, и еще 5 значений - цены открытия на часовках. Ну и так далее... Для НС неважно, в какой последовательности ей давать данные. (Исключение - распознавание образов, где это имеет значение и смещения данных ухудшают результат).
--- какой пакет? у меня под рукой NeuroSolutions 6 и STATISTICA 6, где-то есть еще дистрибудивы, вроде маткад - нужно поискать
Статистика - рулит. Я его использую сам, только на домашнем компе стоит версия 8. Там есть возможность выгрузки файла НС в виде C кода, который комилируется в dll и в советнике прописывается подача данных в dll и принятие сигнала.
alexeymosc: Точнее, всякий двумерный, трехмерный и так далее массивы превращаются в одномерный вектор, например: первые 5 значений - цены открытия на дневных барах, вторые 5 значений - цены открытия на 4-х часовых барах, и еще 5 значений - цены открытия на часовках. Ну и так далее... Для НС неважно, в какой последовательности ей давать данные. (Исключение - распознавание образов, где это имеет значение и смещения данных ухудшают результат).
Вы проверяли насколько важен порядок входных данных? хотелось бы быть уверенным на все 100, т.к. я считаю, что строить НС на одном ТФ - значит нужно увеличивать количество входных данных, что в свою очередь приведет к аксиоме ТА:"история повторяется", но увы - не повторяется история, самообман еще тот ;), а вот если создавать стратегию для работы внутри дня, возможно использование нескольких ТФ для обучения НС и даст некую прогнозную модель с вероятностью более 50 %
ЗЫ: надеюсь, что у Вас получится создать и показать НС с использованием High и Low
Посмотрим, уже начал обучение SOM на часовых барах по ценам High за 9 лет, с 2001 года по апрель 2010 год. с мая 2010 по май 2011 будет период OOS. вектор входных данных увеличил до 72 (т.е. 3 дня). размер SOM сделал 10 на 10 нейронов. долго будет обучаться, зараза.
По поводу порядка входных переменных уверен, могу и доказать на искусственных данных,но зачем, это интуитивно понятно... мы же просто имеем дело с аппроксиматором, машиной.
По поводу мульти-ТФ стратегии, думаю, потенциал у этой идеи есть.
может установите Statistica 8 чтобы быть на одной волне?
поищу статистику 8, 6 версия уже стоит, если несложно, то подробнее пишите необходимые действия для Statistica 8 при создании НС, совершенно нет времени во всех программах самостоятельно учиться работать
Проверил EURUSD H1 как и обещал. Модель строил по High. Не удачно - слив на периоде OOS.
Проверил на часовых барах на акциях Gazprom - OOS в плюсе, довольно приличный график.
Еще проверил на EURUSD Day1 идею с закрытием позиций также по сигналу (при переходе из одного состояния в другое, то есть, при смене нейрона). Сделал эксперта, подобрал нейроны открытия и закрытия с помощью тестера, много прибыльных прогонов на периоде оптимизации. На OOS - также плюс.
Спасибище!
Вот так работает SOM:
В кратце: задается размер сети, например, всегда будем делать ее квадратной формы, 5 на 5. Каждый элемент - это по сути вектор значений, первоначальные значения лучше выбирать случайно из массива примеров (векторов размера 40) которые предварительно сформированы по вашему скрипту и сохранены. То есть берем 25 случайных примеров из массива (который имеет размер скажем 5000 примеров). И далее алгоритм такой: опять случайно выбираем пример из нашего обучающего массива и сравниваем с каждым вектором-элементом сети (используя евклидову меру расстояния? точно не знаю даже, может что то еще) У самого близкого вектора корректируются значения по нижеприведенной формуле. При этом эта коррекция распространяется на соседние векторы тоже, по гауссовой функции.
Короче, сложновато.. я строю НС в стат. пакете.
https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BC%D0%BE%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D1%83%D1%8E%D1%89%D0%B0%D1%8F%D1%81%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0_%D0%9A%D0%BE%D1%85%D0%BE%D0%BD%D0%B5%D0%BD%D0%B0
alexeymosc , почему Вы привязываетесь к цене Open? имхо, Open и Close величины случайные, и то, что Ваша НС показала относительно неплохие результаты на Д1 и худшие результаты на младших ТФ тому подтверждение, для торговли достаточно иметь прогноз High и Low бара. Вы можете сделать НС только с использованием High и Low ?
И если не сложно, объясните - возможно ли спроектировать НС, которая имела бы на входе, скажем, матрицу 3х5 - 3 ТФ и 5 баров, к примеру?
Короче, сложновато.. я строю НС в стат. пакете.
--- alexeymosc , почему Вы привязываетесь к цене Open? имхо, Open и Close величины случайные, и то, что Ваша НС показала относительно неплохие результаты на Д1 и худшие результаты на младших ТФ тому подтверждение, для торговли достаточно иметь прогноз High и Low бара. Вы можете сделать НС только с использованием High и Low ?
Не спорю, сам придерживаюсь мнения, что обрубание ценового сигнала ценами открытия (закрытия) - внесение шума и случайности, но просто удобно по ценам открытия модель строить - робастная система и быстро делает обсчеты в Метатрейдере. Можно и на ценах High сделать анализ. Я даже щас сделаю для интереса, выложу. Буду работать на часовых барах, историю возьму из терминала МТ5, сколько там доступно для скачивания.
--- И если не сложно, объясните - возможно ли спроектировать НС, которая имела бы на входе, скажем, матрицу 3х5 - 3 ТФ и 5 баров, к примеру?
Можно, конечно. Простор фантазии не ограничен, только вход это всегда вектор а не двумерный массив. Точнее, всякий двумерный, трехмерный и так далее массивы превращаются в одномерный вектор, например: первые 5 значений - цены открытия на дневных барах, вторые 5 значений - цены открытия на 4-х часовых барах, и еще 5 значений - цены открытия на часовках. Ну и так далее... Для НС неважно, в какой последовательности ей давать данные. (Исключение - распознавание образов, где это имеет значение и смещения данных ухудшают результат).
--- какой пакет? у меня под рукой NeuroSolutions 6 и STATISTICA 6, где-то есть еще дистрибудивы, вроде маткад - нужно поискать
Статистика - рулит. Я его использую сам, только на домашнем компе стоит версия 8. Там есть возможность выгрузки файла НС в виде C кода, который комилируется в dll и в советнике прописывается подача данных в dll и принятие сигнала.
Точнее, всякий двумерный, трехмерный и так далее массивы превращаются в одномерный вектор, например: первые 5 значений - цены открытия на дневных барах, вторые 5 значений - цены открытия на 4-х часовых барах, и еще 5 значений - цены открытия на часовках. Ну и так далее... Для НС неважно, в какой последовательности ей давать данные. (Исключение - распознавание образов, где это имеет значение и смещения данных ухудшают результат).
Вы проверяли насколько важен порядок входных данных? хотелось бы быть уверенным на все 100, т.к. я считаю, что строить НС на одном ТФ - значит нужно увеличивать количество входных данных, что в свою очередь приведет к аксиоме ТА:"история повторяется", но увы - не повторяется история, самообман еще тот ;), а вот если создавать стратегию для работы внутри дня, возможно использование нескольких ТФ для обучения НС и даст некую прогнозную модель с вероятностью более 50 %
ЗЫ: надеюсь, что у Вас получится создать и показать НС с использованием High и Low
Посмотрим, уже начал обучение SOM на часовых барах по ценам High за 9 лет, с 2001 года по апрель 2010 год. с мая 2010 по май 2011 будет период OOS. вектор входных данных увеличил до 72 (т.е. 3 дня). размер SOM сделал 10 на 10 нейронов. долго будет обучаться, зараза.
По поводу порядка входных переменных уверен, могу и доказать на искусственных данных,но зачем, это интуитивно понятно... мы же просто имеем дело с аппроксиматором, машиной.
По поводу мульти-ТФ стратегии, думаю, потенциал у этой идеи есть.
может установите Statistica 8 чтобы быть на одной волне?
поищу статистику 8, 6 версия уже стоит, если несложно, то подробнее пишите необходимые действия для Statistica 8 при создании НС, совершенно нет времени во всех программах самостоятельно учиться работать
как нормализуете входные данные High и Low?
Действия такие же как везде, как и в Статистике 6.
Нормализую так же, по приведенной формуле.
Проверил EURUSD H1 как и обещал. Модель строил по High. Не удачно - слив на периоде OOS.
Проверил на часовых барах на акциях Gazprom - OOS в плюсе, довольно приличный график.
Еще проверил на EURUSD Day1 идею с закрытием позиций также по сигналу (при переходе из одного состояния в другое, то есть, при смене нейрона). Сделал эксперта, подобрал нейроны открытия и закрытия с помощью тестера, много прибыльных прогонов на периоде оптимизации. На OOS - также плюс.