この戦略は,移動平均値からの価格偏差を活用して取引決定を行う,平均逆転の原則に基づいています.価格は上部帯を超えるとショートになり,下部帯を下回るとロングになります.価格は移動平均値に戻るとポジションは閉鎖されます.この戦略の基本的な仮定は,価格は常に平均値に戻るということです.
平均逆転戦略 (mean reversal strategy) は,統計的原則に基づく定量的な取引戦略で,平均価格の周りに上下帯を作ることで取引決定を下す.この戦略はシンプルな論理と明確な実行を持っていますが,楽器の選択とパラメータの最適化に注意を払う必要があります.実用的な応用では,戦略の堅牢性と収益性を向上させるために,トレンド,取引コスト,リスク管理などの要因も考慮する必要があります.一般的に,平均逆転戦略は定量的な取引の分野で一般的なものであり,深く研究されるべきものです.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Mean Regression Strategy", overlay=true) // Define the lookback period for the moving average length = input.int(20, title="Moving Average Length") mult = input.float(1.5, title="Standard Deviation Multiplier") // Calculate the moving average and standard deviation ma = ta.sma(close, length) dev = mult * ta.stdev(close, length) // Calculate upper and lower bands upper_band = ma + dev lower_band = ma - dev // Plot the moving average and bands plot(ma, color=color.blue, linewidth=2, title="Moving Average") plot(upper_band, color=color.red, linewidth=2, title="Upper Band") plot(lower_band, color=color.green, linewidth=2, title="Lower Band") // Entry conditions long_condition = ta.crossover(close, lower_band) short_condition = ta.crossunder(close, upper_band) // Exit conditions exit_long_condition = ta.crossunder(close, ma) exit_short_condition = ta.crossover(close, ma) // Strategy orders if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") // Plot signals on the chart plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")