
Es wird oft gesagt, dass Trading eine Kunst sei und Kunst durch Inspiration entstehe. Deshalb möchte ich Ihnen heute zeigen, wie Sie mit der Funktion „Quantitative Data Replay“ des Inventors Ihre eigene Inspiration für den Handel entdecken können.
Mit dem, was wir üblicherweise als Inspiration bezeichnen, ist der kreative Zustand gemeint, den Menschen während eines Denkprozesses augenblicklich erleben. Bei Händlern ist die linke Gehirnhälfte für die Formulierung einer Reihe von Regeln zuständig, beispielsweise für die Entwicklung von Strategien, die Kapitalallokation und die Festlegung von Parametern. Diese Handelsinspirationen und das Marktgespür kommen aus der rechten Gehirnhälfte.
Viele Menschen haben schon einmal den Begriff „Marktgefühl“ gehört. Dabei handelt es sich um ein unbeschreibliches Gefühl, als käme ihnen das, was gerade passiert, bekannt vor. Diese dem sechsten Sinn ähnliche Intuition wird Händler beim Handel dazu veranlassen, Kauf- oder Verkaufsentscheidungen auf der Grundlage ihrer Vorahnung künftiger Markttrends zu treffen, obwohl sie nicht auf logischen Überlegungen und Analysen beruht.
Für Außenstehende ist Marktgespür ein geheimnisvolles Talent, das es Ihnen ermöglicht, ohne jeglichen Spielzug zu gewinnen. Damit können Sie auf dem Markt Fuß fassen. Tatsächlich ist das Marktgespür eine Zusammenfassung der subjektiven Handelserfahrung des Gehirns. Es ist ein vages, vorausschauendes Gefühl, das man durch jahrelange Beobachtung des Marktes erlangt.
Obwohl Inspiration strenggenommen nicht völlig dasselbe ist wie Marktsinn, bin ich überzeugt, dass jeder nach tausenden Erfahrungen auf dem Markt ein tieferes Verständnis für den Markt hat und geschickter in der Entwicklung von Strategien ist. Wenn Sie sich dieses Talent aneignen und weitere Handelsstrategien entwickeln möchten, bleibt Ihnen daher nichts anderes übrig, als zu üben, bis Sie die Chance dazu bekommen. Nur durch eine große Anzahl von Transaktionen können Sie Ihr Handelssystem perfektionieren.
Allerdings haben inländische Rohstoff-Futures und Aktien nur wenige Stunden Handelszeit pro Tag.Wenn Sie nur Ihre Erfahrung bei der Beobachtung des Marktes durch realen Handel verbessern, Ihr eigenes Gewinnmodell und Ihre eigenen Handelsregeln entwickeln und Ihre konditionierten Reflexe unbewusst trainieren, wird es schwierig sein, Erfolg zu haben. Ich bin dazu nicht in der Lage. Die meisten Händler müssen nicht nur die längerfristigen Kosten tragen, sondern auch die Kosten eines Kapitalverlusts. Um dieses Problem zu lösen, haben die Erfinder eine quantitative Datenwiedergabefunktion entwickelt.
Die Datenwiedergabefunktion kann ohne Einschränkung durch die Handelszeiten der Börse trainiert werden und unterstützt eine Vielzahl von Rohstoff-Futures und digitalen Währungsvarianten. Die Marktbedingungen können manuell oder automatisch wiedergegeben werden, und die Start- und Endzeiten der historischen Marktbedingungen und die Abspielgeschwindigkeit lässt sich frei einstellen. Im Vergleich zu anderer Software, die üblicherweise K-Line-Datenwiedergabemethoden verwendet, verwendet Inventor Quantitative Tick-Level-Datenwiedergabemethoden, eine Backtesting-Umgebung, die dem realen Handel wirklich nahe kommt und die Preis- und Volumendaten reproduziert, sodass Händler eintauchen können in die Erfahrung.
Öffnen Sie die offizielle Website von Inventor Quantitative (fmz.com), registrieren Sie sich und melden Sie sich an. Klicken Sie dann im Kontrollcenter auf „Data Exploration“, um die Seite mit der Datenwiedergabefunktion anzuzeigen. Es gibt vier Optionsfelder und eine Auswahlschaltfläche. Klicken Sie zunächst auf die Auswahlschaltfläche, um nur die Sorten anzuzeigen, die die Echtzeitwiedergabe unterstützen. Wählen Sie dann in der oberen linken Ecke die Sorte aus, die wiedergegeben werden soll, und wählen Sie dann Start und Ende Zeit der Daten in den nächsten beiden Optionsfeldern. Wählen Sie den Datenzeitraum als Echtzeitwiedergabe aus und klicken Sie abschließend ganz rechts auf die Schaltfläche „Los“, um die Datenwiedergabefunktion zu starten.

