English Русский 中文 Español 日本語 Português
preview
Kategorientheorie in MQL5 (Teil 6): Monomorphe Pullbacks und epimorphe Pushouts

Kategorientheorie in MQL5 (Teil 6): Monomorphe Pullbacks und epimorphe Pushouts

MetaTrader 5Handelssysteme | 30 Mai 2023, 10:26
138 0
Stephen Njuki
Stephen Njuki

Einführung

In unserem letzten Artikel haben wir erörtert, wie Egalisatoren in der Kategorientheorie eingesetzt werden können, um Volatilitätsänderungen anhand von Stichprobendaten zu schätzen. In diesem Folgeartikel werden wir uns mit Komposition und Kegeln in der Kategorientheorie befassen, indem wir die Bedeutung verschiedener Kegelaufstellungen für die Endergebnisse der Analyse untersuchen. Wir befassen uns nicht mit einem anderen Konzept der Kategorientheorie, das für die Vorhersage oder die Beschreibung einiger Aspekte des Marktes verwendet werden kann, sondern wir führen eine Sensitivitätsanalyse der kategorientheoretischen Zusammensetzungen und insbesondere der Kegel durch.

Bevor wir das tun, schauen wir uns die Dualität des Konzepts des letzten Artikels an, die Koegalisatoren.


Koegalisatoren

Koegalisatoren oder Differenzkokerne sind ein Pendant zu den im vorigen Artikel beschriebenen Egalisatoren und sie sind Domänen, die Elemente aus einer Kodomäne nehmen, die normalerweise unterschiedlich sind (man denke an Egalisatoren, die auf ähnliche Elemente zielen) und durch Koegalisatoren-Morphismus ein Element für jede Nichtübereinstimmung von Elementen in der Domäne erzeugen. Das erzeugte, gemeinsame Element in der neuen EQ-Domäne wird für jedes Element in der Domäne ausgeführt. Dies wird normalerweise wie folgt dargestellt: Dieser wird in der Regel wie unten dargestellt:

Die Funktion h fungiert daher als Quotient, da für jeden Wert d in der Domäne, der je nach Morphismus (ob f oder g) auf verschiedene Werte abgebildet werden kann, das Endergebnis (Element) in der Domäne des Koegalisator dasselbe ist.

Eine Reihe von Werten multipliziert mit dem „Zähler des Gesamtwerts von Z“, dividiert durch die gleiche Reihe von Werten, ergibt immer einen Gesamtwert. Die Division durch eine Reihe von Werten in Y wirkt also wie ein Quotient für Y. Dies wird oft so dargestellt:


Mit h ist die Quotientenfunktion definiert als 

In der Praxis bedeutet dies für Händler, dass wir das folgende Protokoll der jüngsten Handelsaktivitäten haben;


Wir können das folgende Diagramm ableiten:



Anhand dieses Diagramms könnten wir einen Koegalisator entwickeln, der unsere Positionsgröße danach ausrichtet, ob wir an der Überschneidung zwischen Tokio und London oder zwischen London und New York handeln. Wenn wir unsere Positionsgröße auf der Grundlage der protokollierten Drawdowns umgekehrt gewichten, hätten wir ein Co-Egalisator-Äquivalent, das auf einem Worst-Case-Szenario basiert. Dies ist auch ohne Kategorientheorie möglich. Die Kategorientheorie könnte hier helfen, indem sie die universelle Eigenschaft anwendet. Dies wurde bereits in den beiden vorangegangenen Artikeln hervorgehoben. In unserem Fall konnten wir die aktuellen Drawdown-Werte mit dem gewichteten (Worst-Case-) Wert vergleichen, nach dem wir unser Portfolio gewichtet haben. Wenn die aktuellen Werte schlechter sind, als wir erwartet haben, würden wir unsere Positionsgröße entsprechend anpassen.


Monomorphe Pullbacks

