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

 
Anatolii Zainchkovskii:

абсолютно верно, но у вас есть преимущество задать портфелю такую форму при которой ваш анализ можно делать каждый час, не дожидаясь пока такая форма появится на одной паре. скажу иначе, к примеру анализирую просто 10 баров по истории чтобы предсказать 1 бар в будущем, нейросеть найдёт сотни паттернов из этих 10 баров, а я предлогаю 1 паттерн и на форвардах обучить нейросеть.


НС сама вряд-ли что-то найдет, сначала все равно статаналз делать надо.. или найдет такое, что не пойми что. Я все-таки стараюсь подгонять НС уже под существующие ТС, просто что бы не прописывать все правила вручную

ну в любо случае можете взять alglib да попробовать, там в 5 строчек НС обучается

 
Maxim Dmitrievsky:

НС сама вряд-ли что-то найдет, сначала все равно статаналз делать надо.. или найдет такое, что не пойми что. Я все-таки стараюсь подгонять НС уже под существующие ТС, просто что бы не прописывать все правила вручную

ну в любо случае можете взять alglib да попробовать, там в 5 строчек НС обучается


так нигде примера нет как юзать НС из Алглиб, я через поиск и пришёл в эту ветку, увидел что ты её пробовал внедрить. читаю дальше вижу что ты пришёл к рандом форест, о чём мне уже давно говорят....  а на счёт стат анализа я ведь е просто так сказал что 50/50, гонял робота и исходы в файл писал... так как сам не могу увидеть какие признаки могут менять или иметь значение для исхода потому и пришёл к тому чтобы нейросеть опознала то что я человек не вижу...

 
Anatolii Zainchkovskii:

так нигде примера нет как юзать НС из Алглиб, я через поиск и пришёл в эту ветку, увидел что ты её пробовал внедрить. читаю дальше вижу что ты пришёл к рандом форест, о чём мне уже давно говорят....  а на счёт стат анализа я ведь е просто так сказал что 50/50, гонял робота и исходы в файл писал... так как сам не могу увидеть какие признаки могут менять или иметь значение для исхода потому и пришёл к тому чтобы нейросеть опознала то что я человек не вижу...

Здесь пример рэндом форест, на примерах из таблицы умножения учится и потом уже обученный считает примеры (выдает ответы в лог)
#include <Math\Alglib\dataanalysis.mqh>
//+------------------------------------------------------------------+
#define _rand(min,max) ((rand()/(double)SHORT_MAX)*((max)-(min))+min)
//+------------------------------------------------------------------+
void OnStart()
{
   MathSrand(1600);
   CDecisionForest      Trf;
   //CDecisionForestShell RFshell;
   CMatrixDouble        PatternsMatrix;
   CDFReport            RF_report;
   int RFinfo;
   double vector[2], out[1];
   
   // подготовка данных
   PatternsMatrix.Resize(100,3);
   int m=0;     // first pattern
   for(int i=1; i<=10; i++)
      for(int j=1; j<=10; j++)
      {
         PatternsMatrix[m].Set(0,i/10.0);       // input 1
         PatternsMatrix[m].Set(1,j/10.0);       // input 2
         PatternsMatrix[m].Set(2,(i*j)/100.0);  // target
         m++; //next pattern
      }
   // создание RF
   CDForest::DFBuildRandomDecisionForest(PatternsMatrix,100,2,1,500,0.95,RFinfo,Trf,RF_report);
   Print("Info=",RFinfo,"   RMSE Error=",DoubleToString(CDForest::DFRMSError(Trf,PatternsMatrix,100),5));  
   // проверка сети на целочисленных данных
   string s="Тест 1 >> ";
   for(int i=1; i<=10; i++)
   {
      int d1=(int)_rand(1,10), d2=(int)_rand(1,10);
      vector[0]=d1/10.0;
      vector[1]=d2/10.0;
      CDForest::DFProcess(Trf,vector,out);
      s+=(string)d1+"*"+(string)d2+"="+DoubleToString(out[0]*100,0)+" // ";
   }
   Print(s);
   // проверка сети на дробныx данных
   s="Тест 2 >> ";
   for(int i=1; i<=5; i++)
   {
      double d1=NormalizeDouble(_rand(1,10),1), d2=NormalizeDouble(_rand(1,10),1);
      vector[0]=d1/10.0;
      vector[1]=d2/10.0;
       CDForest::DFProcess(Trf,vector,out);
      s+=DoubleToString(d1,1)+"*"+DoubleToString(d2,1)+"="+DoubleToString(out[0]*100,2)+
         "("+DoubleToString(d1*d2,2)+") // ";
   }
   Print(s);
}
и здесь пример для MLP https://www.mql5.com/ru/forum/8265/page2#comment_333746
Библиотеки: ALGLIB - библиотека численного анализа
Библиотеки: ALGLIB - библиотека численного анализа
  • 2012.10.12
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: ALGLIB - библиотека численного анализа
 
