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

[Удален]  
mytarmailS #:
Ошибка множественного тестирования(p- hacking)

Те ето заеономерно с математической точки зрения
Да
 

как написать форму выходной вероятности модели логистической регрессииCV

Ниже приведен код и приложена модель

кто-нибудь, помогите пожалуйста

//+------------------------------------------------------------------+
//|                                                         onnx.mq5 |
//|                                  Copyright 2023, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
long onnx_handle;
int OnInit()
    {
//"ONNX files (*.onnx)|*.onnx|All files (*.*)|*.*"
     string file_names[];

     if(FileSelectDialog("Open ONNX model", NULL, "ONNX files(*.onnx)|*.onnx", FSD_FILE_MUST_EXIST, file_names, NULL) < 1)
          return 1;

     onnx_handle = OnnxCreate(file_names[0],
                                   ONNX_DEBUG_LOGS);

     if(onnx_handle == INVALID_HANDLE)
         {
          Print("invalid ");
          Print(GetLastError());
         }


     Print(file_names[0]);


//input shape
     long getinput = OnnxGetInputCount(onnx_handle);
     long outputcount = OnnxGetOutputCount(onnx_handle);

     OnnxTypeInfo type;








     string inputName = OnnxGetOutputName(onnx_handle, 1);

     OnnxGetOutputTypeInfo(onnx_handle, 0, type);

     string sa = EnumToString(type.type);

     OnnxTensorTypeInfo tensor;

     tensor = type.tensor;

     long dimension = tensor.dimensions[0];

       long inputshape[]={1,33};
       

bool inpshape=OnnxSetInputShape(onnx_handle,0,inputshape);

     long  Outputlabel[]={1};

bool outputshape=OnnxSetOutputShape(onnx_handle,0,Outputlabel);

     long  Outputprobability[]={1,1};
     
  bool outputshape2=OnnxSetOutputShape(onnx_handle,1,Outputprobability);

    


     EventSetTimer(1);

//---
     return(INIT_SUCCEEDED);
    }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
    {
//--- destroy timer
     EventKillTimer();

    }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
    {
//---

    }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
    {
    
       
//---
   struct Map
     {

    }
//+-------------------------

Файлы:
 
Maxim Dmitrievsky #:
ластеры, в которых меньше всег
Вот этот пост очень хорош. Потому что просто код - трудно понять. А тут и подход и алгоритм по шагам. Статью бы. Спасибо. Метка определяется в соответствии со средним значением меток внутри кластера - как еще можно определять метки?
[Удален]  
Ilnur Khasanov #:
Вот этот пост очень хорош. Потому что просто код - трудно понять. А тут и подход и алгоритм по шагам. Статью бы. Спасибо. Метка определяется в соответствии со средним значением меток внутри кластера - как еще можно определять метки?
Привет :) нужно, чтобы в целом (по сумме всех прибылей сделок кластера) разметка кластера оставалась прибыльной, потому что иначе зачем обучать торговать не прибыльно. Можно по медиане, можно не исправлять, а удалять примеры с противоположными метками. Можно исправлять частично. Можно посчитать не по количеству нулей и единиц, а по суммарной прибыли для нулей и единиц или по средней прибыли. Дальше мысль пока не уходила.
 
Maxim Dmitrievsky #:
Привет :) нужно, чтобы в целом (по сумме всех прибылей сделок кластера) разметка кластера оставалась прибыльной, потому что иначе зачем обучать торговать не прибыльно. Можно по медиане, можно не исправлять, а удалять примеры с противоположными метками. Можно исправлять частично. Можно посчитать не по количеству нулей и единиц, а по суммарной прибыли для нулей и единиц или по средней прибыли. Дальше мысль пока не уходила.

Вполне согласен, чт что по имеющемуся кластеру ВСЕГДА можно указать соответствующую метку.

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

Но это  обучение!

Но реальность совершенно другая: по имеющемуся/имеющимся кластеру/кластерам сказать какая метка будет в будущем! и когда под эту будущую метку сформируется кластер и для сформированного кластера мы одно значно назначим метку, то совпадет предсказанная метка с фактической?

Т.е. будущая метка определяется вероятностью.

[Удален]  
СанСаныч Фоменко #:

Вполне согласен, чт что по имеющемуся кластеру ВСЕГДА можно указать соответствующую метку.

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

Но это  обучение!

Но реальность совершенно другая: по имеющемуся/имеющимся кластеру/кластерам сказать какая метка будет в будущем! и когда под эту будущую метку сформируется кластер и для сформированного кластера мы одно значно назначим метку, то совпадет предсказанная метка с фактической?

Т.е. будущая метка определяется вероятностью.

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

Я сформулировал для себя через теорию обучения. Уменьшая переобучение на шум, улучшается результат на новых данных. То есть не утверждается, что создаётся Грааль. Утверждается, что снижается переобученность, как следствие - лучше на новых данных. А этого уже достаточно для большинства трейдунов. 

Достаточно простые предпосылки и оригинальная реализация. 
 
Maxim Dmitrievsky #:
Вообще не хотелось бы продолжать эту тему, потому что кто-то не понимает чем обучение отличается от оптимизации.

Я не понимаю. Не продолжаем.

[Удален]  
fxsaber #:

Я не понимаю. Не продолжаем.

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

В итоге перевираются все сообщения.
 

Maxim Dmitrievsky #:

Уменьшая переобучение на шум, улучшается результат на новых данных. 

Вашим методом упрощается обучение модели. Для нее как бы шума меньше и она легче обучится. Тому же дереву будет проще выделить в данных кластер в котором все 100% примеров =1, а не 60% примеров.
Но помечая 40% примеров другим классом, вы добавляете шум в торговлю, вместо 0 ставите 1.

Но графики у вас достаточно стабильно и перспективно выглядят и на ООС.
Не планируете сигнал сделать? Даже без подписки, просто чтобы посмотреть, что в реале на ООС будет.

[Удален]  
Forester #:

Вашим методом упрощается обучение модели. Для нее как бы шума меньше и она легче обучится. Тому же дереву будет проще выделить в данных кластер в котором все 100% примеров =1, а не 60% примеров.
Но помечая 40% примеров другим классом, вы добавляете шум в торговлю, вместо 0 ставите 1.

Но графики у вас достаточно стабильно и перспективно выглядят и на ООС.
Не планируете сигнал сделать? Даже без подписки, просто чтобы посмотреть, что в реале на ООС будет.

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

Да, вы верно интерпретируете весь процесс.