Советник на подобии нейросети - страница 3

 
И еще, насчет нестационарности. Я пробовал удалять из обучающих примеров те, в которых нестационарность как раз вылазит. Речь, конечно, идет не про сырые котировки, а про разницы, например, n(t)-n(t-1) или n(t)/n(t-1)-1. Второй вариант более предпочтителен, в общем, потому что процентное изменение стационарно, в отличие от изменений в пипсах (средний размер свечи разный в разные периоды, причем, он имеет тенденцию к увеличению, а следовательно, ряд все равно будет нестационарным, даже если сделать первый вариант преобразования). Можно еще Log преобразование сделать. Так вот, я удалял те значения, которые больше, скажем персентиля 0,95 и меньше персентиля 0,05, это случается в последний фин.кризис и давно, лет 5-7 назад - тоже, кажется, был кризис. Имею в виду, что удалял входные векторы целиком, то есть, хронология ряда не нарушалась, просто уменьшалось кол-во примеров для сети. НО, то что остается все равно никак не поддается обучению, потому что генератор функции данных меняется со временем, а в пределе, это означает рандомный временной ряд. Но насколько быстро этот генератор меняет свои свойства, вопрос, конечно, хороший.
 
alexeymosc:

Вообще, НС для прогнозирования Форекса - это, в моем понимании, что то типа поиска философского камня: ищещь универсально работающую систему, а получаешь каждый раз никакой результат. В этих данных если и есть зависимости нелинейного характера, то они быстро меняются со временем. На истории порядка нескольких тысяч баров многослойная НС вообще не дает никакого точного прогноза, а выдает наиболее вероятное значение - то, которое было в предыдущий момент. Другое дело, если настраивать сетку именно на прибыльность, к в этом случае она не минимизирует ошибку предсказания, а минимизирует количество и набор убыточных сделок, увеличивая количество и объем прибыльных. Я специально оставил в этом советнике только длинные сделки, чтобы как то ограничить разнообразие паттернов в данных, т.е. то, о чем автор предыдущего поста сказал. И сеть всегда ищет восходящий тренд.

Спасибо, надо поизучать графики восходящих и нисходящих трендов.


Никакая НС не предскажет грядущие события общественного или природного характера, которые кардинально повлияют на мировую экономику и, как следствие, на котировки финансовых инструментов.
 
alexeymosc:

Есть еще такая идея. Обучить сеть на небольшой выборке (например, последняя неделя на H1) и выбрать такой размер сети, чтобы она не то, чтобы очень точно повторяла изгибы функции, а с вероятностью 75% попадала в направления изменений. То есть, не переусердствовать с размерами сети. А потом на несколько сделок ее пускать в ход, надеясь, что паттерны немного в будущее продолжаться. Конечно, это не академично, но попробовать, возможно, стоит. Как Вы считаете?

Не. Это не только не академично, но и не практично тоже. Сравнимо с подгонкой на истории, по своей физ. сути.

 
PPC:

Никакая НС не предскажет грядущие события общественного или природного характера, которые кардинально повлияют на мировую экономику и, как следствие, на котировки финансовых инструментов.

И чего?

Разумеется, от нейросети и не требуют таких предсказаний. Но не одни они определяют движение цены на рынке (в каких-то пределах).

 
Diamant:

Не. Это не только не академично, но и не практично тоже. Сравнимо с подгонкой на истории, по своей физ. сути.


То, что сравнимо, я не спорю. Но есть отличие, о котором я могу сказать. Если оптимизируется ТС, там ищутся, по сути, такие повторяющиеся паттерны, которые по сумме сработавших сделок дают прибыль. А в случае НС, обученной на предсказание котировки, мы ищем на локальном участке нелинейные зависимости будущей цены от прошлых значений. Я не знаю, справедливо ли говорить о том, что есть именно локальные зависимости будущей цены от ее истории, потому что это может быть всего лишь следствием случая (и все есть шум).

