資源の読み込みに... 荷物...

統計的偏差に基づく市場極限減額戦略

作者: リン・ハーンチャオチャン,日付: 2024-11-29 16:46:33
タグ:性感染症SMAマルチSD

img

概要

この戦略は,極端な市場低迷の統計的特徴に基づいています. 引き下げを統計的に分析し,標準偏差を使用して市場変動の極端を測定することで,市場の下落が通常の範囲を超えると購入ポジションを開始します. 基本的なアイデアは,市場のパニックによって引き起こされる過剰販売機会を把握し,市場の不合理性から生じる数学的統計方法によって投資機会を特定することです.

戦略原則

この戦略は,価格の最大引き下げとその統計的特徴を計算するために,ローリングタイムウィンドウを使用する.最初に過去50期間の最高価格を計算し,その後,現在の閉店価格の最高価格に対する引き下げパーセントを計算する.その後,引き下げの平均値と標準偏差を計算し,トリガーしきい値として -1 標準偏差を設定する.市場引き下げが平均値マイナス標準偏差の倍数を超えると,潜在的な過売り状況を示すロングポジションが入力される.ポジションは35期後に自動的に閉鎖される.この戦略は,引き下げ曲線と,1,2および3つの標準偏差レベルをプロットし,市場の過売り状況の視覚的な評価を行う.

戦略 の 利点

  1. この戦略は,堅実な理論的基礎を持つ統計的原則に基づいています.市場変動の極端を測定するために標準偏差を使用することは客観的で科学的です.
  2. 市場パニック期間の投資機会を効果的に把握する. 不合理な市場下落の時にポジションに入ることは 価値投資の原則に沿っています.
  3. 固定期間のポジション閉鎖は,遅延ストップで発生するリバウンドを逃すのを避ける.
  4. 高度に調整可能なパラメータは,異なる市場環境と取引手段に柔軟性を可能にします.
  5. 抽出率と標準偏差指標の単純な計算により 戦略の論理は明確で 分かりやすく実行できます

戦略リスク

  1. 市場が継続的に下落し,頻繁に負債を引く可能性があります.最大ポジション制限を設定することを検討してください.
  2. 固定期間の出口は,より大きな上向きの可能性を見逃す可能性があります.トレンドをフォローする出口方法を追加することを検討してください.
  3. 引き上げ統計の特徴は,市場の状況によって変化する可能性があります.定期的なパラメータ更新を検討してください.
  4. 戦略は,量や他の市場情報を考慮しない.複数の指標とのクロスバリディレーションを検討する.
  5. 標準偏差は不安定な市場では信頼性が低下する可能性があります.リスク管理措置の実施を検討してください.

オプティマイゼーションの方向性

  1. 市場のパニックレベルを確認するための 量指標を組み込む
  2. 傾向指標を追加して 下落傾向の頻繁なエントリを避ける.
  3. 市場業績に基づくダイナミックな保持期間調整による退出メカニズムを最適化する.
  4. ストップ・ロスの設定を追加して,単一の取引リスクを制御します.
  5. 適応パラメータを使用して 市場の変化に戦略の適応を改善することを検討します.

概要

この戦略は,強力な理論的基盤と実用的な価値を持つ統計的方法によって市場過剰販売機会を捉える.戦略論理は,拡張と最適化のための基礎戦略として適した調整可能なパラメータでシンプルで明確である.技術指標とリスク管理措置を追加することによって戦略の安定性と収益性はさらに強化することができる.ライブ取引では,適切なリスク管理を維持しながら,市場の状況と取引機器の特徴を考慮してパラメータを慎重に設定する.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy When There's Blood in the Streets Strategy", overlay=false, shorttitle="BloodInTheStreets")


//This strategy identifies opportunities to buy during extreme market drawdowns based on standard deviation thresholds. 
//It calculates the maximum drawdown over a user-defined lookback period, identifies extreme deviations from the mean, 
//and triggers long entries when specific conditions are met. The position is exited after a defined number of bars.


// User Inputs
lookbackPeriod = input.int(50, title="Lookback Period", minval=1, tooltip="Period to calculate the highest high for drawdown")
stdDevLength = input.int(50, title="Standard Deviation Length", minval=1, tooltip="Length of the period to calculate standard deviation")
stdDevThreshold = input.float(-1.0, title="Standard Deviation Threshold", tooltip="Trigger level for long entry based on deviations")
exitBars = input.int(35, title="Exit After (Bars)", minval=1, tooltip="Number of bars after which to exit the trade")

// Drawdown Calculation
peakHigh = ta.highest(high, lookbackPeriod)
drawdown = ((close - peakHigh) / peakHigh) * 100

// Standard Deviation Calculation
drawdownStdDev = ta.stdev(drawdown, stdDevLength)
meanDrawdown = ta.sma(drawdown, stdDevLength)

// Define Standard Deviation Levels
stdDev1 = meanDrawdown - drawdownStdDev
stdDev2 = meanDrawdown - 2 * drawdownStdDev
stdDev3 = meanDrawdown - 3 * drawdownStdDev

// Plot Drawdown and Levels
plot(drawdown, color=color.red, linewidth=2, title="Drawdown (%)")
plot(meanDrawdown, color=color.blue, linewidth=2, title="Mean Drawdown")
plot(stdDev1, color=color.green, linewidth=1, title="1st Std Dev")
plot(stdDev2, color=color.orange, linewidth=1, title="2nd Std Dev")
plot(stdDev3, color=color.purple, linewidth=1, title="3rd Std Dev")

// Entry Condition
var float entryBar = na
goLong = drawdown <= meanDrawdown + stdDevThreshold * drawdownStdDev

if (goLong and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    entryBar := bar_index

// Exit Condition
if (strategy.position_size > 0 and not na(entryBar) and bar_index - entryBar >= exitBars)
    strategy.close("Long")


関連性

もっと