移動平均逆転戦略に基づいて

作者: リン・ハーンチャオチャン,日付: 2024-02-27 17:51:43
タグ:

img

概要

マウス・ミニアム・リバーション・ストラテジーは,非常にシンプルなトレンド・トレーディング・ストラテジーである.その基本的なアイデアは,短期移動平均が一定パーセントで長期移動平均を下回り,短期移動平均が長期移動平均を超えるとポジションを閉じる.この戦略は,まず短期および長期移動平均を計算し,その後,2つの移動平均の関係に基づいて取引信号を生成する.

戦略の論理

この戦略は主に2つの移動平均値,一つは短期的,もう1つは長期的に依存している.短期移動平均パラメータはsmallMAPeriodであり,長期移動平均パラメータはbigMAPeriodである.この戦略はまずこれらの2つの移動平均値を計算し,その後それらの間のサイズ関係を比較する.

短期移動平均が上から落ちて,長期移動平均の一定パーセント (percentBelowToBuyパラメータによって設定) を破ると,買い信号が生成され,ロングになる.短期移動平均が上昇して長期移動平均を超えると,セール信号が生成され,ポジションを閉じます.

戦略は,短期間の移動平均値と長期間の移動平均値の間の平均逆転機会を把握する.短期間の移動平均値が一定程度に長期移動平均値を下回ると,資産が過大評価され,平均値に戻るチャンスがあることを意味します.

利点分析

マウスの平均逆転戦略には以下の利点があります

  1. 論理は単純で理解し実行するのが簡単です
  2. 市場動向を正確に判断するために,短期的および長期的動向の転換点を把握します.
  3. 柔軟なパラメータ設定により,移動平均期と譲渡パーセントを調整することで,より多くの取引信号を得ることができます.
  4. 量的な取引シミュレーションと最適化に適した簡単なバックテストプロセス

この戦略は,単純なパラメータ最適化によって良い結果を得ることができます.移動平均値と譲渡パーセントパラメータを調整することで,最適なパラメータ組み合わせをスクリーニングするために,株式,フォレックス,暗号通貨などの異なる市場資産でバックテストを行うことができます.

リスク分析

逆転戦略にはリスクもあります

  1. 頻繁に取引できないシグナルが少ない
  2. 価格逆転が欠落する傾向がある
  3. 不適切なパラメータは,過度に頻繁な取引,高い取引コスト,滑り損につながる可能性があります.

リスク軽減には以下の方法が用いられる.

  1. 適切な取引信号数のためにパラメータを適切に調整する
  2. 誤ったブレイクを避けるためにブレイクバック・プルバック・エントリー・メソッドを採用する
  3. 移動平均期と譲渡パーセントを選択してパラメータの組み合わせを最適化

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

マウスの平均逆転戦略は,次の側面から最適化することができます:

  1. 戦略信号源として,閉じる,高い,低い,典型的な価格のような異なる価格データをテスト
  2. 例えば指数,重量,ハル移動平均などです.
  3. 非トレンド市場での不必要な取引を避けるためにフィルター条件を追加する
  4. 価格上昇が不十分で誤ったブレイクを避けるため,ボリューム指標を組み込む.
  5. 自動パラメータ最適化のために機械学習や遺伝子アルゴリズムを使用する

結論

マウスの平均逆転戦略は,短期間の価格が短期間の移動平均と長期間の移動平均を比較することによって長期的トレンドから逸脱した後の平均逆転機会を捕捉する.この戦略は理解し実行しやすいシンプルな論理を持っています.パラメータ最適化によって良い結果を達成することができます.しかし,より少ない信号や欠落した逆転のようなリスクはまだ存在しており,戦略のリターンを最大化するためにパラメータとフィルターのテストと最適化が必要です.


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

// @version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//
// @author Sunil Halai
//
// This very simple strategy is an implementation of PJ Sutherlands' Jaws Mean reversion algorithm. It simply buys when a small moving average period (e.g. 2) is below
// a longer moving average period (e.g. 5) by a certain percentage, and closes when the small period average crosses over the longer moving average. 
// 
// If you are going to use this, you may wish to apply this to a range of investment assets, as the amount signals is low. Alternatively you may wish to tweak the settings to provide more
// signals.


strategy("Jaws Mean Reversion [Strategy]", overlay = true)

//Strategy inputs
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)


//Strategy calculation
smallMA = sma(source, smallMAPeriod)
bigMA =  sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]

if(crossunder(smallMA, buyMA))
    strategy.entry("BUY", strategy.long)

if(crossover(smallMA, bigMA))
    strategy.close("BUY")

もっと