Ein Monomorphismus ist eine injektiver Homomorphismus, der eine Domäne mit einer Kardinalität kleiner oder gleich der Kodomäne hat, wobei alle Morphismen aus der Domäne auf ein bestimmtes Element in der Kodomäne abgebildet werden. Ein Pullback oder auch Faserprodukt in der Kategorientheorie ist eine Domäne in einem Kegel, der in einem typischen 4-Domänen-Kegel diagonal gegenüber der Produktdomäne liegt.

Wenn man diese beiden Konzepte zusammenbringt, ergibt sich eine interessante Eigenschaft. Betrachten wir das folgende Diagramm:



Wenn g: A -->Y ein Monomorphismus ist, dann gilt für jede Funktion f: X -->Y, ist die linksseitige Abbildung g': Pullback --> X im Diagramm ebenfalls ein Monomorphismus, wenn die Kommutation gegeben ist.

Zur Veranschaulichung betrachten wir einen Kegel mit dem Produktdomäne Y, der Faktordomäne X, der Faktordomäne A und der Pullback-Domäne; mit den Korrelationswerten EURJPY, EURUSD, USDJPY und USDX (Dollar-Index) der letzten N Balken zu den vorherigen N Balken.

Der Wert von N kann aus Quantilbereichen ausgewählt werden, die der Fibonacci-Folge folgen. In unserem Fall werden wir fünf Werte verwenden, nämlich 3, 5, 8, 13 und 21. Daher gibt es in jeder Domäne Korrelationen, die jeden dieser Zeiträume verwenden. Diese Werte ändern sich von Zeit zu Zeit, so dass Ontologie-Datensätze dabei helfen, alle diese Werte jedes Mal zu erfassen. Der Ontologie-Datensatz enthält also für jeden Zeitraum einen Kegel.

Wir werden die Ontologiedaten für diesen Artikel nicht verwenden, aber wir werden die Testdaten der Werte verschiedener Kegel über einen Zeitraum von 6 Monaten im wöchentlichen Rhythmus berechnen und präsentieren.


Um mit unserem obigen Diagramm fortzufahren, enthalten die Domänen jeweils Korrelationen über die Perioden 3, 5, 8, 13 und 21, und die Homomorphismen f, g, f' und g' werden diese einfach über die Domänen in diesen Zeiträumen paaren. So wird die Korrelation zwischen den letzten 5 Wochen des USDX und den 5 Wochen davor unter f' mit der Korrelation der letzten 5 Wochen des USDJPY und den 5 Wochen davor gepaart, und so weiter.

Die Produkt-Domäne EURJPY enthält ebenfalls Korrelationswerte für die 5 oben genannten Zeiträume, allerdings sind seine Werte das Ergebnis eines Produkts zwischen den Domänen EURUSD und USDJPY. Das Produkt aus diesen beiden ist das geometrische Mittel der beiden Domänen. Das geometrische Mittel ist in der Regel die Quadratwurzel aus zwei Produkten. In unserem Fall wären diese Produkte die beiden Korrelationen. Da diese Korrelationen negativ sein können und wir uns nicht mit imaginären Zahlen befassen wollen, ist es ratsam, den Korrelationswert in den Bereich von 0,0 bis 2,0 anlegen und normalisieren, statt von -1,0 bis 1,0 anlegt. Sobald die Quadratwurzel/der geometrische Wert ermittelt wurde, können wir zum Standardformat von -1,0 bis 1,0 zurückkehren.

Zur Normalisierung würden wir also 1,0 zu den Korrelationswerten addieren, bevor wir das geometrische Mittel berechnen. Sobald wir den Mittelwert haben, würden wir einfach 1,0 abziehen, um zum Standard zurückzukehren.

Wenn wir zu Kontrollzwecken zunächst Tests mit unserem Kegel durchführen, ohne die Eigenschaft zu verwenden, sondern einfach die oben genannten Quantilbereiche der Periodenlänge von 2021-07-01 bis 2022-01-01 (etwa 26 Wochen) auf dem wöchentlichen Zeitrahmen verwenden und dabei nur die Periode im USDX mit der höchsten Korrelation auswählen, erhalten wir die folgenden Ergebnisse:

