Quantifizierte Handelsstrategien für die Analyse von Preisdynamik in Python

Schriftsteller:Gutes, Erstellt: 2019-08-09 15:49:06, aktualisiert: 2023-10-20 20:13:38

img

Ein Überblick über die Preisdynamik-Handelsstrategie

Die Dynamik-Handelsstrategie analysiert den Kontrast zwischen dem Eröffnungspreis, dem Höchstpreis und dem Tiefpreis in einem bestimmten Zeitraum, um indirekt die Verteilung der Kräfte auf beiden Seiten des aktuellen Marktes zu verstehen.

Die Analyse der Preisbewegung ist in der traditionellen manuellen Auflistung sehr nützlich, insbesondere bei der Bestimmung von einseitigen Trends während des Tages.

In diesem Artikel wird die Strategie verwendet, um einen automatischen Handelskonto für digitale Währungen im Token-Netzwerk zu entwickeln.

Berechnungsformel für Preisdynamik

AR = Summe von [N von allen (High-Open) und / N von allen (Open-Low) ] * 100

Das sind:

  • N: Statistisches Fenster für den Tageszeitzyklus, das standardmäßig 30 Tage beträgt, da ein Monat ungefähr 30 Tage lang einen effektiven Handelstag hat (digitale Währungen handeln 24/7, vielleicht ist diese Zahl etwas konservativ)

  • High: Höchster Preis für einen Tag

  • Open: Ein-Tage-Eröffnungspreis

  • Low: Die niedrigsten Preise für einen Tag

Die Nutzung von Preisdynamik

Die Preisbewegung über einen Zeitraum reagiert auf die Position zwischen dem Höchst- und dem Tiefstpreis, von der wir die Kraftzüge beider Seiten bestimmen.

  • Wir nehmen an, dass dieser Wert bei etwa 100 liegt, wenn er über 100 liegt, beginnt die Mehrkopfkraft zu steigen, wenn er unter 100 liegt, beginnt die Leerkopfkraft zu sammeln.
  • Wenn der AR-Wert steigt, bedeutet dies, dass der Markt aktiv und beliebt ist, dass die meisten Spitzen schnell aufsteigen, aber wenn er zu hoch ist, bedeutet dies, dass der Preis in die Überkaufszone gelangt ist, und es sollte eine Zeitplatzierung gewählt werden.
  • Ein Rückgang des AR-Wertes bedeutet eine Rezession des Marktes, eine gute Luftlage, die mehr Mühe erfordert, und ein zu niedriger Wert deutet darauf hin, dass der Preis möglicherweise in den Überverkaufsbereich gefallen ist.

Bitte beachten Sie, dass die oben genannten Zahlen Defaultwerte sind und keine Wahrheitsbestände sind. Bei echten Transaktionen müssen wir die Bandbreite anpassen, um den Marktzustand entsprechend zu ändern.

Quantitative Handelsstrategien für die Implementierung von Preisdynamik in Python

Die alten Regeln: Wir öffnen, wir schalten.FMZ.COMSie können sich mit einem anderen Benutzer anmelden, sich mit einem anderen Benutzer anmelden, auf das Control Center klicken, Administratoren und Roboter bereitstellen.

Über die Implementierung von Administratoren und Roboter lesen Sie in meinem früheren Artikel:https://www.fmz.com/bbs-topic/4140

Leser, die sich einen Cloud-Deployment-Manager kaufen möchten, können sich an diesen Artikel wenden:https://www.fmz.com/bbs-topic/2848

Als nächstes klicken wir auf die Politik-Datei in der linken Tabelle und klicken auf Neue Politik.

In der oberen rechten Ecke der Schreibrichtlinien-Seite sollten Sie sich daran erinnern, die Programmiersprache Python zu wählen.

img

Als nächstes schreiben wir den Python-Code auf der Code-Editing-Seite, und der folgende Code, mit sehr detaillierten Zeilen-für-Zeilen-Anmerkungen, kann von den Lesern langsam verstanden und erkannt werden. Wichtiger ist, dass, obwohl diese Strategie auf dem Basis von Instant-Trading geschrieben wurde, die Erweiterbarkeit des folgenden Codes auch Futures-Trading berücksichtigt.

