Grundlagen des algorithmischen Handels: Konzepte und Beispiele Laden des Spielers. Ein Algorithmus ist ein spezifischer Satz klar definierter Anweisungen, die darauf abzielen, eine Aufgabe oder einen Prozess durchzuführen. Algorithmischer Handel (automatisierter Handel, Black-Box-Handel oder einfach Algo-Handel) ist der Prozess der Verwendung von Computern programmiert, um eine definierte Reihe von Anweisungen für die Platzierung eines Handels folgen, um Gewinne mit einer Geschwindigkeit und Häufigkeit, die unmöglich ist, Menschlichen Händler. Die definierten Regelsätze basieren auf Timing, Preis, Menge oder jedem mathematischen Modell. Neben den Gewinnchancen für den Trader macht algo-trading die Märkte liquider und macht den Handel systematischer, indem er emotionale menschliche Auswirkungen auf die Handelsaktivitäten ausschließt. Angenommen, ein Trader folgt diesen einfachen Handelskriterien: Kaufe 50 Aktien einer Aktie, wenn der 50-Tage-Gleitende Durchschnitt über dem 200-Tage-Gleitdurchschnitt liegt. Verkaufe Aktien der Aktie, wenn der 50-Tage-Gleitende Durchschnitt unter den 200-Tage-Gleitender Durchschnitt fällt Unter Verwendung dieses Satzes von zwei einfachen Anweisungen ist es einfach, ein Computerprogramm zu schreiben, das automatisch den Aktienkurs (und die gleitenden Durchschnittsindikatoren) überwacht und die Kauf - und Verkaufsaufträge platziert, wenn die definierten Bedingungen erfüllt sind. Der Händler muss nicht mehr eine Uhr für Live-Preise und Grafiken, oder legen Sie die Aufträge manuell zu halten. Das algorithmische Handelssystem tut es automatisch, indem er die Handelschance korrekt identifiziert. (Mehr zu den gleitenden Durchschnitten finden Sie unter: Einfache Bewegungsdurchschnitte machen Trends aus.) Algo-trading bietet die folgenden Vorteile: Handel zu bestmöglichen Preisen ausgeführt Sofortige und genaue Auftragsabwicklung (dadurch hohe Chancen bei der Ausführung auf gewünschten Ebenen) Trades Timing korrekt und sofort, um signifikante Preisänderungen zu vermeiden Reduzierte Transaktionskosten (siehe nachfolgendes Beispiel für die Implementierungsminderung) Gleichzeitige automatisierte Überprüfung mehrerer Marktbedingungen Reduziertes Risiko für manuelle Fehler bei der Platzierung der Trades Backtest den Algorithmus auf der Grundlage verfügbarer historischer und Echtzeitdaten Reduziert Möglichkeit von Fehlern durch menschliche Händler auf der Grundlage emotionaler und psychologischer Faktoren Der größte Teil des heutigen Algo-Handels ist der Hochfrequenzhandel (HFT), der versucht, eine große Anzahl von Aufträgen mit sehr schnellen Geschwindigkeiten auf mehrere Märkte und mehrere Entscheidungen zu setzen Parameter, basierend auf vorprogrammierten Anweisungen. Algo-Trading wird in vielen Formen von Handels - und Investitionsaktivitäten eingesetzt, darunter: mittel - bis langfristige Anleger oder Buy-Side-Gesellschaften (Pensionskassen) , Investmentfonds, Versicherungsgesellschaften), die zwar in großen Mengen kaufen, aber nicht die Aktienpreise mit diskreten, großvolumigen Investitionen beeinflussen wollen. Kurzfristige Händler und Verkaufsseitenteilnehmer (Marktmacher, Spekulanten und Arbitrageure) profitieren von automatisierter Handelsausführung, algo-Handelshilfen, um genügend Liquidität für Verkäufer auf dem Markt zu schaffen. Systematische Händler (Trendfolger, Paare Händler, Hedgefonds usw.) finden es viel effizienter, ihre Handelsregeln zu programmieren und das Programm automatisch handeln zu lassen. Algorithmischen Handel bietet einen systematischeren Ansatz für den aktiven Handel als Methoden auf der Grundlage einer menschlichen Händler Intuition oder Instinkt. Algorithmische Handelsstrategien Jede Strategie für den algorithmischen Handel erfordert eine identifizierte Chance, die in Bezug auf ein verbessertes Ergebnis oder eine Kostensenkung rentabel ist. Die folgenden handelsstrategien werden im algo-handel verwendet: Die gebräuchlichsten algorithmischen handelsstrategien folgen den trends bei gleitenden durchschnitten. Kanal Ausbrüche. Preisniveaubewegungen und damit zusammenhängende technische Indikatoren. Dies sind die einfachsten und einfachsten Strategien, um durch den algorithmischen Handel zu implementieren, da diese Strategien keine Prognosen oder Preisvorhersagen beinhalten. Trades werden basierend auf dem Auftreten von wünschenswerten Trends initiiert. Die einfach und unkompliziert durch Algorithmen implementiert werden können, ohne in die Komplexität der Vorhersageanalyse einzutreten. Das oben genannte Beispiel für 50 und 200 Tage gleitenden Durchschnitt ist ein beliebter Trend nach Strategie. (Für mehr über Tendenzhandelsstrategien siehe: Einfache Strategien zur Aktivierung von Trends.) Der Kauf eines dualen börsennotierten Wertpapiers zu einem niedrigeren Kurs in einem Markt und der gleichzeitigen Veräußerung zu einem höheren Preis in einem anderen Markt bietet die Preisdifferenz als risikofreien Gewinn Oder Arbitrage. Der gleiche Vorgang kann für Aktien gegen Futures-Instrumente repliziert werden, da Preisunterschiede von Zeit zu Zeit bestehen. Die Implementierung eines Algorithmus zur Identifizierung solcher Preisunterschiede und die Platzierung der Aufträge ermöglicht profitable Chancen in effizienter Weise. Die Indexfonds haben definierte Perioden des Ausgleichs festgelegt, um ihre Bestände auf ihre Benchmark-Indizes zu bringen. Dies schafft profitable Chancen für algorithmische Händler, die auf erwarteten Trades, die 20-80 Basispunkte Gewinne in Abhängigkeit von der Anzahl der Aktien im Index-Fonds, kurz vor dem Index Fonds Rebalancing bieten zu profitieren. Solche Trades werden über algorithmische Handelssysteme für rechtzeitige Ausführung und beste Preise initiiert. Viele bewährte mathematische Modelle, wie die delta-neutrale Trading-Strategie, die den Handel auf Kombination von Optionen und die zugrunde liegenden Sicherheit ermöglichen. Wo Trades zum Ausgleich von positiven und negativen Deltas platziert werden, so dass das Portfolio-Delta auf Null gehalten wird. Die mittlere Reversionsstrategie basiert auf der Idee, dass die hohen und niedrigen Preise eines Vermögenswertes ein temporäres Phänomen sind, das periodisch auf ihren Mittelwert zurückgeht. Ermittlung und Definition einer Preisspanne und Implementierung Algorithmus auf der Grundlage, dass Trades automatisch platziert werden, wenn der Preis für Asset Pausen in und aus der definierten Bereich ermöglicht. Die volumengewogene durchschnittliche Preisstrategie bricht einen großen Auftrag auf und gibt dynamisch bestimmte kleinere Stücke des Auftrags auf den Markt ab, indem sie spezifische historische Volumenprofile verwendet. Ziel ist es, die Order in der Nähe des volumengewichteten Durchschnittspreises (VWAP) auszuführen und damit den Durchschnittspreis zu nutzen. Die zeitgewichtete durchschnittliche Preisstrategie baut einen großen Auftrag auf und gibt dynamisch bestimmte kleinere Stücke des Auftrags auf dem Markt unter Verwendung gleichmäßig geteilter Zeitschlitze zwischen einer Anfangs - und einer Endzeit frei. Ziel ist es, die Order in der Nähe des Durchschnittspreises zwischen der Start - und Endzeit auszuführen, wodurch die Marktwirkung minimiert wird. Solange der Handelsauftrag nicht vollständig gefüllt ist, setzt dieser Algorithmus fort, Teilaufträge entsprechend der definierten Teilnahmequote und entsprechend dem auf den Märkten gehandelten Volumen zu senden. Die zugehörige Schrittstrategie sendet Aufträge zu einem benutzerdefinierten Prozentsatz der Marktvolumina und erhöht oder verringert diese Beteiligungsquote, wenn der Aktienkurs auf benutzerdefinierte Ebenen ankommt. Die Implementierungs-Defizit-Strategie zielt darauf ab, die Ausführungskosten eines Auftrags durch den Handel auf dem Real-Time-Markt zu minimieren, wodurch die Kosten der Bestellung gespart und die Opportunitätskosten der verzögerten Ausführung profitieren. Die Strategie wird die angestrebte Beteiligungsquote erhöhen, wenn sich der Aktienkurs positiv entwickelt und sinkt, wenn der Aktienkurs sich negativ bewegt. Es gibt einige spezielle Klassen von Algorithmen, die versuchen, Ereignisse auf der anderen Seite zu identifizieren. Diese Sniffing-Algorithmen, die beispielsweise von einem Sell-Market-Hersteller genutzt werden, haben die eingebaute Intelligenz, um die Existenz von Algorithmen auf der Buy-Seite eines großen Auftrags zu identifizieren. Eine solche Erkennung durch Algorithmen hilft dem Marktmacher, große Orderchancen zu identifizieren und ihm zu ermöglichen, durch das Ausfüllen der Aufträge zu einem höheren Preis zu profitieren. Dies wird manchmal als Hightech-Front-Run bezeichnet. (Für mehr über Hochfrequenzhandel und betrügerische Praktiken, siehe: Wenn Sie Aktien kaufen, sind Sie in HFTs beteiligt.) Technische Anforderungen für Algorithmic Trading Die Umsetzung der Algorithmus mit einem Computer-Programm ist der letzte Teil, mit Backtesting clubbed. Die Herausforderung besteht darin, die identifizierte Strategie in einen integrierten EDV-gestützten Prozess umzuwandeln, der Zugang zu einem Handelskonto für die Auftragserteilung hat. Die folgenden werden benötigt: Programmierkenntnisse, um die erforderliche Handelsstrategie zu programmieren, angeheuerte Programmierer oder vorgefertigte Handelssoftware Netzwerkkonnektivität und Zugang zu Handelsplattformen, um die Aufträge zu vergeben Zugang zu Marktdatenfeeds, die durch den Algorithmus auf Gelegenheitsmöglichkeiten überwacht werden Bestellungen Die Fähigkeit und Infrastruktur, Backtest System einmal gebaut, bevor es live auf realen Märkten Erhältliche historische Daten für Backtesting, abhängig von der Komplexität der Regeln in Algorithmen implementiert Hier ist ein umfassendes Beispiel: Royal Dutch Shell (RDS) ist in Amsterdam gelistet (AEX) und der London Stock Exchange (LSE). Erstellen Sie einen Algorithmus, um Arbitrage-Chancen zu identifizieren. Hier sind einige interessante Beobachtungen: AEX-Geschäfte in Euros, während LSE in Sterling Pfund handelt Wegen der einstündigen Zeitverschiebung, öffnet AEX eine Stunde früher als LSE, gefolgt von beiden Börsen, die gleichzeitig für die nächsten paar Stunden gehandelt werden und dann nur im LSE Handel Die letzte Stunde als AEX schließt Können wir erkunden die Möglichkeit des Arbitrage-Handels auf der Royal Dutch Shell-Aktien auf diesen beiden Märkten in zwei verschiedenen Währungen aufgeführt Ein Computer-Programm, das aktuelle Marktpreise lesen können Preis-Feeds von LSE und AEX A forex Rate Feed für GBP-EUR-Umrechnungskurs Bestellmöglichkeit, mit der die Bestellung an den richtigen Austausch weitergeleitet werden kann Rücktestfähigkeit auf historische Preisvorschübe Das Computerprogramm sollte folgendes ausführen: Lesen Sie den eingehenden Preisvorschub des RDS-Bestands von beiden Börsen mit den verfügbaren Wechselkursen . wandeln den Preis von einer Währung in eine andere, wenn es eine ausreichend große Preisdifferenz besteht, die zu einer profitablen Möglichkeit (die Maklerkosten Diskontierung), dann den Kaufauftrag auf preiswertere auszutauschen und zu verkaufen, um auf teureren Austausch Wenn die Aufträge wie ausgeführt werden Erwünscht, wird die Arbitrage Profit folgen Einfach und leicht Aber die Praxis der algorithmischen Handel ist nicht so einfach zu pflegen und auszuführen. Denken Sie daran, wenn Sie einen Algo-generierten Handel platzieren können, so können die anderen Marktteilnehmer. Infolgedessen schwanken die Preise in Milli - und sogar Mikrosekunden. In dem oben genannten Beispiel, was passiert, wenn Ihr Kaufhandel ausgeführt wird, aber verkaufen Handel nicht, wie die Verkaufspreise ändern sich durch die Zeit Ihre Bestellung trifft den Markt Sie werden am Ende sitzen mit einer offenen Position. So dass Ihre Arbitrage-Strategie wertlos. Es gibt zusätzliche Risiken und Herausforderungen: zum Beispiel Systemausfallrisiken, Netzwerkkonnektivitätsfehler, Zeitverzögerungen zwischen Handelsaufträgen und Ausführung und vor allem unvollständige Algorithmen. Je komplexer ein Algorithmus ist, desto strenger ist das Backtesting, bevor es in die Tat umgesetzt wird. Quantitative Analyse einer Algorithmen-Performance spielt eine wichtige Rolle und sollte kritisch untersucht werden. Seine spannende für die Automatisierung von Computern mit einer Vorstellung, um Geld zu machen mühelos gehen. Aber man muss sicherstellen, dass das System gründlich getestet wird und die erforderlichen Grenzen gesetzt sind. Analytische Händler sollten das Lernen von Programmierungs - und Gebäudesystemen selbst in Erwägung ziehen, um sicherzustellen, dass die richtigen Strategien in narrensicherer Weise umgesetzt werden. Vorsichtige Nutzung und gründliche Prüfung von algo-trading kann profitable Chancen zu schaffen. Der Markt Meanness Index Dieser Indikator kann 8211 manchmal sogar doppelten 8211 die Gewinnentwicklung der Trend nach Systemen zu verbessern. Der Market Meanness Index gibt an, ob sich der Markt derzeit in einem 8220trending8221-Regime bewegt oder nicht. So können Verluste durch falsche Signale von Trendindikatoren verhindert werden. Es handelt sich um einen rein statistischen Algorithmus und nicht auf Volatilität, Trends oder Zyklen der Preiskurve. Es gibt bereits mehrere Methoden zur Trennung von Markttrends und Markttrends. Einige von ihnen sind gemunkelt, um wirklich funktionieren, zumindest gelegentlich. John Ehlers schlägt die Hilbert-Transformation oder eine Zyklus-Trendzerlegung vor. Benoit Mandelbrot der Hurst Exponent. Im Vergleich dazu ist der Quellcode des Market Meanness Index relativ einfach: Dieser Code ist für Zorro, aber da8217s auch eine MMI-Version für MetaTrader4, die jemand auf Steve Hopwood8217s Forum 8211 programmiert hat, kann der Quellcode dort heruntergeladen werden. Wie der Name schon sagt, misst der Indikator die Gemeinsamkeit des Marktes 8211 seine Tendenz, auf den Mittelwert zurückzukehren, nachdem er vorgibt, einen Trend zu beginnen. Wenn das zu oft passiert, werden alle Tendenzen nach den Systemen den Staub beißen. Die Dreiviertelregel Eine Reihe von Zufallszahlen kehrt zum Mittelwert 8211 oder genauer zum Median 8211 mit einer Wahrscheinlichkeit von 75 zurück. Wenn Sie also eine zufällige Preissequenz betrachten, wenn der Preis von gestern8217 über dem Median liegt, Alle Fälle today8217s Preis ist niedriger als yesterday8217s. Und wenn der Preis gestern8217s unter dem Median lag, ist 75 Chance, dass today8217s Preis höher ist. Der Beweis der 75 ist relativ einfach und gewinnt eine Integralrechnung. Betrachten Sie eine Preiskurve mit Median M. Per Definition ist die Hälfte der Preise kleiner als M und die Hälfte sind größer (für Simplicity8217 sake we8217re ignorieren den Fall, wenn ein Preis genau M ist). Kombinieren Sie nun die Kurvenpreise zu Paaren, die jeweils aus einem Preis Py und dem folgenden Preis Pt bestehen. Somit repräsentiert jedes Paar eine Preisänderung von Py zu Pt. Wir haben nun eine Menge von Preisänderungen erhalten, die wir in vier Sätze aufteilen: Diese vier Sätze haben offensichtlich die gleiche Anzahl von Elementen 8211, dh 14 von allen Py-gtPt-Preisveränderungen 8211, wenn Pt und Py nicht korreliert sind, dh völlig unabhängig sind einander. Dabei ist der Wert von M und die Form der Preiskurve wichtig. Nun, wie viele Preispaare zum Median zurückkehren Alle Paare, die diese Bedingung erfüllen: (Py lt M und Pt gt Py) oder (Py gt M und Pt lt Py) Die Bedingung in der ersten Klammer ist für die Hälfte der Preise in Satz 1 erfüllt (In der anderen Hälfte ist Pt kleiner als Py) und im ganzen Satz 3 (weil Pt immer höher als Py im Satz 3 ist). Die erste Klammer gilt also für 12 14 14 38 aller Preisänderungen. Ebenso ist die zweite Klammer in der Hälfte des Satzes 4 und im ganzen Satz 2 wahr, also auch für 38 aller Preisänderungen. 38 38 ergibt 68, d. h. 75. Dies ist die Dreiviertelregel für die Differenzen der Zufallszahlen. Die MMI-Funktion zählt nur die Anzahl der Datenunterschiede, für die die Bedingung erfüllt ist, und gibt ihren Prozentsatz zurück. Die Datenreihe kann Preise oder Preisänderungen enthalten. Die Preise haben immer einige serielle Korrelation: Wenn EUR USD heute bei 1,20 ist, wird es auch morgen um 1,20 sein. Dass es morgen bei 70 Cent oder 2 Dollar pro EUR enden wird, ist eher unwahrscheinlich. Diese serielle Korrelation gilt auch für eine aus Zufallszahlen berechnete Preisreihe, da nicht die Preise selbst zufällig sind, sondern ihre Änderungen. Somit sollte die MMI-Funktion einen kleineren Prozentsatz, wie z. B. 55, zurückgeben, wenn sie mit Preisen gefüttert wird. Anders als die Preise haben Preisänderungen nicht unbedingt eine serielle Korrelation. Ein hundertprozentiger effizienter Markt hat keine Korrelation zwischen der Preisveränderung von gestern bis heute und der Preisveränderung von heute auf morgen. Wenn die MMI-Funktion mit vollkommen zufälligen Preisveränderungen von einem vollkommen effizienten Markt gefüttert wird, wird sie einen Wert von etwa 75 zurückgeben. Je weniger effizient und desto stärker der Markt s wird, desto mehr verringert sich der MMI. Somit ist ein fallender MMI ein Indikator für einen bevorstehenden Trend. Eine steigende MMI weist darauf hin, dass der Markt, zumindest für Trendhandelssysteme, fieser wird. Verwendung der MMI in einer Trendstrategie Man könnte davon ausgehen, dass MMI die Kursrichtung voraussagt. Ein hoher MMI-Wert zeigt eine hohe Wahrscheinlichkeit für mittlere Reversion an. Wenn also die Preise in letzter Zeit zunehmen und MMI hoch ist, können wir einen baldigen Preisabfall erwarten. Leider funktioniert es nicht so. Die Wahrscheinlichkeit einer mittleren Reversion ist nicht gleichmäßig über die Länge des Datenintervalls verteilt. Für die frühen Preise ist es hoch (da der Median aus künftigen Preisen berechnet wird), aber für die späten Preise, zu der Zeit, wenn MMI berechnet wird, ist es auf nur 50. Voraussagen der nächste Preis mit dem MMI würde funktionieren Auch als Spiegeln einer Münze. Ein weiterer Fehler wäre die Verwendung der MMI für die Erkennung eines zyklischen oder mittel-wiederkehrenden Marktregimes. Zwar wird das MMI in einer solchen Situation steigen, aber es wird auch steigen, wenn der Markt mehr zufällig und effektiver wird. Eine steigende MMI allein ist kein Gewinnversprechen durch Kreisverkehrssysteme. So sagt der MMI won8217t uns den folgenden Preis, und es won8217t uns erklären, wenn der Markt mittlere Rückkehr oder gerade einfaches Mittel ist, aber es kann Informationen über die Erfolgschance des Triebes folgend aufdecken. Dazu machen wir eine Annahme: Trend selbst ist Trends. Der Markt springt nicht plötzlich in und aus dem Trendmodus, sondern mit einer gewissen Trägheit. Wenn wir also wissen, dass MMI steigt, gehen wir davon aus, dass der Markt effizienter, willkürlicher, zyklischer, reversierender oder was auch immer, aber in jedem Fall schlecht für den Trendhandel wird. Allerdings, wenn MMI fällt, sind die Chancen gut, dass der nächste Anfang Trend dauert länger als normal. Auf diese Weise kann der MMI ein guter Trendfilter 8211 in der Theorie sein. Aber wir alle wissen, dass es oft eine große Kluft zwischen Theorie und Praxis gibt, vor allem im algorithmischen Handel. So I8217m jetzt zu prüfen, was die Market Meanness Index tut, um die Sammlung der 900 Trend folgenden Systemen, die I8217ve akkumuliert. Für einen ersten Schnelltest war dies die Eigenkapitalkurve eines der Systeme, TrendEMA. Ohne MMI (44 Jahresdurchschnittsrenditen): Dies ist das gleiche System mit MMI (55 Jahresdurchschnittsrenditen): Wir sehen, dass sich der Gewinn von 250 auf 500 verdoppelt hat. Der Profitfaktor stieg von 1,2 auf 1,8 (Grüne und rote Linien) deutlich reduziert. Auf der anderen Seite begann die Eigenkapitalkurve mit einem Drawdown, der dort mit dem Originalsystem erfolgte. So verbessert MMI offensichtlich nicht alle Trades. Und das war nur ein zufällig ausgewähltes System. Wenn unsere Annahme über Trendtrends zutrifft, sollte der Indikator auch auf die anderen 899 Systeme einen signifikanten Effekt haben. Dieses Experiment wird das Thema des nächsten Artikels, in etwa einer Woche sein. Wie in der Regel I8217ll enthalten alle Quellcode für jedermann zu reproduzieren. Wird die MMI kläglich fehlschlagen oder verbessern nur ein paar Systeme, sondern verschärfen andere Oder wird es leuchten den Weg zum Heiligen Gral der Trend-Strategien Lassen Sie den Markt der Richter. 23 Gedanken auf ldquoThe Markt Meanness Indexrdquo Um, ist nicht dort lookahead Bias hier der Median über den gesamten Datensatz berechnet. Nicht sicher, es kann an jedem Punkt in den Datensatz verwendet werden, um eine Entscheidung zu treffen, wie es ist. Ah, Sie sah wirklich in den Code Wenn der Median über den gesamten Datensatz berechnet wurde, wäre es in der Tat lookahead Bias. Aber 8216Length8217 in den Code ist nur die Länge der MMI-Periode. Sie können nicht mit Zorro vorausschauen, außer wenn Sie ein bestimmtes Flag setzen, andernfalls erzeugt jeder Zugriff zukünftiger Daten eine Warnmeldung. Hey I8217m genießen den Blog Es scheint eine unnötige Einschränkung für Ihren Test für mittlere Reversion vs Trend. Warum muss der Preis über dem Median liegen, bevor er misst, in welche Richtung es geht 8220Mean reversion8221 bezieht sich in der Regel auf eine allgemeinere 8216 wo die Preise eigentlich statt der mathematischen Mittel (oder in Ihrem Fall, Median) sein sollten. Würde man ein besseres Trend-VS-Mittelwert-Reversion-System ansehen, schaue man einfach auf Autokorrelation. Wenn ein Preis eine Richtung und dann wieder die andere Richtung bewegt, unabhängig von ihrer relativen Position zum Median, dann wäre es 8220reverting8221. Dieses doesn8217t ungültig Ihren Ansatz, aber darauf, dass Rauschen ist Mittelwert-Wiederherstellung 75 der Zeit isn8217t beschreibt die Realität genau. Wirklich you8217re sagen 8220noise weg von der Median neigt dazu, zurück in Richtung der Median 75 der Zeit.8221 Oder habe ich falsch verstehen, ich glaube, Sie verstanden es richtig 8211 Ihre Formulierung ist in der Tat genauer. Die MMI ist nicht dazu bestimmt, zwischen der mittleren Reversion und dem Trend zu unterscheiden. Für diese f. i. Die Hurst Exponent produziert bessere Ergebnisse, zumindest nach meiner Erfahrungen. Die MMI arbeitet jedoch gut für die Bestimmung nur die Präsenz oder Abwesenheit von Trend. Sobald es beginnt, hohe Werte im Bereich 75 zurückzugeben, kann es der Beginn der mittleren Reversion sein oder es kann nur Zufall sein 8211 der MMI kann das nicht unterscheiden. Beide Situationen sind ebenfalls schlecht für Trendfolgen. Basierend auf Ihrem Beitrag habe ich MMI auf Quantopian programmiert und getestet. Ich wähle verschiedene Aktien (SPY, BAC, AAPL, NFLX, etc.) täglich schließen Preisänderungen und verschiedene MMI-Längen (100.200.300.500). Der Prüfungszeitraum war von 01012012 bis 01142016. Das Ergebnis war immer um 75 Es gab keinen Wert unter 70 und über 85 auf jeden Fall. Zum Beispiel: SPY von 01012012 bis 01142016 MMI Länge 300 Durchschnitt: 76.092 Standardabweichung: 1.716 Max: 80.27 Min: 71.91 Ist das ein gutes Ergebnis Es scheint mir, dass MMI nicht nutzbar ist oder nur diese kleine ändert sich unter 75 was ich folgen sollte Ich benutzte Preise statt Preisänderungen, das Ergebnis war immer um die 50, die Standardabweichung war höher, aber nicht so überzeugend. Ja, das ist ein gutes Ergebnis, wenn Sie täglich Rückkehr getestet, die normalerweise nicht signifikant Trend. Sogar ein bisschen Mittel Rückkehr vor Mitte-2014. Sie sollten so eine Kurve bekommen: Vielen Dank für Ihre schnelle Antwort. So sind alle Tendenzen folgend Systeme, die auf täglichen nahen Preisen basieren, verdorben. Im Falle von 1H oder forex meine Hypothese ist, dass diese kontinuierlichen, verbundenen Daten in der Zeit und so mehr Trend. Zwischen den Tageskursen gibt es eine große Lücke in der Zeit nach dem Markt schließt und am nächsten Tag öffnet. Also vielleicht sollte ich auf kürzere Zeitskala oder auf Forex handeln. 8220So, wenn Sie eine zufällige Preissequenz betrachten, wenn der gestrige Preis über dem Median lag, in 75 aller Fälle der heutige Preis niedriger ist als gestern. In einer zufälligen Preissequenz ist die Chance, an jedem Punkt höher zu gehen, immer 50 8211 unabhängig davon, wo Der Mittelwert oder das, was gestern passiert ist. Dies ist in der Tat ein häufiges Missverständnis. Die Chance, an einem bestimmten Punkt höher zu gehen, unterscheidet sich stark von der Chance eines Preispaars in einer zufälligen Reihenfolge, um zum Median zurückzukehren. Wenn Sie den obigen Beweis nicht glauben, führen Sie einfach das Skript aus und schauen Sie sich die Ergebnisse an. Und wenn Sie das Skript nicht glauben, rollen Sie die Würfel hundertmal, schreiben Sie alle Zahlen auf und zählen Sie, wie oft die nachfolgenden Zahlen zum Median zurückkehren. 8220Wenn Sie nicht glauben, der Beweis oben, führen Sie einfach das Skript und schauen Sie sich die Ergebnisse8221 So ist das Snippet unten eine Python-Transkription der oben genannten über eine zufällige Wanderung Sequenz. Der MMI ist immer 50 Warum der Unterschied Import zufällig import numpy def randomwalk (n): seq 0 für i im Bereich (n): if random. random () gt 0.5: seq. append (seq-1 1) else: seq. (Daten): m numpy. median (data) nh nl 0 für i im Bereich (1, len (data)): wenn datai gt m und datai gt datai-1: Nl 1 elif datai lt m und datai lt datai-1: nh 1 Rückgabe 100.0 (nlnh) (len (data) -1) mmi marketmeannessindex (randomwalk (106)) print quot quotformat (mmi) Weil Ihr zufälliger Weg nicht ist Eine zufällige Sequenz. Eine zufällige Wanderung hat starke serielle Korrelation. Eine zufällige Folge wäre: def randomwalk (n): seq 0 für i im Bereich (n): seq. append (random. random ()) return seq Gleiches gilt für Preisdaten: Preise sind nicht zufällig. Sie haben eine serielle Korrelation. Aber Preisänderungen sind zufällig, zumindest in einem perfekten effizienten Markt. Das macht Sinn Danke für die Klärung und die prompte Antwort.
No comments:
Post a Comment