2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)                        [,0]               [,1]               [,2]               [,3]               [,4]               [,5]
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 0,] " DATE "          ," N period "      ," EURUSD corr. "  ," USDJPY corr. "  ," geometric mean "," actual corr. "  
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 1,] "2021.07.04 00:00","13"              ,"0.49"            ,"0.90"            ,"0.69"            ,"0.25"            
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 2,] "2021.07.11 00:00","5"               ,"0.70"            ,"0.00"            ,"0.30"            ,"-0.00"           
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 3,] "2021.07.18 00:00","5"               ,"0.70"            ,"0.10"            ,"0.37"            ,"0.20"            
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 4,] "2021.07.25 00:00","5"               ,"0.50"            ,"-0.20"           ,"0.10"            ,"0.70"            
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 5,] "2021.08.01 00:00","5"               ,"0.80"            ,"0.10"            ,"0.41"            ,"0.50"            
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 6,] "2021.08.08 00:00","5"               ,"0.80"            ,"0.30"            ,"0.53"            ,"0.20"            
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 7,] "2021.08.15 00:00","5"               ,"0.90"            ,"0.30"            ,"0.57"            ,"0.70"            
2023.04.07 16:05:32.658 ct_6 (USDX-JUN23,W1)    [ 8,] "2021.08.22 00:00","5"               ,"0.40"            ,"0.50"            ,"0.45"            ,"0.90"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 9,] "2021.08.29 00:00","5"               ,"0.20"            ,"0.70"            ,"0.43"            ,"0.50"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [10,] "2021.09.05 00:00","5"               ,"-0.20"           ,"0.60"            ,"0.13"            ,"0.00"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [11,] "2021.09.12 00:00","21"              ,"0.69"            ,"0.27"            ,"0.46"            ,"-0.79"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [12,] "2021.09.19 00:00","5"               ,"0.60"            ,"-0.20"           ,"0.13"            ,"0.50"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [13,] "2021.09.26 00:00","5"               ,"0.30"            ,"0.20"            ,"0.25"            ,"0.60"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [14,] "2021.10.03 00:00","3"               ,"1.00"            ,"1.00"            ,"1.00"            ,"-0.50"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [15,] "2021.10.10 00:00","13"              ,"0.55"            ,"0.49"            ,"0.52"            ,"-0.29"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [16,] "2021.10.17 00:00","13"              ,"0.60"            ,"0.65"            ,"0.62"            ,"-0.36"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [17,] "2021.10.24 00:00","13"              ,"0.62"            ,"0.51"            ,"0.56"            ,"-0.45"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [18,] "2021.10.31 00:00","13"              ,"0.64"            ,"0.53"            ,"0.59"            ,"-0.55"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [19,] "2021.11.07 00:00","5"               ,"0.80"            ,"-0.50"           ,"-0.05"           ,"-0.10"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [20,] "2021.11.14 00:00","5"               ,"0.50"            ,"0.50"            ,"0.50"            ,"-0.70"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [21,] "2021.11.21 00:00","3"               ,"1.00"            ,"1.00"            ,"1.00"            ,"1.00"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [22,] "2021.11.28 00:00","3"               ,"0.50"            ,"0.50"            ,"0.50"            ,"1.00"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [23,] "2021.12.05 00:00","8"               ,"0.76"            ,"-0.62"           ,"-0.18"           ,"-0.02"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [24,] "2021.12.12 00:00","8"               ,"0.62"            ,"-0.52"           ,"-0.12"           ,"-0.12"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [25,] "2021.12.19 00:00","8"               ,"0.40"            ,"-0.05"           ,"0.16"            ,"-0.26"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [26,] "2021.12.26 00:00","3"               ,"0.50"            ,"0.50"            ,"0.50"            ,"0.50"            


In diesen Ergebnissen beträgt die Korrelation zwischen dem geometrischen Mittelwert und dem tatsächlichen Wert -0,07, was bedeutet, dass unsere Hypothese, den höchsten Korrelationszeitraum aus dem USDX auszuwählen, nicht zu genauen Prognosen für die Werte des EURJPY führt.

