Здравствуйте, гость ( Вход | Регистрация )

> Perceptron, Нейронная сеть
leonid553
сообщение 23.3.2007, 11:29
Сообщение #1





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Yury V. Reshetov
Нейронная сеть

Что такое нейронная сеть или Perceptron? Это алгоритм использующий уравнение линейного неравенства (линейного фильтра), с помощью которого можно причислить исследуемый объект к тому или иному классу или же наоборот исключить его из этого самого класса объектов. Само неравенство выглядит так:
w1 * a1 + w2 * a2 + ... wn * an > d
где:
1. wi - весовой коэффициент с индексом i;
2. ai - численное значение признака с индексом i исследуемого объекта;
3. d - пороговое значение, чаще всего равное 0.
Дело в том, что геометрически плоскость описывается линейным уравнением. Например, в трехмерном пространстве относительно координат X, Y и Z уравнение плоскости имеет вид:
A * X + B * Y + C * Z + D = 0
Координаты всех точек, расположенных по одну сторону от плоскости, в этом самом пространстве, удовлетворяют неравенству:
A * X + B * Y + C * Z + D > 0
А координаты всех точек лежащих по другую сторону от плоскости, удовлетворяют неравенству:
A * X + B * Y + C * Z + D < 0
Таким образом, если нам известно уравнение некой плоскости и координаты любых точек, то мы можем разделить множество всех точек пространства на два множества точек, разделяемых этой самой плоскостью.

ПОСТАНОВКА ЗАДАЧИ
Если мы разделим объекты на два класса: открываемые длинные позиции и короткие позиции, а в качестве признаков возьмем значения индикаторов или осцилляторов технического анализа, то остается лишь выяснить уравнение плоскости и попытаться с ее помощью произвести идентификацию. Постановка задачи ясна.
Множества точек пересекаются в пространстве и провести четкую разделительную черту между ними невозможно. Единственным и приемлемым решением здесь является линия, которая будет отделять оба множества точек таким образом, чтобы с ее помощью большинство красных объектов оказалось по одну сторону, а синих по другую. На сей раз, мы имеем дело с задачей оптимизации, то есть поиском уравнения разделяющей плоскости или линии, способной максимально разделить два класса объектов друг от друга, но с вероятностью того, что часть точек, принадлежащих одному классу, будет ошибочно идентифицировано, как принадлежащих к классу другому.
Попробуем теперь определиться с постановкой задачи, которую мы собираемся решить. Элементарно, что нужно знать трейдеру для прибыльной торговли - это направление движения котировок. То есть если котировки пойдут вверх, то следует открыть длинную позицию. Если вниз, то необходимо открывать позицию короткую. Следовательно, два класса объектов у нас уже есть, а именно, направление движения котировок. Для того, чтобы принять решение, следуя техническому анализу, трейдеры прибегают к исследованию так называемых технических индикаторов или осцилляторов. Мы также будем исследовать осциллятор.

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


Эскизы прикрепленных изображений
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
NoName
сообщение 24.3.2007, 21:47
Сообщение #2





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Цитата
Поскольку индикатор ты уже "состряпал", то я вижу примерно такой сценарий:
Решетов писал:
"Я тоже попробовал 5-ти слойку. Первые 4 имеют по 5 входов, на каждый из которого поступают нормированные значения с отдельно взятого индикатора (на каждый слой свой индикатор). 5-й слой 4-х входовый и также обобщающий. Результаты весьма неплохие получаются. Самое главное, что вне репрезентативной выборки ведет себя очень стабильно по сравнению с однослойкой."

Поэтому наш ST+ENV будет давать только сигналы на вход и сопровождать позицию, как "базовый" узел.
А достоверность его сигналов будет проверяться (для начала) однослойной нейро структурой с др. индикатором.
Причем работу однослойки желательно постоить на меньшем тф, чем тот на кот. работает ST+ENV!. Чтобы "не задерживаться со входом.
А на счет того - как программно подать в сеть сигналы самого ST+ENV, - увы...
Не могу пока сообразить. sad.gif