Wir begannen mit der Umsetzung dieser Strategie, indem wir Bitcoins im Token-Netzwerk als Handelszeichen verwendeten:

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型
def main(): # 主函数,策略逻辑从这里开始
    IDLE = 0 # 用来标记持仓状态,可以理解为0即为空闲状态,也就是空仓状态
    LONG = 1 # 多头持仓
    SHORT = 2 # 空头持仓,注意,此策略应用于现货市场,所以不存在空头开仓或者持仓情况,这里这样写,是为了方便理解策略和以后的扩展(如扩展到期货市场)
    state = IDLE # 标记持仓状态的变量
    while True: # 进入循环
        r = exchange.GetRecords() #GetRecords是发明者量化平台的官方API,详细用法请参见:https://www.fmz.com/api
        if len(r) <= 1: # 判断K线是否大于一根,也就是当前是否为开盘状态,否则可能会进入死循环,这里也方便读者进行扩展,大一些的K线周期趋势状态更稳定。
           Log("bar的数量不足, 等待下一根bar...") # 输出日志
           continue # Python循环控制语句,继续下边的循环内容

        # 开始进行价格动量的量化分析
        ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # 计算公式

        account = _C(exchange.GetAccount) # 获取账户信息,_C同样为发明者量化平台的官方API,用法请参见:https://www.fmz.com/api

        if ar < 95 and (state == IDLE or state == SHORT) :  # AR值小于超卖线且账户拥有资金,则全仓买入
           
           if account["Balance"] > 50:
                exchange.Buy(-1, account["Balance"] * 0.9) # 市价单全仓买入
                state = LONG # 改变持仓状态为LONG
                  
        elif ar > 80 and (state == IDLE or state == LONG):  # AR值大于超买线且账户有持仓,则全仓卖出
            
           if account["Stocks"] > 0.01:
                exchange.Sell(-1, account["Stocks"] * 0.9) # 市价单全仓卖出
                state = SHORT # 改变持仓状态为SHORT
                      
        LogStatus(_D(), exchange.GetAccount() , state) # 更新日志信息

Strategie-Rückprüfung

Nachdem wir eine Strategie geschrieben haben, müssen wir sie als erstes analysieren, um zu sehen, wie sie sich in historischen Daten verhält. Bitte beachten Sie, dass die Ergebnisse der Analysen nicht gleichbedeutend sind mit zukünftigen Vorhersagen, sondern nur als Referenzinformationen für die Wirksamkeit unserer Strategie dienen. Sobald ein Marktwechsel eintritt und eine Strategie mit großen Verlusten beginnt, sollten wir die Probleme rechtzeitig erkennen und dann die Strategie anpassen, um sich an die neuen Marktbedingungen anzupassen.

Klicken Sie auf die Seite "Analogische Debugger" auf der Seite "Policies Edit", auf der auf der Seite "Debugger" die Parameter angepasst werden können, um schnell und einfach zu deaktivieren.

Wir wählen den letzten Monat, klicken auf "Zusatz der Token-Börse, BTC-Marke".

img

Die Ergebnisse der Re-Tests

img

Wie Sie sehen können, hat sich diese Strategie in diesem Monat in den Reviews sehr gut entwickelt.

Die Vor- und Nachteile einer Preisbewegungsstrategie

  • Die Vorteile

Im Vergleich zu einigen anderen traditionellen technischen Indikatoren hat die Preisdynamik den Vorteil, dass sie nicht nur einen einzigen Eröffnungs- oder Schlusskurs verwendet, sondern höchste und niedrigste Preise einführt. Sie werden dynamisch verglichen, indem sie durch Preisfluktuationen innerhalb eines Tages verglichen werden, was die Marktinformationen umfassender, schneller reagierender und makroskopischer macht.

  • Die Schwächen

Der unabhängige Einsatz von Preisbewegungswerten, um zu beurteilen, ob der Preis zu hoch oder zu niedrig ist, um zu entscheiden, ob man zu viel/zu wenig macht, ist sehr wahrscheinlich, dass man in einer großen Welle des Trends zu früh aussteigt oder in einer großen Welle des Marktes zu früh absteigt. Im Großen und Ganzen gehört diese Strategie immer noch zu einer Strategie zur Wirksamkeit von Schock.

Die Threshold-Einstellung der Strategie muss sich auch an den Merkmalen der Handelsmarke orientieren. Die Preisschwankungen des digitalen Währungsmarktes sind relativ groß und das Handelsvolumen ist groß, insbesondere bei Mainstream-Geld wie Bitcoin, und es gibt keine Sprung- und Abwärtströme. Daher ist die Threshold-Einstellung höher als auf dem traditionellen Aktienmarkt. Die 80-Over-Sale-Linie ist in der Regel schwer zu berühren und erzeugt weniger Kaufsignale.

Daher gibt es in diesem Markt nie eine heilige Tafel Handelsstrategien, die ohne Nachprüfung, ohne Default, für immer Geld zu verdienen. Wir quantifizieren Händler und subjektive Händler, sind am Ende auf der gleichen Weise, müssen entsprechend der Veränderungen des Marktes, aufgrund der Gegebenheiten, die sich ändern, und wenn die Strategie ineffizient ist, müssen sie rechtzeitig angepasst werden.

Freunde mit Problemen können kommen.https://www.fmz.com/bbsDer Erfinder der Quantifizierungsplattform hat Fachleute, die Ihnen jederzeit Antworten geben.


Verwandt

Mehr

- Ich weiß nicht.Das ist sehr hilfreich, danke!