Wenn wir weitergehen und die obige Monomorphismus-Eigenschaft betrachten, bedeutet die Implementierung, dass die Domänen nicht die gleiche Kardinalität haben. Ursprünglich hatten wir eine Reihe von Perioden ausgewählt, die auf einem Teil der Fibonacci-Reihe basieren, darunter 3, 5, 8, 13 und 21. Aus den obigen Testlaufprotokollen wurde derjenige ausgewählt, der die höchste Korrelation für den Dollar-Index (USDX) aufwies. Am 2021-09-05 zum Beispiel bedeutete die Auswahl des Zeitraums 5, dass die Korrelation der aktuellen 5 USDX-Balken zu den vorherigen 5 am höchsten von allen Zeiträumen 3, 5, 8, 13 und 21 war, und daher wurde dieser Zeitraum ausgewählt und als Korrelationszeitraum für EURUSD und USDJPY verwendet.

Wenn wir jedoch die Monomorphismus-Eigenschaft auf unseren Kegel auf den parallelen Seiten von z. B. USDJPY zu EURJPY und USDX zu EURUSD anwenden, könnten wir interessantere Ergebnisse erhalten. Um dies zu erreichen, konzentrieren wir uns auf die Kardinalität der Domänen. Unser Kegel setzt sich von USDX in Richtung EURJPY zusammen, und da ein Monomorphismus eine gleiche oder größere Kodomäne im Vergleich zur Domäne erfordert, können wir leicht sicherstellen, dass jeder Homomorphismus injektiv ist, indem wir die Domäne von USDX in Richtung EURJPY vergrößern und alle Morphismen vermeiden, die auf dasselbe Element in der Kodomäne abbilden.

Unsere Maßeinheit für die Skalierung der Domänengröße sind die Quantilbereiche der Periodenlänge, die wir jeder Domäne zuweisen. Wir müssen also für jede Domäne Quantilbereiche erstellen, wie wir es im vorherigen Artikel versucht haben. Die Kombination mit dem Fluss unseres Kegels bedeutet, dass der USDX-Bereich die geringste Anzahl von Segmenten haben wird, aber wenn wir uns in Richtung EURJPY bewegen, wird die Anzahl der Quantilgruppen pro Domäne steigen.

Um unserer obigen Monomorphismus-Eigenschaft genau zu entsprechen, haben wir |USDX| = 5 wie oben, jedoch haben wir |EURUSD| = 19, |USDJPY| = 5 und |EURJPY| = 19. Somit werden die Perioden nicht gemäß der oben verwendeten Fibonacci-Folge segmentiert, sondern für USDJPY und EURJPY werden Dömänen individuell von 3 bis 21 verwendet. Die Morphismen g und g', unsere Monomorphismen, verwenden also einen anderen Indikator, um von den kleineren Domänen auf die größeren Domänen überzuleiten.


Der Indikator, den wir bei der Zuordnung für den Morphismus g' und g verwenden werden, ist RSI. Da der RSI zyklisch ist und leicht auf 0-100 normalisiert werden kann, ist er geeignet. Sie könnten einen anderen ähnlichen Indikator wählen, aber in unserem Fall bestimmt der Indikatorwert, welcher Anteil der Kodomäne relevant ist. Die Extremwerte 3 und 21 bleiben unverändert, aber ein Wert von 5 wird im direkten Verhältnis zu den RSI-Werten entweder auf 4, 5, 6 oder 7 abgebildet.

Wenn wir ähnliche Tests wie oben durchführen und dabei dieselben Kriterien für die Auswahl des Zeitraums im USDX verwenden, erhalten wir diese Protokolle.

2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)                        [,0]               [,1]               [,2]               [,3]               [,4]               [,5]
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 0,] " DATE "          ," N period "      ," EURUSD corr. "  ," USDJPY corr. "  ," geometric mean "," actual corr. "  
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 1,] "2021.07.04 00:00","13"              ,"0.13"            ,"0.90"            ,"0.47"            ,"0.24"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 2,] "2021.07.11 00:00","5"               ,"-0.49"           ,"0.00"            ,"-0.28"           ,"-0.49"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 3,] "2021.07.18 00:00","5"               ,"0.37"            ,"0.10"            ,"0.23"            ,"-0.09"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 4,] "2021.07.25 00:00","5"               ,"0.20"            ,"-0.20"           ,"-0.02"           ,"-0.09"           
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 5,] "2021.08.01 00:00","5"               ,"0.43"            ,"0.10"            ,"0.25"            ,"0.14"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 6,] "2021.08.08 00:00","5"               ,"0.26"            ,"0.30"            ,"0.28"            ,"0.37"            
2023.04.07 16:05:32.659 ct_6 (USDX-JUN23,W1)    [ 7,] "2021.08.15 00:00","5"               ,"-0.20"           ,"0.30"            ,"0.02"            ,"0.09"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [ 8,] "2021.08.22 00:00","5"               ,"-0.71"           ,"0.50"            ,"-0.35"           ,"0.14"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [ 9,] "2021.08.29 00:00","5"               ,"-0.89"           ,"0.70"            ,"-0.56"           ,"-0.31"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [10,] "2021.09.05 00:00","5"               ,"-0.77"           ,"0.60"            ,"-0.40"           ,"-0.31"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [11,] "2021.09.12 00:00","21"              ,"0.68"            ,"0.27"            ,"0.46"            ,"-0.88"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [12,] "2021.09.19 00:00","5"               ,"-0.31"           ,"-0.20"           ,"-0.26"           ,"-0.09"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [13,] "2021.09.26 00:00","5"               ,"0.54"            ,"0.20"            ,"0.36"            ,"0.77"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [14,] "2021.10.03 00:00","3"               ,"-0.80"           ,"1.00"            ,"-0.37"           ,"-0.20"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [15,] "2021.10.10 00:00","13"              ,"0.16"            ,"0.49"            ,"0.32"            ,"-0.42"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [16,] "2021.10.17 00:00","13"              ,"0.43"            ,"0.65"            ,"0.53"            ,"-0.47"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [17,] "2021.10.24 00:00","13"              ,"0.68"            ,"0.51"            ,"0.59"            ,"-0.53"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [18,] "2021.10.31 00:00","13"              ,"0.78"            ,"0.53"            ,"0.65"            ,"-0.58"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [19,] "2021.11.07 00:00","5"               ,"0.89"            ,"-0.50"           ,"-0.03"           ,"0.71"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [20,] "2021.11.14 00:00","5"               ,"0.89"            ,"0.50"            ,"0.68"            ,"0.37"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [21,] "2021.11.21 00:00","3"               ,"-0.40"           ,"1.00"            ,"0.10"            ,"-0.20"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [22,] "2021.11.28 00:00","3"               ,"-0.40"           ,"0.50"            ,"-0.05"           ,"1.00"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [23,] "2021.12.05 00:00","8"               ,"0.33"            ,"-0.62"           ,"-0.29"           ,"-0.12"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [24,] "2021.12.12 00:00","8"               ,"0.43"            ,"-0.52"           ,"-0.17"           ,"-0.23"           
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [25,] "2021.12.19 00:00","8"               ,"0.60"            ,"-0.05"           ,"0.23"            ,"0.10"            
2023.04.07 16:05:32.660 ct_6 (USDX-JUN23,W1)    [26,] "2021.12.26 00:00","3"               ,"0.40"            ,"0.50"            ,"0.45"            ,"-0.80"           

Es gibt keinen signifikanten statistischen Unterschied zwischen den beiden Ergebnismengen. Und dieses Ergebnis von -0,08 ist dennoch um fast 15 % gestiegen. Die Verknüpfung der Domänen mit ihren verschiedenen Elementen (in diesem Fall die Korrelation) bietet sicherlich die Möglichkeit, Muster und Trends zu untersuchen, die an sich nicht auffällig sind, die aber für den Handel sehr entscheidend sind.


