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

 
elibrarius:

Может и здравые...

Но нам все доказывали и обосновывали в ВУЗе, еще и эксперименты на лабораторных делали. А не говорили "Считайте это за истину, не требующую доказательств."

с этим согласен ) но он вроде описывал всю теорию в других ветках, просто надо все перечитывать

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

 
Maxim Dmitrievsky:

с этим согласен ) но он вроде описывал всю теорию в других ветках, просто надо все перечитывать

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

100+ страниц читать - время дороже) Я его не сжимаю/разжимаю)) Оно уходит без возврата.
Важные вещи нужно в блог выносить или в статью (но ее еще принять должны) в блог проще. А иначе так и забудется все что хотел сказать и другими, да и свои мысли забываются со временем. А потом кидать ссылку на блог в форум и обсуждать...
 
Aleksey Terentev:

На данный момент, есть стабильная модель. Над ней еще нужно поработать, но занят другими задачами.

Вход = цены + 13, 26 ема;

Препроцессинг, на выходе = сигмоида(макс, мин, закрытие), дельта(открытие-закрытие), производная(макс, мин, закрытие), логарифм производной(макс, мин, закрытие), детренд(закр-ема13, закр-ема26), ема(13, 26), производные ема(13, 26); Преобразование датасета в датасет таймсерий (1 свеча + 5последних). Итого 16 х 6 = 96 параметров.

Архитектура:
BatchNormalization(96);
GRU(96, L2, Dropout=0.5, 'elu');
GRU(64, L2, Dropout=0.5, 'elu');
BatchNormalization(64, Dropout=0.3);
Dense(32, Dropout=0.3, 'elu');
Dense(16, 'elu');
Dense(8, 'elu');
Dense(3, 'softmax');
Optimizer=Nadam;
Loss=Categorical crossentropy;

Выход сигналы BouncedMA на свечу вперед (выше в ветке);

Оценки: loss ~0.7-0.8; accuracy ~0.55;
Но! Такие оценки модели не говорят о качестве ее сигналов. Они ниже, за счет того что сигналы обучающие = 1.0, 0.95, 0.0, -0.95, -1.0, А прогноз классов на бай/селл колеблется ~abs(0.45, 0.7).
Также, из дата сета в 5000 строк, обучение проходит на 0.8 части, то есть модель не видит даже последние данные по котировкам (~1000 строк). Прогноз ведется на последних 100 свечках.

Как видите, обучение можно останавливать на ~45 эпохе.


Код, Индикатор.

Вот такими должны быть посты в этой теме. Воспроизводимые данные, код и результат. Это можно обсуждать, дополнять и сравнивать. Все остальное пустословие не имеющее никакой ценности.

Молодца. Я чуть позже покажу  эту же модель в R/MT, сравним как по объему кода так и по качеству. Сейчас тоже сильно занят. Но обязательно вернусь к этой теме.

Удачи

 
Alexander_K2:

Еще раз.

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

Вы не знаете их ни для цен, ни для приращений, ни для времени между котировками. Более того, Вы даже не пытаетесь привести их к тому или иному виду. Как же можно прогнозировать? Эти позорные тиковые архивы уже миллиард трейдеров перепахали. Результат = 0.

Я совсем чуть-чуть поработал с этим и каждую неделю в плюсе. Я уже практически схватил Грааль за уши вчера (а это мой кот Шредингера оказался...)

Александр! Ваши рассуждения достойны блога или статей, на форуме теряется нить.. подумайте над этим, может быть основные мысли выносить в блог, хотя бы тезисно, и давать ссылку, что бы хронология сохранялась.. времени не должно много занять

 

Я прошу Человека с большой буквы не полениться и представить модель своей НС последовательно:

1. на входе приращения неважно с каким временем между ними

2. вход - приращения с экспоненциальным временем между котировками.

3. для разных объемов выборки

Оформить в виде статьи (чтобы не задаром).

 
Maxim Dmitrievsky:

Александр! Ваши рассуждения достойны блога или статей, на форуме теряется нить.. подумайте над этим, может быть основные мысли выносить в блог, хотя бы тезисно, и давать ссылку, что бы хронология сохранялась.. времени не должно много занять

Да-да. Думаю над статьей, да все некогда.

 
Alexander_K2:

1. на входе приращения неважно с каким временем между ними

2. вход - приращения с экспоненциальным временем между котировками.

for(int i=start;i<rates_total;i++) 
    {
     Buffer1[i]=close[i]/close[i-1];
     Buffer2[i]=close[i]/close[i-3];
     Buffer3[i]=close[i]/close[i-7];
     Buffer4[i]=close[i]/close[i-20];
     Buffer5[i]=close[i]/close[i-53];
     Buffer6[i]=close[i]/close[i-143];
     Buffer7[i]=close[i]/close[i-387];
     Buffer8[i]=close[i]/close[i-1046];
    }
в таком виде нормально подавать? или нужна разница?
 
Maxim Dmitrievsky:
в таком виде нормально подавать? или нужна разница?

У меня генератор экспоненциальных чисел задает время считывания котировки

 
Alexander_K2:

У меня генератор экспоненциальных чисел задает время считывания котировки

здесь точно так же, только берутся данные с произвольного ТФ, не по тикам.. мб в тиках нет смысла? т.к. в любом масштабе должно же выходить на одно и то же распределение

 
Maxim Dmitrievsky:

здесь точно так же, только берутся данные с произвольного ТФ, не по тикам.. мб в тиках нет смысла? т.к. в любом масштабе должно же выходить на одно и то же распределение

Может и нет. Я уже привык к ним просто.

Важно, чтобы в статье была методология, чтобы прослеживалась нить экспериментов со временем. И эта вещь не потеряется - будет что обсуждать и останется как память.

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