Gibt es ein Muster in diesem Chaos? Lassen Sie uns versuchen, es zu finden! Maschinelles Lernen am Beispiel einer bestimmten Stichprobe. - Seite 5

 
elibrarius #:
Wir brauchen ein genaues Finanzergebnis ohne Fehler. Ohne sie ist die Bilanz unzuverlässig.
Fin. res. wenn wir 0 wählen (Sie können nicht einschließen, es wird immer 0 sein), wenn 1, wenn -1. Immer, auch wenn Sie als 0 Klasse markieren, nicht handeln. Das Modell wird falsch sein, und es ist notwendig, den Preis für den Fehler zu kennen.

Es ist nicht das Modell, das die Richtung der Einreise bestimmt, so dass, wenn es einen Fehler mit der Richtung ist, wird es keine Einreise und daher keinen Verlust sein.

 
Aleksey Vyazmikin #:

Es ist nicht das Modell, das die Richtung des Einstiegs bestimmt. Wenn es also einen Fehler bei der Richtung gibt, gibt es keinen Einstieg und somit auch keinen Verlust.

Ich habe von der Klasse 0 geschrieben, die manchmal mit 1 oder -1 vorhergesagt wird. Sie haben geschrieben, dass das finanzielle Ergebnis unbekannt ist.

 
Aleksey Vyazmikin #:

Es ist nicht das Modell, das die Richtung des Einstiegs bestimmt

Wenn es nicht das Modell ist, das die Richtung vorgibt, ist es auch nicht nötig, es zu lehren.

 
elibrarius #:

Ich schrieb über die Klasse 0, die manchmal als 1 oder -1 vorhergesagt wird. Du hast über ihn geschrieben, dass das finanzielle Ergebnis unbekannt ist.

Geben Sie nur nicht die Richtung auf.

Wenn die Klasse Null ist und die Richtung +1 ist und als 1 eingestuft wurde, gibt es einen Verlust - nehmen Sie eine beliebige Spalte mit dem finanziellen Ergebnis modulo.

Wenn die Klasse Null ist und die Richtung +1 ist, aber als -1 eingestuft wurde, dann gibt es keinen Eintrag und keinen Verlust.

Wenn die Klasse gleich Null ist und die Richtung gleich -1 ist und als -1 eingestuft wurde, gibt es einen Verlust - nehmen Sie eine beliebige Spalte mit dem Finanzergebnis modulo.

Wenn die Klasse Null ist und die Richtung -1 ist und als 1 klassifiziert wurde, gibt es keinen Eintrag, es gibt keinen Verlust.

elibrarius #:

Wenn es nicht das Modell ist, das es bestimmt, gibt es keinen Grund, es zu lehren.

Die Logik hier ist einfach - eine Reihe von Prädiktoren, oder sogar ihre Werte, gravitieren mehr zu einer bestimmten Richtung der Preisbewegung. Wenn wir alles zusammen nach Klasse 1 und 0 unterrichten, wählen wir im Wesentlichen Prädiktoren aus, die eine starke Bewegung in eine der Richtungen bestimmen - und davon gibt es in der Regel nicht viele, aber wenn wir jeder Richtung eine eigene Klasse geben, verschwinden einige statistische Widersprüche, und das Modell kann bereits Indikatoren eines Prädiktors an verschiedenen Enden seines Wertes enthalten, z. B. RSI 70/30 kann leicht getrennt werden.

Theoretisch ist die Klasse Null flach, so dass sie für jede Richtung ähnlich genug sein sollte. Auch hier habe ich die Stichprobe in zwei Teile geteilt - nach Einstiegsrichtung - und das hat die Lernergebnisse verbessert, d.h. ein höherer Prozentsatz der Modelle erfüllte das Kriterium der Gewinnschwelle.

 
Aleksey Vyazmikin #:

Wenn die Klasse Null und die Richtung +1 ist und sie als -1 eingestuft wurde, gibt es keinen Eintrag, keinen Verlust.

Der Lehrer darf nicht einsteigen. Aber das Modell wird einen Fehler machen und in den Markt einsteigen. Das Modell weiß nichts über 0 und +1 vom Lehrer, es hat die Prognose -1 erhalten und wird handeln

 
elibrarius #:

Der Lehrer tritt vielleicht nicht ein. Aber das Modell wird einen Fehler machen und auf den Markt gehen. Oder haben Sie einen bedingten Operator, der dem Modell verbietet, so zu handeln, wie es vorhergesagt hat? Ich fürchte, ich kann einen solchen Operator nirgends unterbringen, um ein Gleichgewicht herzustellen.