Но, что меня, пожалуй, больше всего подбивает попробовать осуществить такой эксперимент, это то, что на локальных выборках постоянно встречаются линейные зависимости (автокорреляции), причем довольно часто они бывают устойчивыми во времени. НАПРИМЕР, находим в Excel автокорреляцию ряда (я беру обычно разницы цен) на каком-либо лаге, и делаем скользящим окно данных. Протягиваем. Теперь уже ряд коффициента автокорреляции сам по себе хорошо автоскоррелирован даже на больших лагах. То есть, иногда зависимость в данных живет "долго".

Почему бы не предположить, что нелинейные зависимости в данных тоже сохраняют постоянство какое то время, которого может хватить на обучение сети и ее практическое применение в будущем?

 
alexeymosc:


То, что сравнимо, я не спорю. Но есть отличие, о котором я могу сказать. Если оптимизируется ТС, там ищутся, по сути, такие повторяющиеся паттерны, которые по сумме сработавших сделок дают прибыль. А в случае НС, обученной на предсказание котировки, мы ищем на локальном участке нелинейные зависимости будущей цены от прошлых значений. Я не знаю, справедливо ли говорить о том, что есть именно локальные зависимости будущей цены от ее истории, потому что это может быть всего лишь следствием случая (и все есть шум).

Но, что меня, пожалуй, больше всего подбивает попробовать осуществить такой эксперимент, это то, что на локальных выборках постоянно встречаются линейные зависимости (автокорреляции), причем довольно часто они бывают устойчивыми во времени. НАПРИМЕР, находим в Excel автокорреляцию ряда (я беру обычно разницы цен) на каком-либо лаге, и делаем скользящим окно данных. Протягиваем. Теперь уже ряд коффициента автокорреляции сам по себе хорошо автоскоррелирован даже на больших лагах. То есть, иногда зависимость в данных живет "долго".

Почему бы не предположить, что нелинейные зависимости в данных тоже сохраняют постоянство какое то время, которого может хватить на обучение сети и ее практическое применение в будущем?

Ну, видите ли, - Ваши рассуждения сейчас звучат так: "может быть, хватит [на какой-то кусок будущего] при наличии определенных условий".

Т.е. может быть, да, а может и нет - да еще и при определенных условиях.

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

1) Не стоит пытаться предсказать значение следующего бара. Вообще, не надо предсказывать цену.

2) Данные для обучения сети должны быть стационарны (sic!). Данные должны быть непротиворечивы.

3) Информации крайне мало, т.к. область весьма молодая. И, как простодушно заметил автор одного из документов - "Because of their commercial value, it is unlikely that successful prediction methods will be made public".

Несмотря на это удалось построить годную модель (как мне сейчас кажется). Тестирую вот, ищу подводные камни.

 

В основном, согласен с Вами по всем пунктам.

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

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

Я конечно не могу доказать вам свою правоту, тем более, что я сам СОМневаюсь. Можно попробовать: взять выборку котировок побольше - тогда все автокорреляции отвалятся, Вы понимаете... И можно смотреть, обучится сеть или нет. Если нет, значит перед нами набор противоречивых паттернов - т.е. ряд случаен. А вдруг обучится, тогда уже мы поймали нелинейно детерминированную систему в какой то ее стадии жизни. ))) Просто мысли. Я попробую что то сделать. Если получится, напишу.

Вам удачи в доработке вашей системы!

 

Вам тоже удачи и спасибо за пожелания :-) Вдруг у вас получится (у меня вот, в русле того о чем вы пишете - не получилось).

Во всяком случае, хорошо что вы в такие дебри полезли - отважное решение, т.к. времени (а следственно, денег) будет потрачено немало. Зато вы найдете что-то такое, чего на истоптанных дорожках "машек" и "регрессий" не найдет никакой граалеписатель... :D Ну, это в качестве мотивации.

Пишите если получится - можно в личку!

 
Здесь рыбы нет.
 
Swetten:
Здесь рыбы нет.


- "Кто говорит?"

- "Директор стадиона"

(с) ералаш.

Причина обращения: