Bayes'sche Regression - Hat jemand einen EA mit diesem Algorithmus erstellt? - Seite 46

 
Yuri Evseenkov:

Zu einem Versuch, die Bayes'sche Formel anzuwenden. Nochmals.

Aufgabe. Bestimmen Sie mit Hilfe des Satzes von Bayes, welcher Wert eines noch nicht eingetroffenen Häkchens am wahrscheinlichsten ist.

Gegeben. Zeitreihe x,y.

y=ax+b Eine Linie vom letzten Tick in die Zukunft.

P(a,b|x,y)=P(x,y|a,b)*P(a)*P(b)/P(x,y); (1) Bayes-Formel.

P(a,b|x,y) ist die Wahrscheinlichkeit, dass die Koeffizienten a und b den x- und y-Koordinaten eines zukünftigen Ticks entsprechen.

Wir müssen solche a und b finden, dass diese Wahrscheinlichkeit (oder besser gesagt,ein Wahrscheinlichkeitsmaß) maximal ist.

P(x,y|a,b) - nehmen wir das reale Histogramm der Tick-Verteilung nach Preisniveaus als Likelihood-Funktion. Die Funktion wird durch ein zweidimensionales Array (Matrix) definiert: Preisspanne - Wahrscheinlichkeit, prozentuales Verhältnis der in diese Spanne fallenden Ticks zur Gesamtzahl der Ticks.

P(b) - die Normalverteilung der Inkremente wird als A-priori-Wahrscheinlichkeit b angenommen. PRNG mit dem normalverteilten Wert wird verwendet.

Der P(a)-Koeffizient a bestimmt die Steigung der Geraden und das Vorzeichen des vorhergesagten Zuwachses. Bisher denke ich daran, den Code für die lineare Regression zu verwenden, den ich bereits gepostet habe. D.h. man nimmt die Wahrscheinlichkeit des dort gefundenen Koeffizienten a als Eins an. Setzen Sie in (1) die Wahrscheinlichkeit P(a) ein, die unter Berücksichtigung der Differenz zwischen diesem a und dem für das gegebene y berechneten Wert berechnet wird.

Haben Sie vielleicht eine Idee, wie sich das inkrementelle Vorzeichen der einzelnen Ticks verhält?


Ich habe 2 Indikatoren skizziert und arbeite an Zecken. Die erste definiert A und B für die lineare Regression (für Geld- und Briefkurs getrennt, nur für den Fall) und zeichnet eine Linie. Das zweite ist ein Histogramm der Tick-Werte (rot - Ask, blau - Bid). Jeder Balken eines Tick-Charts ist ein neuer Tick, er fällt nicht mit den Balken des Charts selbst zusammen.

Das ist alles, was ich dem Beitrag entnommen habe. Was kommt als Nächstes? Wenn ich die Logik verstehe, werde ich es zu Ende bringen.


Dateien:
 
Dr.Trader:

Die Verwendung von Ticks für die Vorhersage ist meiner Meinung nach gefährlich, und das Modell sollte für jeden Broker separat eingerichtet werden.

Was die tatsächlichen Ticks betrifft, so können diese von Broker zu Broker sehr unterschiedlich sein.

Ich stimme zu. Ich schrieb oben. Ich werde es noch einmal sagen.

Forex ist eine Menge von Brokerage-Unternehmen, Forex-Unternehmen, Küchen - Europäer, Chinesen, Bahamian, Bermuda ... Davon gibt es eine ganze Menge. Keiner von ihnen dominiert und trägt nicht entscheidend zur Preisbildung bei, und keiner der Akteure auf dem Markt. Die Annahme beruht auf dem zentralen Grenzwertsatz der Wahrscheinlichkeitstheorie (CLT):

"Die Summe einer hinreichend großen Zahl von schwach abhängigen Zufallsvariablen mit annähernd gleichem Betrag (kein einzelner Summand dominiert, kein bestimmender Beitrag zur Summe) hat eine Verteilung, die der Normalverteilung nahe kommt" (Wikipedia).

So wie ich es im Zusammenhang mit Devisen verstehe. Wenn wir alle Ticks ALLER Maklerunternehmen in einem M5-Balken (Millionen von Ticks) sammeln, dann wird die Verteilung der Ticks innerhalb des Balkens einer Normalverteilung nahe kommen. Und je älter der Zeitrahmen ist, desto näher ist sie. Jedes einzelne Maklerunternehmen hat seinen eigenen Kursfluss, der sich von dem dominierenden globalen Fluss durch das Maß der Abschreibung dieses Maklerunternehmens unterscheidet. Dieser vorherrschende Fluss auf dem Diagramm ist eine Kurve (sicherlich nicht gerade!), von der kein Maklerunternehmen weit abweichen kann.

