Preiskanalentwicklung nach Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-08 11:05:11
Tags:

img

Übersicht

Diese Strategie ist eine Trendfolgestrategie, die auf dem Preiskanalprinzip basiert. Sie berechnet die höchsten und niedrigsten Preise in einem bestimmten historischen Zeitraum, um einen Preiskanal zu bilden, und verwendet die Kanalgrenzen als Kauf- und Verkaufssignale, um Preistrends zu verfolgen.

Strategie Logik

Der Kerngedanke der Preiskanalstrategie ist: Wenn der Aktienkurs im Aufwärtstrend ist, wird er das historische Hoch durchbrechen; wenn er im Abwärtstrend ist, wird er das historische Tief durchbrechen. Daher kann ein Preiskanal basierend auf den höchsten und niedrigsten Preisen über einen bestimmten historischen Zeitraum (z. B. 21 Tage) konstruiert werden. Die oberen und unteren Schienen des Kanals dienen als Kauf- und Verkaufssignale.

Insbesondere verwendet diese Strategie die Funktionen höchste und niedrigste, um die höchsten und niedrigsten Preise in den letzten 21 Tagen zu berechnen, um einen Preiskanal zu bilden. Wenn der Schlusskurs des Tages höher als das 21-Tage-Hoch ist (d.h. durch die obere Schiene des Kanals bricht), wird ein Kaufsignal generiert. Wenn der Schlusskurs niedriger als das 21-Tage-Tief ist (d.h. durch die untere Schiene bricht), wird ein Verkaufssignal generiert.

Darüber hinaus prüft die Strategie auch nach Lücken, um mögliche Trendumkehrungen zu beurteilen. Wenn es eine Abwärtslücke gibt, wird der Preiskanal auf Rot gesetzt, um Risiken abzusichern. Wenn es eine Aufwärtslücke gibt, wird er auf Grün gesetzt.

Analyse der Vorteile

Die wichtigsten Vorteile der Preiskanalstrategie sind:

  1. Die Strategie ist einfach, leicht zu verstehen und umzusetzen
  2. Kann die Kursentwicklung von Aktien effektiv erkennen und diese rechtzeitig verfolgen
  3. Verringert die Transaktionskosten durch die Erzeugung von Signalen durch Ausbrüche
  4. Der Preiskanal kann die Rolle des Stop Loss spielen
  5. Überprüfung auf Lücken zeigt mögliche Trendänderungen an

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Es stützt sich ausschließlich auf Preisdaten und ignoriert andere Fundamentaldaten, technische Indikatoren usw.
  2. Eine unsachgemäße Einstellung der Kanalparameter könnte zu einer übermäßig aggressiven oder übermäßig konservativen Einstellung führen.
  3. Ausbruchkäufe können Rückzugsrisiken auslösen, die einen Stop-Loss verursachen
  4. Es berücksichtigt nicht die Auswirkungen von Preisvolatilität und Liquidität
  5. Unterschiede zwischen den einzelnen Wirtschaftszweigen und einzelnen Beständen werden nicht berücksichtigt

Um diese Risiken zu überwinden, könnten folgende Optimierungen in Betracht gezogen werden:

  1. Einbeziehung wichtiger technischer Indikatoren zur Vermeidung falscher Signale
  2. Hinzufügen von algorithmen für adaptive kanalparameter
  3. Verwenden Sie gleitende Durchschnitte zur Beurteilung der Trendbeständigkeit
  4. Festlegen von Kanalbreitenfaktoren zur Korrektur verschiedener Volatilitätsniveaus
  5. Unterscheidung der Parameter nach Branchen und Begriffen

Optimierungsrichtlinien

Die wichtigsten Richtungen zur Optimierung dieser Strategie sind:

  1. Optimierung der Berechnungen der Preiskanalparameter, z. B. adaptive Kanäle, Volatilitätskanäle usw.
  2. Einbeziehung anderer technischer Indikatoren zur Verbesserung der Signalgenauigkeit
  3. Hinzufügen von Stop-Loss- und Take-Profit-Strategien, um Risiken zu kontrollieren und Gewinne zu erzielen
  4. Festlegung dynamischer Parameter für verschiedene Branchen und einzelne Bestände
  5. Verbesserung der Strategie durch Einbeziehung von Grundlagen und Veranstaltungstreibern
  6. Anwendung von Algorithmen des maschinellen Lernens für adaptive Optimierung und Zustandsbeurteilung

Zusammenfassung

Die Preiskanalstrategie baut einen einfachen Kanal auf, der historische Spitzen und Tiefen verwendet und die Kanalgrenzen als Handelssignale verwendet. Es ist eine typische Trend-Folge-Strategie, die leicht zu verstehen und umzusetzen ist und Preistrends effektiv verfolgen kann, wobei der Preiskanal als Stop-Loss-Mechanismus dient. Allerdings gibt es auch Risiken mit dieser Strategie. Die wichtigsten Optimierungsdimensionen umfassen Parameter-Tuning, Kombination anderer Indikatoren, Implementierung von Stop-Loss/Profit-Taking, dynamische Parametrierung usw. Insgesamt bietet die Preiskanalstrategie einen einfachen und praktischen Trend-Folge-Rahmen für den quantitativen Handel, braucht aber weitere Verbesserungen und Optimierungen, um eine bessere Leistung im Live-Handel zu erzielen.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
//  作品: [LunaOwl] 樂活投資:價格通道
//  英文: [LunaOwl] LOHAS Investor - PriceChannel
//
///////////////////////////////
//     ~~!!*(๑╹◡╹๑) **      //
//  製作: @LunaOwl 彭彭      //
//  一版: 2019年12月07日     //
//  二版: 2019年12月09日     //
///////////////////////////////
//
//  介紹:
//--價格通道是一個古老的投資策略,對於「肯做功課選股」的上班族投資人非常方便。
//--由於大多數股市散戶沒有時間操作,即時有時間操作也只是加快輸錢的速度,所以,
//--上班族投資法,或「樂活投資」的條件有幾點:
//--**********
//--1) 設定溫和的投資報酬率期望
//--2) 使用適合的選股方式建立投資組合,減少單一股票的失誤率
//--3) 使用簡單的進出場策略,規律的執行它
//--4) 財富依靠時間積累,每天學習
//--**********
//
//==定義回測條件==//

strategy("[LunaOwl] 價格通道",
     initial_capital = 10000, commission_value = 0.07, 
     default_qty_type = strategy.percent_of_equity,
     default_qty_value = 50, overlay = true,
     calc_on_order_fills = true
     )

//==設定價格通道==//

Channel_Price  = input(close, title = "通道價格")
Channel_Length = input(21, title = "通道回溯長度")
Channel_High = highest(high, Channel_Length)
Channel_Low  = lowest(low, Channel_Length)

gapUp   = (low > high[1])
gapDown = (high < low[1])

BackgroundColour = (gapUp == true) ? color.green :
                   (gapDown == true) ? color.red : na
                   
bgcolor(BackgroundColour, transp=60)

BorderlineA = plot(Channel_High, title = "通道上線", color = color.red, style = plot.style_line)
BorderlineB = plot(Channel_Low, title = "通道下線", color = color.blue, style = plot.style_line)
fill(BorderlineA, BorderlineB, title = "通道底色", color = color.gray, transp = 85)

Long_entry = close >= Channel_High
Long_close_all = close <= Channel_Low

if (not na(close[Channel_Length]))
    strategy.entry("買入", strategy.long, comment = "高於近期", stop = Channel_High)
    strategy.entry("賣出", strategy.short, comment = "低於近期", stop = Channel_Low)

Mehr