Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1004

 
Mikhail Khlestov:

раньше брал другой продукт у них, проблем не было. А тут началось.

А продавцы как оценивают ситуацию - всё идет по плану?

 
СанСаныч Фоменко:

Все закономерно: любители поделух обязательно наказываются. ВСЕГДА. 

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

 
СанСаныч Фоменко:

Пожалуйста




Формула подсчета ошибки показана в заголовке таблицы. Поясню на последнем примере nnet: 204/(204+458) = 30,8%, т.е. всего модель дала 662 единицы, из них 204 были ложными.

Результаты примерно одинаковы на 12 валютных парах, т.е. работоспособность модели практически не за висит от модели и валютной пары.

Такой результат получен за счет тщательной работы с предикторами, предсказательная способность которых крайне мало меняется при прогоне окна 500 свечей по файлу 5000 свечей. Изменения ско в пределах 5%.



ПС.

Тестер пока не могу показать - заело в применении тестера для файлов свыше 1000 бар.

А в качестве целевой что у вас? Знак ZZ?

 
Alexander_K2:

Движимый неистовым желанием оживить данную ветку, и принимая во внимание, что прогнозирование возможно исключительно и только на стационарных ВР

(1. Колмогоров А. Н. Интерполирование и экстраполирование стационарных случайных последовательностей 

2. Wiener N. Extrapolation, interpolation and smoothing of stationary time series)

вопрошаю:

По сути, величина CLOSE[i]-OPEN[i] это не что иное, как сумма приращений.

Последовательность таких величин должна, в пределе, стремиться к нормальному распределению.

Так вот, есть мнение, что последовательность ретурнов (CLOSE[i]-OPEN[i])-(CLOSE[i-1]-OPEN[i-1]) представляет из себя стационарный ряд.

Кто-нибудь пробовал такую вещь подавать на вход НС и каковы были результаты???


P.S. Макс, Док, Мишаня, Колдун, Алёша... На кого ж вы эту ветку-то бросили? А?

1) Не должна. Например, она может иметь много разных предельных распределений.

2) Скорее всего неверное. Я уже приводил вам контрпример вершина\дно. Нестационарность - это "не баг, а фича", которая появляется в результате действий маркет-мейкеров, избавляющих основную массу трейдеров от "излишков".

 
elibrarius:

А в качестве целевой что у вас? Знак ZZ?

Приращение 

Из ZZ можно сделать шикарного трендового учителя, но не сумел подобрать к этому учителю предикторов - все дают ошибку около 50%
 
Alexander_K2:

А Колмогоров, вообще, смотрю - особое внимание уделял В(к)=М[x(t)*x(t-к)]=M[(CLOSE[i]-OPEN[i])*(CLOSE[i-к]-OPEN[i-к])]  и отказывался что-либо прогнозировать, если эта функция не имела вполне определенного вида.

Может имеет смысл ставить определенные условия на работу НС?

Скажем, пропускать нестационарные куски ВР, исследуя, к примеру, вторые ретурны или В(к)?

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

Касательно нейронки - нельзя просто засунуть в неё какой-то временной ряд, обучить её до максимального результата, и ждать прибыли. Это приведёт к "оверфит"-у - нейронка просто запоминает имеющиеся у неё данные, и неспособна адекватно работать на новых данных. Нужно подбирать её параметры обучения, и иногда останавливать обучение и делать разные кросс-валидации чтоб убедиться что оверфит ещё не наступил. 
Если всё сделать правильно, то обучение остановится довольно рано, когда R2 чуть выше ноля. На графике эквити будет стабильная прибыль и на тренировочных и на новых данных, но спред больше чем пара пунктов уже загонит всё в минус. Для большей точности нужно или использовать глубокие сети и недели на обучение, или самому подбирать различные индикаторы которые подавать нейронке вместе временного ряда.

 
Alexander_K2:

А Колмогоров, вообще, смотрю - особое внимание уделял В(к)=М[x(t)*x(t-к)]=M[(CLOSE[i]-OPEN[i])*(CLOSE[i-к]-OPEN[i-к])]  и отказывался что-либо прогнозировать, если эта функция не имела вполне определенного вида.

Может имеет смысл ставить определенные условия на работу НС?

Скажем, пропускать нестационарные куски ВР, исследуя, к примеру, вторые ретурны или В(к)?

не, не работает это

На рынке есть одно неплохое св-во для фича инжениринга - взаимосвязь фин. инструментов. Можно создать похожие но немного отличающиеся от исходного инструменты и смотреть распределения между ними. А из одного ВР извлекать фичи все уже запарились :)

 
СанСаныч Фоменко:

Приращение 

Из ZZ можно сделать шикарного трендового учителя, но не сумел подобрать к этому учителю предикторов - все дают ошибку около 50%

ZZ - коварный индюк для целевых, с ним нужно выборку готовить по особому, что бы самого себя не обмануть.

точность "около 50" это вполне нормально, если используются шаровые данные, выше 53% вполне можно торговать, а вообще accuracy для этого - хреновая метрика, легко может быть accuracy ~50%+-1% а корреляция с предсказанных приращений с рынком >5%(0.05) а это огого, ну не грааль конечно, но достаточно чтобы торговать в портфеле с другими стратегиями. Используйте или кореляцию или R^2, ну или логлос если привыкните к нелинейности

 
Maxim Dmitrievsky:

А из одного ВР извлекать фичи все уже запарились :)

Все-таки мы имеем дело как бы с 2-мя потоками:

1. поток событий - время появления новой котировки (интервалы между ними)

2. собственно сам ценовой ряд в этом потоке событий.

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

К чему это я?

А! К тому, что, все-таки, "прореживание" потока событий играет большую роль. Возможно - ключевую. Алешенька-сынок не даст соврать. Но, пока это все у меня "в процессе..."

 
Alexander_K2:

Все-таки мы имеем дело как бы с 2-мя потоками:

1. поток событий - время появления новой котировки (интервалы между ними)

2. собственно сам ценовой ряд в этом потоке событий.

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

К чему это я?

А! К тому, что, все-таки, "прореживание" потока событий играет большую роль. Возможно - ключевую. Алешенька-сынок не даст соврать. Но, пока это все у меня "в процессе..."

Так он уже признался что сливал сколько-то лет, потом отыграл слитое и теперь ниче у него не работает

если бы была реальная закономерность при трансформации ВР то работала бы и поныне. Байки про то что рынки сейчас более эффективные, и "а вот раньше -то я огого" не работают

собственно здесь больше некого разоблачать уже, как бы они не сопротивлялись исход один :) Так что Алешенька плохая притча во языцех, нужна новая

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