То что я состряпал - это не для сети делалось.
На счёт подачи сигналов (не только ST+Env) думаю уже не один день. Пока вижу это так:
представь что в момент возникновения сигнала, когда мы совершаем сделку, на график наносится стрелочка в этом месте. Получится два вида стрелочек, вверх (при покупке) и вниз (при продаже). Мы будем иметь график, на котором будут проставлены стрелочки по всей истории (заданной). Далее нужно выгрузить в файл весь ценовой ряд, которому необходимо поставить в соответствие наши сигналы. Там где стрелка вверх мы будем ставить 1, там где вниз поставим (-1), а там где стрелочек нет - 0. И вот в таком виде эти данные нужно скормить Нейрошелу.
Меня останавливает вот что. Тактика ST+ENV подразумевает работу внутри бара. Если мы будем подавать сигналы по закрытию бара, то будет упускаться значительная часть движения (или же сигнала не окажется вовсе, т.к. не редко бывает что вход и выход получаются в пределах одного бара при сильных движениях). Ну а подавать в нейросеть минутки - мне кажется что это глупость.
Возможно, что хорошим выходом из этой ситуации будет использования меньшего ТФ, то есть вместо минуток подавать М5 или М15, но смотреть при этом на Н4. Скорее всего к оптимальному результату можно прийти только методом проб и ошибок.

Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
leonid553   Perceptron   23.3.2007, 11:29
leonid553   На вышеприведенном рисунке значения ос...   23.3.2007, 11:43
leonid553   GBPJPY, H1 Тест за янв-февр-март после оптимизации...   23.3.2007, 12:03
leonid553   to NoName: Твоя последняя версия "ST+ENV...   23.3.2007, 15:05
NoName   А я так и не смог от неё ничего путнего получить...   23.3.2007, 21:09
leonid553   "А я так и не смог от неё ничего путнего полу...   24.3.2007, 19:46
NoName   То что я состряпал - это не для сети делалось. ...   24.3.2007, 21:47
leonid553   Вот такая ещё идея . ПО вышеприведенному советнику...   25.3.2007, 12:23
NoName   Я ведь тебе предлагал уже это по аське! Можно...   25.3.2007, 12:57
leonid553   Либо подбирать индикаторы , средняя линия которых ...   25.3.2007, 13:01
leonid553   Понятно теперь стало - почему в реале советник с и...   25.3.2007, 14:04
leonid553   А вот результат оптимизации от пред. поста Качеств...   25.3.2007, 14:52
leonid553   Не всё, однако, так хорошо! Результат был полу...   26.3.2007, 15:40
NoName   А нельзя ли сдесь привести код функции Perceptro...   26.3.2007, 16:55
leonid553   вот так сделал для текущей buy-позиции: int ticke...   26.3.2007, 18:18
leonid553   Похоже, я тут вообще не в кон задал if(perceptron...   26.3.2007, 18:35
NoName   Конечно не в кон :) Я почему и попросил функцию ...   26.3.2007, 19:35
NoName   Вот, модернизировал для наглядности ;) Вверху с...   26.3.2007, 20:05
leonid553   Благодарю, Андрей. Вставил этот кусочек кода. чтоб...   27.3.2007, 9:49
leonid553   А Проблема вот в чем: ----------------------------...   27.3.2007, 10:08
NoName   // check for opened position int total = Order...   27.3.2007, 10:57
leonid553   бдагодарю. Сейчас разберусь! Только что пришла...   27.3.2007, 11:16
NoName   ИМХО Оптимизация уже сама по себе подразумевает ...   27.3.2007, 11:19
NoName   Я думаю что нет никакой разницы в значении весов...   27.3.2007, 11:40
leonid553   Вставил вот этот кусочек! double a1 = iStoch...   27.3.2007, 12:49
NoName   Всё правильно. Шкала и не изменится, т.к вызываетс...   27.3.2007, 12:58
leonid553   В соотв. с вышеизложенными резонами подготовил пок...   28.3.2007, 8:33
NoName   Вот это уже хороший результат! И данный сове...   28.3.2007, 9:41
leonid553   Да, пожалуй... Но хотелось бы уж сразу многослойку...   28.3.2007, 10:35
leonid553   to NoName: Что-то никак не подберу параметры с инд...   28.3.2007, 17:27
NoName   По ходу всё правильно. Попробуй сделать так: d...   28.3.2007, 19:59
leonid553   Благодарю.   28.3.2007, 20:06
leonid553   При реализации очередной идеи обнаружилось очередн...   29.3.2007, 10:01
leonid553   Причина этого несоответствия , возможно, заложена ...   29.3.2007, 10:17
leonid553   Да, действительно, - для каждого индикатора нужно ...   29.3.2007, 11:21
NoName   Честно говоря, мне тоже не понятен этот ход.   29.3.2007, 11:39
leonid553   Разберемся, надеюсь! Главная всё-же, проблема ...   29.3.2007, 12:51
NoName   Ну эту проблему можно решить с помощью трейлинга о...   29.3.2007, 15:28
leonid553   А я пытался экспериментировать с (sl * Point) в тр...   29.3.2007, 15:42
NoName   Не обязательно. В последних версиях своих советн...   29.3.2007, 16:26
leonid553   Сделал. extern int ExpertID =1111; ...   29.3.2007, 18:05
NoName   Конечно влияет! Пришли советник, попробую попр...   29.3.2007, 18:31
leonid553   вот он:   29.3.2007, 18:54
leonid553   Поработал пока с версией советника с инд. Фишера ....   30.3.2007, 8:26
NoName   Да, действительно, просадка около 2% - отличный ре...   30.3.2007, 8:50
leonid553   Благодарю! Оч. кстати! Решил выяснить - по...   30.3.2007, 9:09
leonid553   Руки до всего не доходят! - времени не хватает...   30.3.2007, 19:35
leonid553   Вроде так(значения х1-х4 еще не подставил): ------...   30.3.2007, 20:16
NoName   Проблема в последнем результирующем слое. p_1, p_...   30.3.2007, 20:50
leonid553   ДА, ДЕЙСТВИТЕЛЬНО! С р_1() всё получилось   31.3.2007, 8:43
leonid553   Вставил оптимизированные параметры для каждого инд...   31.3.2007, 9:05
leonid553   Не могу понять, в чем дело! сделал так с индик...   31.3.2007, 9:42
leonid553   Поскольку тесты с WPR и АС соответствуют здравому...   31.3.2007, 10:10
NoName   Попробовал тоже так сделать. Стохастик у меня соше...   31.3.2007, 10:11
leonid553   ОК! Понял.   31.3.2007, 10:17
leonid553   Исправил все недоработки. Система заработала так, ...   31.3.2007, 14:08
leonid553   Если нам удасться правильно организовать взаимодей...   31.3.2007, 14:24
NoName   Вот идея появилась навскидку. Тоже может дать инте...   31.3.2007, 14:46
leonid553   Вот идея появилась навскидку. Тоже может дать инт...   31.3.2007, 15:54
leonid553   Вот идея появилась навскидку. Тоже может дать инт...   1.4.2007, 8:17
leonid553   но даже и в этом случае необходим фильтр - для пре...   31.3.2007, 18:30
NoName   На мой взгляд, это делается для обеспечения крас...   1.4.2007, 9:59
leonid553   На мой взгляд, это делается для обеспечения кра...   3.4.2007, 12:48
leonid553   Меня вот крайне удручают частые ситуации показанны...   1.4.2007, 10:17
leonid553   Kola: "А чего тут всего четыре входа у перцеп...   1.4.2007, 18:49
leonid553   to NoName: Из любопытства вставил ММ в версию стох...   2.4.2007, 10:35
NoName   Ну какой же это мизер?? Советник будет курить пока...   3.4.2007, 19:35
leonid553   Ну какой же это мизер?? Советник будет курить пок...   14.4.2007, 10:36
leonid553   Да, действительно. И сразу обнаружл то, что не сде...   4.4.2007, 9:14
NoName   Сделал индикатор, который отображает значения выда...   14.4.2007, 12:02
leonid553   Благодарю! Поставил. Оч. полезная штуковина...   14.4.2007, 17:05
NoName   Дело оказалось в билде MT! На 203-м работает ...   14.4.2007, 18:08
leonid553   Благодарю! Так и случилось! Сейчас постави...   15.4.2007, 8:06
NoName   В архиве два советника: один открывает только дл...   15.4.2007, 13:01
leonid553   Поставил. Сходу удалось получить +2550 за три год...   15.4.2007, 17:20
NoName   Провёл оптимизацию советника LongOnly по фунту на ...   15.4.2007, 18:38
leonid553   Слушай! Что-то мне "тревожно" стало ...   16.4.2007, 11:53
NoName   На счёт шорта и меня стали сомнения терзать. Сейча...   16.4.2007, 12:10
leonid553   В любом случ. надо код - для ясности   16.4.2007, 12:18
NoName   Действительно, допустил ошибку. В советнике испо...   16.4.2007, 14:33
NoName   Приведу, пожалуй, основной код: ShortOnly #prope...   16.4.2007, 15:03
leonid553   Тоже исправил шкалу. Но у меня ещё до исправления ...   16.4.2007, 16:01
NoName   это не ошибка а предупреждение о том что функция S...   16.4.2007, 16:06
leonid553   никак не могу добиться в шорте профитных результат...   16.4.2007, 18:14
NoName   С двухполярным стохастиком результат однозначно ху...   16.4.2007, 19:31
leonid553   Андрей! По вопросу защиты текущей прибыли в мо...   22.4.2007, 8:29
leonid553   Ещё вот сейчас посмотрел. Кроме стохастика для реа...   22.4.2007, 9:13
leonid553   Поставил версию с Отсечкой. Но работает некорректн...   23.4.2007, 13:24
leonid553   to NoName: Прогнал исправленную версию с отсечкой....   24.4.2007, 10:48
NoName   Это объясняется просто. В советнике все действия...   24.4.2007, 14:44
leonid553   Понял! но пока сделана часть работы! Значи...   24.4.2007, 15:20
leonid553   Никак не пойму, почему не соблюдается число сделок...   25.4.2007, 12:21
NoName   Вчера ночью игрался с разными версиями и заметил в...   25.4.2007, 15:52
NoName   Вот на этих отчётах наглядно видно почему происход...   26.4.2007, 7:54
leonid553   Посмотрел. Вник. Ну и ладно! С "этим дело...   27.4.2007, 6:07
leonid553   Ещё вот соображения: Прогнал первую версию со стох...   27.4.2007, 16:30
NoName   Так сходу не врублюсь, нужно малость обдумать. ...   27.4.2007, 18:36
leonid553   пожалуй, не стоит пока возиться! По "зако...   27.4.2007, 18:52
leonid553   По версии с разумным тралом. Взял фунт - м30. При...   28.4.2007, 12:21
leonid553   Еще вот появились соображения. По версии с лотами ...   28.4.2007, 17:03
3 страниц V  1 2 3 >


Ответить в эту темуОткрыть новую тему

 



- Текстовая версия Сейчас: 30.5.2024, 12:50