Epimorphische Push-Outs

Ein Epimorphismus ist ein surjektiver Homomorphismus, dessen Domäne eine größere Kardinalzahl hat als die Kodomäne und dessen Morphismen aus der Domäne auf alle Elemente der Kodomäne abgebildet werden, d. h., dass keine Elemente unverknüpft bleiben. Ein Pushout in der Kategorientheorie ist eine Domäne (auch Kofaserprodukt genannt) in einem Kegel, die in einem typischen 4-Domänen-Kegel diagonal gegenüber der Koprodukt-Domäne liegt.

Wenn man diese beiden zusammenfügt, wie wir es bei den monomorphen Rückzügen getan haben, erhält man ebenfalls eine Eigenschaft. Dies ist in der nachstehenden Abbildung dargestellt:


Wenn g: Y zu B ein Epimorphismus ist, dann gilt für jede Funktion f: Y --> X, die linke Abbildung g': X --> Pushout im Diagramm ist ebenfalls ein Epimorphismus. Um dies zu untersuchen, betrachten wir erneut einen Kegel, dessen Koproduktdomäne Y die Werte der Bollinger-Hüllkurven für die Bid-Preise eines beliebigen Wertpapiers sind. Die beiden Domänen des Koproduktfaktors (X und B) sind die obere und die untere Hüllkurve der Bollinger-Bänder. Die Differenz (oder „Koproduktvereinigung“) zwischen diesen beiden wird unsere Prognose für den Bollinger Envelope-Bereich liefern. Die Pushout-Domäne ist der gleitende Basisdurchschnitt der Bollinger-Bänder, von dem die oberen und unteren Hüllkurven abgeleitet werden.

So wie wir oben die Periodenlänge als Variable für die Ermittlung verschiedener Korrelationskoeffizienten in den monomorphen Pullbacks verwendet haben, werden wir auch hier die Periodenlänge für die Ableitung verschiedener gleitender Durchschnittswerte für jeden Domäne verwenden, die uns eine breite Palette von Bollinger-Hüllkurven liefern. Für unseren Sondierungstest können wir, wie oben beschrieben, mit den Zeiträumen 3, 5, 8, 13 und 21 beginnen.


Unser Kegel setzt sich also aus der Domäne der Bollinger-Bänder und der Domäne der Basislinie, dem MA, zusammen. Er ist entgegengesetzt zu unserem ersten Kegel über monomorphe Pushouts zusammengesetzt, da sein Apex ein Koprodukt und nicht wie bisher ein Produkt ist. Die Pfeile der Morphismen zeigen die Richtung des Homomorphismus an. Die Verknüpfung der Elemente in jeder Domäne folgt einfach der jeweiligen N-Periode, wie wir sie oben hatten.

Wenn wir also einen Test durchführen, bevor wir die epimorphe Eigenschaft anwenden, indem wir Perioden im Baseline-MA-Domäne auf der Grundlage der minimalen Standardabweichung auswählen, erhalten wir diese Protokolle:

2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)                        [,0]               [,1]               [,2]               [,3]               [,4]               [,5]               [,6]
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 0,] " DATE "          ," N period "      ," Baseline-MA "   ," Upper Bands "   ," Lower Bands "   ," Envelope Delta "," Actual Range "  
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 1,] "2021.07.04 00:00","8"               ,"103.425"         ,"105.548"         ,"101.301"         ,"4.248"           ,"0.850"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 2,] "2021.07.11 00:00","8"               ,"103.425"         ,"105.548"         ,"101.301"         ,"4.248"           ,"0.758"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 3,] "2021.07.18 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"0.691"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 4,] "2021.07.25 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"1.193"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 5,] "2021.08.01 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"1.030"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 6,] "2021.08.08 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"0.735"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 7,] "2021.08.15 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.270"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 8,] "2021.08.22 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.868"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [ 9,] "2021.08.29 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.854"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [10,] "2021.09.05 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.750"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [11,] "2021.09.12 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.912"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [12,] "2021.09.19 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.565"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [13,] "2021.09.26 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.325"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [14,] "2021.10.03 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.770"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [15,] "2021.10.10 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.811"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [16,] "2021.10.17 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.700"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [17,] "2021.10.24 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.035"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [18,] "2021.10.31 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.842"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [19,] "2021.11.07 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.400"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [20,] "2021.11.14 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"1.305"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [21,] "2021.11.21 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"0.933"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [22,] "2021.11.28 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.115"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [23,] "2021.12.05 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.747"           
2023.04.07 19:04:11.241 ct_6 (USDX-JUN23,W1)    [24,] "2021.12.12 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.077"           
2023.04.07 19:04:11.242 ct_6 (USDX-JUN23,W1)    [25,] "2021.12.19 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.685"           
2023.04.07 19:04:11.242 ct_6 (USDX-JUN23,W1)    [26,] "2021.12.26 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.778"           