Hier in diesem Thread haben Leute skeptisch auf die Wikipedia-Formulierung von CDT reagiert. Das scheint mir auch falsch zu sein. Allerdings habe ich diese Formulierung inzwischen auch in anderen Quellen gefunden. Auch die MQL4-Referenz enthält ein Beispiel für einen Indikator nach diesem Wortlaut.

Daher bin ich der Meinung, dass das TPT eine ausreichend große Anzahl von Inkrementen in der Periode des schwachen Einflusses der fundamentalen Faktoren voraussetzt.

 
Dr.Trader:

Ich habe 2 Indikatoren skizziert und arbeite an Zecken. Die erste definiert A und B für die lineare Regression (für Geld- und Briefkurs getrennt, nur für den Fall) und zeichnet eine Linie. Das zweite ist ein Histogramm der Tick-Werte (rot - Ask, blau - Bid). Jeder Balken eines Tick-Charts ist ein neuer Tick, er fällt nicht mit den Balken des Charts selbst zusammen.

Das ist alles, was ich dem Beitrag entnommen habe. Was kommt als Nächstes? Wenn ich die Logik verstehe, werde ich es zu Ende bringen.


Ich möchte die Wahrscheinlichkeiten mit der Bayes-Formel berechnen. Die lineare Regression und der gefundene Koeffizient a gelten nur für die Berechnung der A-priori-Wahrscheinlichkeit P(a).
 

Angenommen, es gibt einen Referenzpreis, der von den Liquiditätsanbietern vorgegeben wird, und die Kurse der Makler bewegen sich einfach um diesen Preis herum. In diesem Fall tanzt die Notierung jedes Brokers in einem gewissen Bereich um den "Hauptpreis" und bildet eine Art Kuppel auf dem Histogramm. Wenn man die Histogramme der Kuppeln zusammenzählt, kommt man zu einem Ergebnis, das einer Normalverteilung ähnelt, da stimme ich zu.

Aber für uns funktioniert es trotzdem nicht, da wir mit Kursen eines bestimmten Brokers arbeiten und eine Normalverteilung unwahrscheinlich ist. Ich beobachte das Histogramm schon seit einer Weile, mein Broker gibt mir maximal 4000 Ticks (das sind etwa 20 Minuten), ich verwende sie alle für das Histogramm. Es handelt sich eher um eine auf der Seite liegende Halb-Elipse. Wenn der Preis zu steigen/fallen beginnt, wird die Elipse dünn, nimmt aber schließlich wieder ihre Form an. Manchmal gibt es aber auch zwei Spitzenwerte. Sie können versuchen, diese Durchschnittszahl durch eine andere Verteilung zu beschreiben und diese in den Berechnungen zu verwenden (und nicht die Gauß-Verteilung). Wenn man ein Histogramm mit einer kleinen Anzahl von Ticks, zum Beispiel hundert, erstellt, ist es nur eine unförmige, ständig springende Verteilung, ich glaube nicht, dass es funktioniert, man braucht tausend oder mehr Ticks.

Das Histogramm in der Abbildung hier hat das rechte Drittel als Ergebnis von schnellen Preisänderungen, dann sollte das Ganze die Form der linken zwei Drittel annehmen.

 
Dr.Trader:

Angenommen, es gibt einen Referenzpreis, der von den Liquiditätsanbietern vorgegeben wird, und die Notierungen der Makler bewegen sich einfach um diesen Preis herum. In diesem Fall tanzt die Notierung jedes Brokers in einem gewissen Bereich um den "Hauptpreis" und bildet eine Art Kuppel auf dem Histogramm. Wenn man die Histogramme der Kuppeln zusammenzählt, kommt man zu einem Ergebnis, das einer Normalverteilung ähnelt, da stimme ich zu.

Aber für uns funktioniert es trotzdem nicht, da wir mit Kursen eines bestimmten Brokers arbeiten und eine Normalverteilung unwahrscheinlich ist.

Das ist eine andere Frage. Es geht um die praktische Anwendung.

In Formel (1) ist die Wahrscheinlichkeitsfunktion P(x,y|a,b) ein reales Histogramm von realen Ticks eines realen konkreten Brokers. Zum Beispiel ist die Wahrscheinlichkeit P(x,y|a,b)=0,12, wenn 12% aller Ticks im Fenster in y(Preis)+Bereich(Menge) fallen. Ich erstelle das Histogramm im Profil.



Dann gibt es die Korrekturmultiplikatoren, die A-priori-Wahrscheinlichkeiten P(a) und P(b). Als P(b) habe ich also eine Normalverteilung der PRIRATE-Preise gewählt. Warum, das steht in den vorherigen Beiträgen.

 

Ich habe das Dokument im ersten Beitrag gelesen, es kommt überhaupt nicht gut rüber.

Ich konnte viele der Formeln nicht durchgehen, deshalb hier nur eine freie Umschreibung. Der Autor hat einen Geld- und Briefkurs für Bitcoin für ein halbes Jahr, mit einem Intervall von 10 Sekunden. Er entwickelt ein Programm (Klassifikator), das auf der Grundlage der aktuellen Kurse drei Signale ausgibt - zum Kauf, zum Verkauf und zum Halten offener Positionen. Die Prognose wird für 10 Sekunden im Voraus erstellt. Alle 10 Sekunden sollte das Programm neue Daten erhalten und sie alle neu zählen. Die Ausgangsdaten werden in mehrere Vektoren aufgeteilt, und diese Vektoren werden für die Preisprognose verwendet. Der Klassifikator nimmt drei Datenreihen - eine für die letzten 30 Minuten, die zweite für die letzten 60 Minuten, die dritte für die letzten 120 Minuten (jede Reihe ist immer noch der Preis mit 10 Sekunden Abstand). Ich verstehe es nicht weiter. Die Formeln sind der Neuronik sehr ähnlich, d.h. jedem Eingabewert entspricht ein Gewicht. Diese Gewichte werden jedoch auf drei Felder gleichzeitig angewendet. Und dann stellt sich plötzlich heraus, dass die Gewichte nicht gefunden werden können (aber das ist ein Neuron, nicht wahr?) und wir müssen alle Varianten ausprobieren. Empirisch hat der Autor einige Formeln abgeleitet, die bei der Optimierung der Gewichte helfen sollen, indem er offensichtlich Ungeeignetes verwirft, und irgendwo wird die Bayes'sche Regression verwendet. Auch das Ergebnis der Regression wird wahrscheinlich als Eingabewert für den Klassifikator verwendet.

Für mich sieht es aus wie die Hausarbeit eines Studenten, die er ein paar Nächte vor dem Abgabetermin geschrieben hat. Es gibt keine Verdienstbeschränkungen :)

Obwohl die Bayes'sche Regression verwendet wird, ist sie nur ein kleiner Teil eines komplexen Systems. Möglicherweise wird sein Einfluss durch optimierte Gewichte auf Null reduziert. Ich könnte genauso gut einen Zufallsgenerator in die Neuronen oder den Maya-Kalender einbauen, ihr Einfluss wird bei der Optimierung ohnehin auf Null reduziert.

 
Ich konnte den ersten Beitrag in englischer Sprache nicht lesen. Ich versuche, die Beispiele für das Bayes'sche Theorem in anderen Bereichen zu verstehen. Und ich versuche nur, die Eintrittswahrscheinlichkeiten dieses oder jenes Preises mit der Bayes-Formel zu berechnen. Und Normalverteilung ist überhaupt kein notwendiges Attribut. Es handelt sich lediglich um eine der Hypothesen einer der bisherigen A-priori-Wahrscheinlichkeiten.
 

Ich bin auf zwei Artikel zum Thema Zweigstelle gestoßen, die für Enthusiasten nützlich sein könnten

Artikel 1.

Bayessche Regression mit STAN: Teil 1 normale Regression

Artikel 2

Bayessche Regression mit STAN Teil 2: Jenseits der Normalität

Jeder Artikel ist eine Werbung für zwei Bücher mit demselben Titel

Bayesian regression with STAN: Part 1 normal regression
Bayesian regression with STAN: Part 1 normal regression
  • Lionel Hertzog
  • datascienceplus.com
This post will introduce you to bayesian regression in R, see the reference list at the end of the post for further information concerning this very broad topic. Bayesian regression Bayesian statistics turn around the Bayes theorem, which in a regression context is the following: $$ P(\theta|Data) \propto P(Data|\theta) \times P(\theta) $$...
 

Sie - Ingenieure, Physiker, Funker - sind so seltsam.....

Ich habe Ihnen hier schon oft gesagt, dass Quants, Alt-Trader, Market-Maker keine Idioten sind, dass sie gut in Mathe sind, dass sie mit 100.000+ im Jahr + Bonus nicht SOFORT bezahlt werden, aber Sie alle scheinen das nicht zu verstehen.