Unter der Datenbeschriftung befinden sich drei Abschnitte. Auf der linken Seite befindet sich die Transaktionshistorie, welche alle ausgeführten Aufträge in chronologischer Reihenfolge anzeigt. In der Mitte befinden sich die Marktdaten mit 20 Tiefenebenen für Kauf und Verkauf. Auf der rechten Seite befindet sich der Kontrollbereich für die Datenwiedergabe, in dem Sie manuelle und automatische Methoden zur Datenwiedergabe auswählen können, genauso einfach wie bei der Verwendung eines Mediaplayers.

Der Positionsindex kann vor- und zurückgezogen werden, um den Startzeitpunkt der Datenwiedergabe schnell auszuwählen.

Unten können Sie außerdem die Geschwindigkeit der Datenwiedergabe steuern, indem Sie den Cursor nach rechts oder links bewegen. Die Zeiteinheit ist Millisekunden. Sie können die Datenwiedergabe beschleunigen oder verlangsamen.

Allerdings gibt es viele Faktoren, die Preisschwankungen beeinflussen, darunter: das globale Wirtschaftsumfeld, nationale makroökonomische Politiken, relevante Industriepolitiken, Angebots- und Nachfragebeziehungen, internationale Ereignisse, Zinssätze und Wechselkurse, Inflation und Deflation, Marktpsychologie, unbekannte Faktoren usw. , die endgültige Marktsituation. Der oben genannte Preis ist das Ergebnis des Wettbewerbs zwischen Bullen und Bären. Gibt es mehr Käufer als Verkäufer, steigt der Preis; gibt es umgekehrt mehr Verkäufer als Käufer, fällt der Preis. Dann müssen wir nur noch den Preis analysieren, um eine Handelsstrategie zu entwickeln.
Durch die quantitative Wiedergabe des Handelspaares btc_usdt auf der Binance-Börse durch den Erfinder im vergangenen Monat haben wir festgestellt, dass das Auftragsvolumen der Long- und Short-Seiten des Tick-Daten-Orderbuchs offensichtlich asymmetrisch war, als der Markt in die Höhe schoss oder abstürzte. Bei starken Kursanstiegen ist das Volumen der Long-Orders deutlich größer als das Volumen der Short-Orders; bei starken Kursrückgängen ist das Volumen der Short-Orders deutlich kleiner als das Volumen der Long-Orders. Können wir also anhand der Anzahl der Aufträge im Auftragsbuch den Anstieg und Fall der Preise in einem kurzen Zeitraum vorhersagen?
Die Antwort ist ja.