Unsere Korrelationsprüfung zwischen der Analyse und der Realität liegt bei 0,12, was immer noch nicht signifikant ist.

Damit sind wir bei der Eigenschaft der Epimorphie angelangt. Wenn wir sie auf unseren Kegel an den parallelen Seiten von z.B. LOWER-BOLLINGER --> BASELINE-MA und BOLLINGER-ENVELOPE --> UPPER-BOLLINGER anwenden, könnten wir möglicherweise unterschiedliche Ergebnisse erhalten. Um dies zu erreichen, konzentrieren wir uns erneut auf die Kardinalität der Domänen. Unser Kegel ist in Richtung BASELINE-MA von BOLLINGER-ENVELOPE komponiert, da es sich um ein Koprodukt und nicht um ein Produkt wie zuvor handelt. Da Epimorphismen eine gleiche oder größere Domäne im Vergleich zur Kodomäne erfordern, können wir leicht sicherstellen, dass jeder Homomorphismus surjektiv ist, indem wir die Kodomäne von BOLLINGER-ENVELOPE in Richtung BASELINE-MA vergrößern und auch dafür sorgen, dass alle Elemente in jeder jeweiligen Kodomäne abgebildet werden.

Da wir eine auf Fibonacci basierende Quantile Segmentierungsmethode angewandt haben, können wir die Domänen, die wir größer haben möchten, einfach explizit angeben. Dies bedeutet, dass unsere Kardinalzahlen | LOWER-BOLLINGER| = 19 und auch | BOLLINGER-ENVELOPE | = 19 sein werden. Die größeren Domänen verbleiben in der Apex- und Lower-Factor-Domäne, da die Zusammensetzung angesichts des Koprodukts umgekehrt ist.

Testläufe mit diesen Einstellungen ergeben die folgenden Ergebnisse:

2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)                        [,0]               [,1]               [,2]               [,3]               [,4]               [,5]               [,6]
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 0,] " DATE "          ," N period "      ," Baseline-MA "   ," Upper Bands "   ," Lower Bands "   ," Envelope Delta "," Actual Range "  
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 1,] "2021.07.04 00:00","8"               ,"103.425"         ,"105.548"         ,"101.301"         ,"4.248"           ,"0.850"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 2,] "2021.07.11 00:00","8"               ,"103.425"         ,"105.548"         ,"101.301"         ,"4.248"           ,"0.758"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 3,] "2021.07.18 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"0.691"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 4,] "2021.07.25 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"1.193"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 5,] "2021.08.01 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"1.030"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 6,] "2021.08.08 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"0.735"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 7,] "2021.08.15 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.270"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 8,] "2021.08.22 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.868"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [ 9,] "2021.08.29 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.854"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [10,] "2021.09.05 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.750"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [11,] "2021.09.12 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.912"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [12,] "2021.09.19 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.565"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [13,] "2021.09.26 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.325"           
2023.04.07 19:58:57.547 ct_6 (USDX-JUN23,W1)    [14,] "2021.10.03 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.770"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [15,] "2021.10.10 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.811"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [16,] "2021.10.17 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.700"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [17,] "2021.10.24 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.035"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [18,] "2021.10.31 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.842"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [19,] "2021.11.07 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.400"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [20,] "2021.11.14 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"1.305"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [21,] "2021.11.21 00:00","13"              ,"102.993"         ,"105.163"         ,"100.822"         ,"4.341"           ,"0.933"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [22,] "2021.11.28 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.115"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [23,] "2021.12.05 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.747"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [24,] "2021.12.12 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"1.077"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [25,] "2021.12.19 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.685"           
2023.04.07 19:58:57.548 ct_6 (USDX-JUN23,W1)    [26,] "2021.12.26 00:00","21"              ,"103.616"         ,"106.326"         ,"100.906"         ,"5.420"           ,"0.778"           