Der Börsenkurs ist Ausdruck eines VERBUNDENEN Systems, so dass jedes nützliche (einigermaßen adäquate) Kursmodell NICHT einfach sein kann. Ja, die Bayes'sche Regression kann darin enthalten sein, aber nur als numerische Hilfsmethode. Und du wirfst eine Herde auf "deinen Schwanz, wir werden ihn hier mit der Bayes'schen Methode allein zertrampeln!

Vielleicht hilft Ihnen das hier weiter: die Liste der mathematischen Methoden, die von großen Market Makern, Banken und Hedge-Fonds aktiv im Handel eingesetzt werden. Diese Liste ist auch nach Teilbereichen gegliedert, d.h. nach Arten von gehandelten Finanzinstrumenten und nach Arten von Prognosen in Banken. Diese Liste wurde von einem ehemaligen leitenden Mitarbeiter von Citi und JPMorgan erstellt. Die Liste ist nicht geheim, Sie können sie aus 5-10 Büchern über Finanzmathematik (in Englisch) herausfinden. Aber auf dem russischen Forum, und sogar in einer solchen vollständigen Form - die Liste ist selten.

Datenwissenschaftler, Statistiker
25000 USD
Stellenbeschreibung
BERUFLICHE VORAUSSETZUNGEN (am meisten schätzen wir die Bereitschaft, unterwegs zu lernen)

Fortgeschrittene Kenntnisse in Statistik und Zeitreihen: Stochastische ProzesseWerkzeuge: SSA/SVD, RSSA, FIMA/ARFIMA, Nichtlineares Autoregressives Exogenes Modell (NARX), (N)GARCH und seine Derivate, Hurst Exponent und seine Anwendungen, Rekurrenzquantifizierungsanalyse (RQA)
Programmiererfahrung (oder die Bereitschaft, diese zu erlernen) in Python (und eine Reihe von Bibliotheken für alle statistischen Zwecke)
Datenanalysebibliotheken in Python (theano, keras, Torch, Pandas, NumPy, scikit-learn) oder ihre Entsprechung in R
einige Erfahrung mit maschinellem Lernen, kollaborativer Filterung, Clusteranalyse, Graphentheorie
Andere gemischte Ansätze: ANFIS (adaptives netzbasiertes Fuzzy-Inferenzsystem)
Neuronale Netze: unüberwachtes Lernen: RNN (rekurrente neuronale Netze), FNN, RBF, etc.

AUFGABEN UND UMFELD:
Statistische Analyse von Finanzdaten, ökonometrische Anwendungen

Moderatoren: bitte löschen Sie versehentlich nicht-schnell-gelöschten Link auf die ursprüngliche Quelle, ich kann nicht, es hängt immer noch in Ihrer Datenbank Forum im Keller des Beitrags. Sonst halten sie es für Werbung. Ich danke Ihnen.

Все вакансии компании TenViz LLC
Все вакансии компании TenViz LLC
  • www.work.ua
New York, US, based product (services) company with growing sales on 3 continents and 25−35 employees and contractors. We have a growing team in Ukraine, and are hiring full- and part-time people with...
 
Machine Learning, Neural Networks analyst
28000 UAH

Job Description

PROFESSIONAL REQUIREMENTS (wir schätzen den Wunsch, unterwegs zu lernen, am meisten):

Knowledge of Artificial Neural Networks and Machine Learning, including:

FeedForward Neural Network (FNN)
Recurrent Neural Networks (RNN) family: einschließlich Long-Short Term Memory Model (LSTM)
CNN - Convolutional Neural Networks
Radial Basis Function (RBF)
gemischte Ansätze ANFIS (Adaptive Network-based Fuzzy Inference System)
Programmiererfahrung (oder die Bereitschaft, diese zu erlernen) in Python (und einer Reihe von Bibliotheken für alles, was mit Statistik zu tun hat)
Maschinelles Lernen und Datenanalysebibliotheken in Python (theano, keras, Torch, Pandas, NumPy, scikit-learn)
Zusätzlich wären gute Kenntnisse in R und/oder Matlab hilfreich

VERBUNDENE WISSENSBEREICHE:

Fortgeschrittene Kenntnisse in Statistik und Zeitreihen (Stochastische Prozesse und Tools): ARFIMA, Nichtlineares Autoregressives Exogenes Modell (NARX), Wavelet-Transformationen
Modelle zur Schätzung des Spektrums - Singuläre Spektralanalyse (SSA) (SVD)
Kollaborative Filterung, Clusteranalyse, Graphentheorie

AUFGABEN (nach Prioritäten geordnet):

statistische Analyse von Finanzdaten, ökonometrische Anwendungen
Aufbau von Diensten und Rahmenwerken für die interaktive verteilte Verarbeitung von Abfragen über große Mengen von Finanzmarktdaten