Wir können Deep-Tick-Daten sammeln, das Volumen von Long- und Short-Orders berechnen und vergleichen. Wenn das kombinierte Volumen von Long- und Short-Orders sehr unterschiedlich ist, kann dies eine potenzielle Kauf- oder Verkaufsgelegenheit sein. Wenn beispielsweise die Anzahl der Long-Orders N-mal so hoch ist wie die der Short-Orders, können wir davon ausgehen, dass die meisten Leute auf dem Markt optimistisch sind und die Wahrscheinlichkeit kurzfristiger Preiserhöhungen steigt; wenn die Anzahl der Short-Orders N mal so hoch wie bei Long-Orders. Derzeit können wir davon ausgehen, dass die Mehrheit der Marktteilnehmer pessimistisch ist und die Wahrscheinlichkeit eines kurzfristigen Preisrückgangs in der Zukunft steigen wird.
Beginnen Sie gemäß der obigen Strategielogik mit der Implementierung mit Code. Öffnen Sie der Reihe nach: fmz.com-Website > Anmelden > Kontrollzentrum > Richtlinienbibliothek > Neue Richtlinie > Klicken Sie auf das Dropdown-Menü in der oberen rechten Ecke und wählen Sie die Sprache Python aus, um mit dem Schreiben von Richtlinien zu beginnen. Diese Strategie ist nur ein Ausgangspunkt für den Unterricht, daher habe ich versucht, sie so kurz wie möglich zu halten. Bitte beachten Sie die Kommentare im folgenden Code.
Schritt 1: Schreiben Sie einen politischen Rahmen
# 策略主函数
def onTick():
pass
# 程序入口
def main():
while True: # 进入无限循环模式
onTick() # 执行策略主函数
Sleep(1000) # 休眠1秒
Wenn wir Strategien schreiben, sollten wir vom Großen zum Kleinen vorgehen, genau wie beim Hausbau: Bauen Sie zuerst das Gerüst und dann die Wände. In diesem Framework verwenden wir zwei Funktionen: Hauptfunktion und OnTick-Funktion. Die Hauptfunktion ist der Einstiegspunkt des Programms, was bedeutet, dass das Programm von hier aus ausgeführt wird und dann in den Endlosschleifenmodus wechselt und die Funktion onTick wiederholt ausführt. Dann müssen wir nur noch den Strategieinhalt in die onTick-Funktion schreiben.
Schritt 2: Globale Variablen schreiben
vol_ratio_arr = [] # 多空挂单比率数组
mp = 0 # 虚拟持仓
Der Grund, warum vol_ratio_arr als globale Variable definiert ist, besteht darin, dass meine Strategie das Verhältnis von Long- und Short-Orders für einen Zeitraum von Tick-Daten erfassen muss. Wenn wir die Variable vol_ratio_arr in die Funktion onTick einfügen, ist es offensichtlich unvernünftig, sie mit der Schleife. Was wir brauchen, ist, dass in einem Muster der Wert einer Variablen nur geändert wird, wenn eine bestimmte Bedingung erfüllt ist. Der sinnvollste Ansatz besteht darin, die Variable außerhalb der Schleife zu platzieren.
Positionsmanagement ist sehr wichtig, da es mit der Kauf- und Verkaufslogik zusammenhängt. Im Allgemeinen berechnen wir beim Spothandel die gehaltenen Währungspaare, indem wir das Konto erhalten. Um den Code zu vereinfachen, wird hier direkt eine globale virtuelle Positionsvariable definiert, um die Kauf- und Verkaufslogik zu steuern.
Schritt 3: Berechnen Sie das aktuelle Long-Short-Verhältnis
depth = exchange.GetDepth() # 获取深度数据
asks = depth['Asks'] # 获取卖价数组
bids = depth['Bids'] # 获取买价数组
asks_vol = 0 # 所有卖价挂单
bids_vol = 0 # 所有买价挂单
for index, ask in enumerate(asks): # 遍历卖价数组
# 线性计算所有卖价挂单
asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids): # 遍历买价数组
# 线性计算所有买价挂单
bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol # 计算多空比率
Wie wir alle wissen, haben digitale Währungen normalerweise 20 Ebenen an Tiefendaten, sodass wir die Long- und Short-Orders addieren können, um das Verhältnis von Longs zu Shorts zu berechnen. Wenn dieser Wert größer als 1 ist, bedeutet dies, dass mehr Leute optimistisch sind als bärisch. Dies bedeutet, dass der Preis in Zukunft kurzfristig steigen wird. Wenn dieser Wert kleiner als 1 ist, bedeutet dies, dass die Anzahl der bärischen Personen größer ist als die Anzahl der bullischen Personen, was darauf hinweist, dass der Preis in der Zukunft fallen wird. kurzfristig in der Zukunft.
Aber eines muss unterschieden werden. Je näher die Pending Order am Marktpreis liegt, desto stärker ist die bullische oder bärische Stimmung. So deutet beispielsweise eine Kauforder auf der ersten Ebene definitiv auf eine stärkere bullische Stimmung hin als eine Kauforder auf der 20. Ebene. Daher müssen wir beim Ansammeln ausstehender Aufträge den 20 Aufträgen linear unterschiedliche Gewichtungen zuweisen, was sinnvoller ist.
Schritt 4: Berechnen Sie das Long-Short-Verhältnis linear über einen bestimmten Zeitraum
global vol_ratio_arr, mp # 引入全局变量
vol_ratio_arr.insert(0, bidask_ratio) # 把多空比率放到全局变量数组里面
if len(vol_ratio_arr) > 20: # 如果数组超过指定长度
vol_ratio_arr.pop() # 删除最旧的元素
all_ratio = 0 # 临时变量,所有多空挂单比率
all_num = 0 # 临时变量,所有线性乘数
for index, vol_ratio in enumerate(vol_ratio_arr): # 变量全局变量数组
num = 20 - index # 线性乘数
all_num = all_num + num # 线性乘数累加
all_ratio = all_ratio + vol_ratio * num # 所有多空挂单比率累加
ratio = all_ratio / all_num # 线性多空挂单比率
Das Long-Short-Verhältnis kann durch Division der kumulierten Long-Orders durch die kumulierten Short-Orders ermittelt werden, aber dies sind nur die Daten eines Ticks. Es ist möglicherweise keine kluge Entscheidung, Kauf- und Verkaufstransaktionen nur auf der Grundlage von Daten eines Ticks zu entscheiden. , denn in einem sich ständig verändernden Markt kann ein Tick den Markttrend ändern. Tick-Daten sind nicht überzeugend. Daher müssen wir Tick-Daten über einen festen Zeitraum erfassen und dann eine lineare Berechnung verwenden, um einen fairen Wert zu erhalten.
Schritt 5: Bestellung aufgeben
last_ask_price = asks[0]['Price'] # 最新卖一价,用于买入的价格
last_bid_price = bids[0]['Price'] # 最新买一价,用于卖出的价格
if mp == 0 and ratio > buy_threshold: # 如果当前无持币,并且比率大于指定值
exchange.Buy(last_ask_price, 0.01) # 买入
mp = 1 # 设置虚拟持仓的值
if mp == 1 and ratio < sell_threshold: # 如果当前持币,并且比率小于指定值
exchange.Sell(last_bid_price, 0.01) # 卖出
mp = 0 # 重置虚拟持仓的值
Da wir bei der Auftragserteilung einen Preis angeben müssen, können wir beim Kauf direkt den neuesten Briefkurs und beim Verkauf den neuesten Gebotskurs verwenden. Setzen Sie abschließend den Wert der virtuellen Position zurück, nachdem die Bestellung aufgegeben und die Transaktion abgeschlossen wurde.
Oben ist die Codeanalyse der linearen Order-Flow-Strategie, die auf der Grundlage der Datenwiedergabefunktion entwickelt wurde. Wenn Sie ein Anfänger im Handel sind, kann Ihnen die Datenwiedergabefunktion helfen, den Handel kostenlos zu erlernen und die Zeit zum Verständnis des Handels zu verkürzen. Normalerweise Es dauert mehrere Jahre, um den Handel im realen oder simulierten Handel zu erlernen. Erste Ergebnisse sind sichtbar. Der gleiche Effekt kann in wenigen Wochen mithilfe der Datenwiedergabefunktion erzielt werden, sodass Sie den Handel mit minimalen Verlusten erlernen können, ohne Zeit zu verlieren. Fortgeschrittenen Händlern kann die dynamische Überprüfung dabei helfen, frühere Probleme zu analysieren, Handelsstrategien zu überprüfen und zu verbessern, das Vertrauen der Händler in die Strategien zu stärken und Inspiration für neue Strategien zu gewinnen.