Auch hier liegen die Ergebnisse bei 0,16, was einer Veränderung von mehr als 30 % entspricht.


Schlussfolgerung

Abschließend haben wir untersucht, wie die Zusammensetzung der Kegel in den verschiedenen Domänen auf eine Weise verknüpft und analysiert werden kann, die bei der Betrachtung von Indikatoren und Zeitreihen nicht immer offensichtlich ist. In der Kategorientheorie gibt es eine Vielzahl von Permutationen bei der Paarung von Domänen, was an sich schon zu einer Vielzahl von Betrachtungs- und Interpretationsmöglichkeiten und somit zu Projektionen führt. In diesem Artikel haben wir insbesondere gesehen, wie leichte restriktive Anpassungen der Kegelzusammensetzung durch Anwendung von monomorphen Pullbacks und epimorphen Pushouts die Endergebnisse um 15 bis 30 % verändern können. Betrachtet man die Morphismen durch Anwendung von Gewichtungen und anderen Veränderungen, kann man nicht nur neuartige Einstiegssignale entwickeln, sondern auch geschickte Geldmanagementsysteme. Mit unserer Skriptdatei, die diesem Artikel beigefügt ist, kann der Leser die Feinabstimmung auf seine speziellen Indikatoren und seinen Handelsstil vornehmen.


Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/12437

Beigefügte Dateien |
ct_6.mq5 (97.49 KB)
Implementierung des Janus-Faktors in MQL5 Implementierung des Janus-Faktors in MQL5
Gary Anderson entwickelte eine Marktanalysemethode, die auf einer Theorie beruht, die er Janus-Faktor nannte. Die Theorie beschreibt eine Reihe von Indikatoren, mit denen sich Trends aufzeigen und Marktrisiken bewerten lassen. In diesem Artikel werden wir diese Werkzeuge in mql5 implementieren.
Algorithmen zur Optimierung mit Populationen: Ein dem Elektro-Magnetismus ähnlicher Algorithmus (ЕМ) Algorithmen zur Optimierung mit Populationen: Ein dem Elektro-Magnetismus ähnlicher Algorithmus (ЕМ)
Der Artikel beschreibt die Prinzipien, Methoden und Möglichkeiten der Anwendung des elektromagnetischen Algorithmus bei verschiedenen Optimierungsproblemen. Der EM-Algorithmus ist ein effizientes Optimierungswerkzeug, das mit großen Datenmengen und mehrdimensionalen Funktionen arbeiten kann.
Multibot in MetaTrader: Starten mehrerer Roboter von einem einzigen Chart aus Multibot in MetaTrader: Starten mehrerer Roboter von einem einzigen Chart aus
In diesem Artikel werde ich eine einfache Vorlage für die Erstellung eines universellen MetaTrader-Roboters besprechen, der auf mehreren Charts verwendet werden kann, während er nur mit einem Chart läuft, ohne dass jede Instanz des Roboters auf jedem einzelnen Chart konfiguriert werden muss.
Wie man MQL5 verwendet, um Kerzenmuster zu erkennen Wie man MQL5 verwendet, um Kerzenmuster zu erkennen
Ein neuer Artikel, um zu lernen, wie man Kerzenmuster der Preisen automatisch durch MQL5 erkennt.