Maxim Dmitrievsky:

ну нестационарность портфеля, он же не ходит от сигмы до сигмы, а крэшетс периодичски.. а потом пересчитал и опять крэшется

Он не должен ходить от сигмы до сигмы, а должен жить пока жива коинтеграция между рядами.


ПС. Коинтеграция, это когда сложили специальным образом два нестационарных ряда и получили стационарный ряд в силу этого специального сложения. Для этого имеется специальный тест. Эта идея широчайше применяется у портфелистов.

Куча тестов, которые гарантируют от "крэша". 

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

Он не должен ходить от сигмы до сигмы, а должен жить пока жива коинтеграция между рядами.


ПС. Коинтеграция, это когда сложили специальным образом два нестационарных ряда и получили стационарный ряд в силу этого специального сложения. Для этого имеется специальный тест. Эта идея широчайше применяется у портфелистов.

Куча тестов, которые гарантируют от "крэша". 


а то я не знал :) есть и другие "вариации на тему"

и без тестов все видно в тестере

https://www.mql5.com/ru/code/19630

Cointegration
Cointegration
  • голосов: 18
  • 2017.12.26
  • Maxim Dmitrievsky
  • www.mql5.com
Индикатор находит коэффициенты линейной регрессии для каждого из выбранных инструментов со всеми остальными, и выводит на график в виде стандартных отклонений. Сумма всех кривых...
 
Maxim Dmitrievsky:
Здесь пример рэндом форест, на примерах из таблицы умножения учится и потом уже обученный считает примеры (выдает ответы в лог)
и здесь пример для MLP https://www.mql5.com/ru/forum/8265/page2#comment_333746

вот это подарок. спасибо Макс!!!

 
Maxim Dmitrievsky:

а то я не знал :) есть и другие "вариации на тему"

и без тестов все видно в тестере

https://www.mql5.com/ru/code/19630

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

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

символы нужно подбирать.. он может считать линейную регрессию для множества символов, не только 2-х. Даже больше скажу, для 2-х будет считать не совсем правильно, т.к. пересчитает лин. реграссию 2 раза, потмоу что изначально делал мультивалютным. Есть бот, результаты скидывал в другую тему. Зарабатывает на некоторых индексах, которые имеют явную зависимость, но прибыль небольшая порядка 100% годовых.

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

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

вот на первом коинтеграция, и канал построен, а на втором как накрывается эта самая коинтеграция...

вот ещё пример как рушится коинтеграция...
Файлы:
g7p4.png  47 kb
0zz22.PNG  56 kb
 
Maxim Dmitrievsky:

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

символы нужно подбирать.. он может считать линейную регрессию для множества символов, не только 2-х. Даже больше скажу, для 2-х будет считать не совсем правильно, т.к. пересчитает лин. реграссию 2 раза, потмоу что изначально делал мультивалютным. Есть бот, результаты скидывал в другую тему. Зарабатывает на некоторых индексах, которые имеют явную зависимость, но прибыль небольшая порядка 100% годовых.

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

п.с. не видел ни одного человека, успешно торгующего коинтегрированные инструменты на форексе (потмоу что таковых почти нет)

На форексе серьезных людей нет - это рынок копеечных ставок. Поэтому не показатель.

У меня такая модель есть, но она уперлась в спред, который ко всему у меня переменный.

На других рынках модели векторной авторегрессии широчайше применяются, полно готового инструмента. Грэйнджер процветает