Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Lesen Sie noch einmal über OLAP. Vielleicht verstehe ich es nicht richtig, aber das Optimum ist nicht zu finden.
Welchen Sinn hat es, solche Datenausschnitte einfach zu plotten?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Bibliotheken: BestInterval
fxsaber, 2018.10.12 16:24
Also, wenn ich das richtig verstanden habe, ist eine Verallgemeinerung auf die Bibliothek leider nicht möglich.
Aber eine Verallgemeinerung ist natürlich möglich.
Ich habe viel nachgedacht, aber mir fällt nichts ein, was sich so gut filtern lässt wie die Zeit.
Dieses Etwas sollte nicht Teil der Strategie sein und sollte das Marktverhalten direkt beeinflussen.
ein Stack? andere Datenfeeds?
Und noch eine Frage - macht es Sinn, Hypercubes zu erstellen? Ich denke, dass es auch individuell gut gefiltert werden sollte.
Parameter, Symbole, Wochentage (sie scheinen auch "Zeit" zu sein, aber ich habe sie nicht in BestInterval verwendet gesehen), Haltedauer (scheint auch "Zeit" zu sein, aber nicht absolut, sondern relativ), Losgrößen, Anzahl der Trades mit einem bestimmten Ergebnis in der Close History, etc.
Hypercube ermöglicht die Auswertung von Daten in verschiedenen Kombinationen - es bietet eine multiparametrische Analyse. Nach dieser Logik kann man sich fragen, warum wir den Expert Advisor für alle Parameter auf einmal optimieren und nicht für einen nach dem anderen - das wäre weniger kostspielig, und manche Leute müssen das tun, wenn die Anzahl der Parameter zu hoch ist.
Lesen Sie noch einmal über OLAP. Vielleicht habe ich es falsch verstanden, aber dort gibt es kein Optimum zu finden.
Welchen Sinn hat es, solche Querschnitte von Daten einfach nur zu zeichnen?
Wenn ich also richtig verstanden habe, hat die Verallgemeinerung leider nichts mit der Bibliothek zu tun.
Aber eine Verallgemeinerung ist natürlich möglich.
Nun, in diesem Sinne kann man den Hyperwürfel als intermediäre Metadaten betrachten, in denen es einfach ist, ein Optimum im Sinne des BestInterval-Ansatzes zu finden - oder? Es genügt, alle Hyperwürfel-Einträge an einen zu maximierenden Wert zu "binden" (z. B. Gewinn) und den Hyperwürfel zu filtern (wie BestInterval die Zeit filtert), um die besten Werte für andere Parameter zu erhalten, nicht nur für die Zeit.
Stellen Sie sich vor, der Code von BestInterval bleibt derselbe, aber statt der Zeit werden andere Zahlen eingegeben - das Programm kümmert sich nicht darum - es findet immer noch das beste "Intervall".
Ich habe von der Möglichkeit gesprochen, die Zeit zu ersetzen. Ich verstehe nicht, warum die Tabelle als Hyperkubus bezeichnet werden soll?
BestInterval selbst maximiert nur den Gewinn durch den Filter. Es geht nicht um den Filter, sondern darum, einen Gewinn mit konsistenter Ablehnung zu finden.
Was den Filter in Form der Eröffnungszeit betrifft, so ist er für TS bei schwebenden Aufträgen sehr praktisch. Er kann ohne Probleme im Tester verwendet werden.
Wenn wir andere Filter in Betracht ziehen, dann sind dort Market Orders erforderlich, da es in der Regel unmöglich ist, den Filterwert kurzfristig vorherzusagen.
Ich habe von der Möglichkeit gesprochen, die Zeit zu ersetzen. Ich verstehe nicht, warum eine Tabelle als Hyperwürfel bezeichnet werden sollte?
BestInterval selbst maximiert nur den Gewinn durch den Filter. Es geht nicht um den Filter, sondern darum, einen Gewinn mit konsistenter Ablehnung zu finden.
Was den Filter in Form der Eröffnungszeit betrifft, so ist er für TS bei schwebenden Aufträgen sehr praktisch. Er kann ohne Probleme im Tester verwendet werden.
Wenn wir andere Filter in Betracht ziehen, dann sind dort Market Orders erforderlich, da es in der Regel unmöglich ist, den Filterwert für einen Moment im Voraus zu bestimmen.
Wenn es viele "räumliche" Dimensionen gibt, erhalten wir einen Hyperwürfel, wir können ihn auch einfach ein mehrdimensionales Array nennen. Eine Tabelle ist ihr spezieller, einfachster Fall. Natürlich kann man jeden beliebigen Algorithmus zur "Gewinnermittlung mit sukzessiver Zurückweisung" einbauen.
Ich verstehe nicht, wie man den Filter vorhersagen kann. Es gibt aktuelle Daten, wir haben sie verarbeitet, Empfehlungen erhalten - wo sind hier die Vorhersagen?
Wenn es viele "räumliche" Dimensionen gibt, erhalten wir einen Hyperwürfel, wir können ihn auch einfach ein mehrdimensionales Feld nennen. Eine Tabelle ist sein spezieller, einfachster Fall.
Im Zusammenhang mit der Anwendung auf die Geschichte des Handels ist ein Hyperwürfel eine Tabelle. Sein Schnitt - wir erstellen eine weitere Tabelle, indem wir die Spalten der ursprünglichen Tabelle durchgehen.
Natürlich kann jeder beliebige Algorithmus zum "Finden von Gewinnen mit konsekutiver Ablehnung" eingeschraubt werden.
Das Einzige, was bleibt, ist, ihn einzuschrauben. Das Erstellen einer Tabelle macht zum Beispiel ~5% der Bibel aus. Der Rest ist "anzuschrauben" und anzuwenden.
Die Vorhersage des Filters im Voraus - das verstehe ich nicht. Es gibt aktuelle Daten, wir haben sie verarbeitet und Empfehlungen erhalten - wo sind hier die Vorhersagen?
Die Vorhersage bezieht sich nur auf das Thema "anwenden". Wenn zum Beispiel gesagt wird, dass eine Position nicht eröffnet werden sollte, wenn der RSI > 90 ist, ist es unmöglich, diese Bedingung durch Pending Orders zu handeln, weil sie unvorhersehbar ist.
Und wenn es um die Anwendung des Filters geht, kann man auf die virtuelle Umgebung nicht verzichten. Daher ist das "Einschrauben" eine etwas andere Aufgabe.
Im Zusammenhang mit der Anwendung auf die Handelsgeschichte ist ein Hyperwürfel eine Tabelle. Sein Abschnitt - wir machen eine weitere Tabelle, indem wir die Spalten der ursprünglichen Tabelle durchgehen.
Das Einzige, was übrig bleibt, ist, sie zu verschrauben. Die Erstellung einer Tabelle macht zum Beispiel ~5% eines Hyperwürfels aus. Der Rest ist "anschrauben" und anwenden.
Beim Thema "Anwenden" hat die Vorhersage recht. Wenn zum Beispiel gesagt wird, dass keine Position eröffnet werden soll, wenn der RSI > 90 ist, dann kann eine solche Bedingung nicht durch Pending Orders gehandelt werden, weil sie unvorhersehbar ist.
Es herrscht überall eine gewisse terminologische Verwirrung - ich glaube nicht, dass es sinnvoll ist, sich an Worte zu klammern - es scheint, dass wir dasselbe meinen, aber wir haben in verschiedenen Spezialschulen studiert" (für mich ist eine Tabelle immer flach ;-), sie wird gebildet, indem man einen Hyperwürfel mit einer Hyperebene kreuzt; man kann das Ganze eine mehrdimensionale Tabelle nennen, aber da ein prägnanterer Begriff eingeführt wurde, ziehe ich ihn vor). Zur Vorhersage - ähnlich (nach der Erklärung wurde die ursprüngliche Bedeutung klar, aber die gewählte Formulierung scheint mir unangemessen, rein imho).
Ich habe OLAP gemacht - für die Multifaktoranalyse (die obigen Diagramme mit einer Aufschlüsselung nach Perioden (und anderen Parametern) sind imho auch interessant), und direkt die Aufgabe der automatischen Optimierung auf Basis des Hyperwürfels wurde nicht gelöst. Im Idealfall kann der Würfel in den Standard-Optimierer geschoben und im Modus der Matrixberechnung verwendet werden.
Generell sind wir ein wenig abgewichen: Die Idee war (wie sich herausstellte, nicht nur für mich, sondern auch für Sie), dass die besten "Intervalle" nicht über eine Dimension (Intrade-Zeitabschnitte), sondern über eine Reihe verschiedener Dimensionen gesucht werden können.
Was die Terminologie betrifft, so verstehen wir mehrdimensionale Räume und Ebenen zu 100 % gleich. So wie eine Tabelle eine flache NxM-Matrix ist.
Jeder Ausschnitt Ihres Hyperwürfels wird aus einer flachen Tabelle gewonnen - darum geht es.
Im Idealfall können Sie den Würfel in den Standard-Optimierer schieben und ihn im Modus für Mattenberechnungen verwenden.
Das ist näher an MO, hat aber nichts mit BestInterval zu tun. Dort wird für jeden Durchlauf des Optimierers der "Matlab-Modus" gestartet.
Der Wert liegt genau darin, dass für jeden Optimierungsdurchgang. Das heißt, Sie können (vor der Optimierung) die Parameter, die für die Zeitspanne (oder andere Filter) des Handels verantwortlich sind, vollständig aus dem ursprünglichen TS herausnehmen.
Dadurch verringert sich die Anzahl der Durchläufe bei einer vollständigen Suche um Größenordnungen und die Genetik wandert weniger.