Im Moment gibt es keinen Operator, aber es gibt Daten dafür und sie sind in der Spalte "Target_P" eingetragen - also kann alles recht erfolgreich funktionieren.

Hier ist ein Beispiel für die Codelogik, die ich für die Erstellung der Bilanz skizziert habe

int Prognoz=0;//Сюда запишем прогноз
int Target_100[];//Фактическая целевая
int Target_P[];//Тип сделки - покупка/продажа
double Target_100_Buy[];//Финансовый результат от покупки
double Target_100_Sell[];//Финансовый результат от продажи
double Fin_Rez[];//Финансовый результат
int Strok_Total=0;//Всего строк
int Index_Fin_Rez=1;//Считаем число классифицированных 1 и -1 - это размер массива баланса и индекс массива Fin_Rez
ArrayResize(Target_100,Strok_Total);
ArrayResize(Target_P,Strok_Total);
ArrayResize(Target_100_Buy,Strok_Total);
ArrayResize(Target_100_Sell,Strok_Total);
ArrayResize(Fin_Rez,Strok_Total);
ArrayInitialize(Fin_Rez,0);
/*
Прочли данные файла в массивы - не знаю как реализовано у Вас
*/
for(int i=0; i<Strok_Total; i++)
{
/*
Сделали прогноз
*/
   if(Prognoz==-1 && Target_P[i]==-1)
   {
      Fin_Rez[Index_Fin_Rez]=Fin_Rez[Index_Fin_Rez-1]+Target_100_Sell[i];
      Index_Fin_Rez++;
   }
   if(Prognoz==1 && Target_P[i]==1)
   {
      Fin_Rez[Index_Fin_Rez]=Fin_Rez[Index_Fin_Rez-1]+Target_100_Buy[i];
      Index_Fin_Rez++;
   }
}
ArrayResize(Fin_Rez,Index_Fin_Rez);
 
Aleksey Vyazmikin #:

Im Moment gibt es keinen Operator, aber es gibt Daten für ihn und sie werden in die Spalte "Target_P" geschrieben - es kann also alles ganz gut funktionieren.

Hier ist ein Beispiel für die Codelogik, die ich skizziert habe, um die Waage aufzubauen

Das Modell sollte nur gemäß der Prognose handeln. Wenn Sie das Ergebnis anhand des Lehrers berechnen, ist das ein Blick in die Zukunft. Der Handel sollte nur nach der Prognose erfolgen. Sie werden in der realen Zukunft kein Target_100_Sell haben.

Das Modell weiß nichts von 0 und +1 aus dem Teacher, es hat -1 Prognose und wird handeln. Sie müssen nur das finanzielle Ergebnis der einzelnen Prognosevarianten kennen.

 
elibrarius #:

Das Modell sollte nur entsprechend der Prognose handeln. Wenn Sie das Ergebnis mit Hilfe des Lehrers berechnen, ist es ein Blick in die Zukunft. Der Handel sollte nur auf der Grundlage von Prognosen erfolgen.

Das Modell weiß nichts von 0 und +1 aus dem Teacher, es hat die Prognose -1 und wird handeln. Sie müssen nur das finanzielle Ergebnis jeder Prognosevariante kennen.

Was hat das Peeken damit zu tun? Wir ändern das Ziel, um das Lernen zu verbessern, nicht um die Logik des EA zu ändern. Die Logik ist, dass wir die Richtung für den Einstieg ohne das Modell kennen, und das Modell sollte uns sagen, ob wir einsteigen sollten oder nicht.

 
Aleksey Vyazmikin #:

und das Modell sollte Ihnen sagen, ob Sie reingehen sollen oder nicht.

Das haben wir bereits überprüft.

 
elibrarius #:

Das haben wir bereits überprüft.

Sehen Sie, wir haben Einstiegspunkte - Musterlinien, und wir haben ein finanzielles Ergebnis, das durch Ausstiegspunkte definiert ist, nämlich die Stellen, an denen ein Stop-Loss oder ein anderes Signal gesetzt wird. Sie wollen entgegen der Strategie in den Markt einsteigen, d.h. dort kaufen, wo Sie verkaufen sollten, wenn das Modell das sagt, und dafür müssen Sie neue Ausstiegspunkte definieren. Es stellt sich die Frage, wenn der Ausstiegspunkt noch nicht aufgetaucht ist, der Einstiegspunkt aber schon, was soll man dann tun - schließen und das Modell nach der Einstiegsrichtung fragen, oder was?

Grund der Beschwerde: