
この戦略は,ダイナミックダブル指数平行均等取引戦略である. これは,ダブル指数平行均等 (DEMA) に基づく定量取引戦略である. この戦略は,株式の価格変化率を計算し,その絶対値と非絶対値をそれぞれダブル指数平行処理して,真の強度指数 (True Strength Index,TSI) を得ます.
この戦略の核心指標は実力度指数 (TSI) である.TSIの計算式は以下のとおりである.
TSI = 100 * (PC1 / PC2)
PC1とPC2は,価格変化率の二重指数平行平均と価格変化率の絶対値の二重指数平行平均である.二重指数平行平均の計算過程は,価格変化率に先ず一時期の指数移動平均を適用し,その後,得られた指数移動平均に別の短期間の指数移動平均を適用することである.このように二重平行することで,価格変化率のランダム性をより良く排除することができ,TSI指標の安定性を高める.
TSI値を計算した後,戦略はTSI値のシグナルラインも計算する.シグナルラインはTSI値の一定の周期の指数移動平均として定義される.実際の取引時,戦略はTSI値とシグナルラインの関係を観察して市場の傾向を判断し,取引シグナルを生成する.TSI値の上でシグナルラインを横断すると見多し,TSI値を下回ると見空する.
この戦略のもう一つの特徴は,取引の大きさが動的に調整されていることです. 戦略のコードには,初期資金とリスク口の比率が入力パラメータとして設定されています. この2つのパラメータは,株式の当時の価格と組み合わせて,毎回の取引数またはリスク口を動的に計算します.
ダイナミック・バイインデックス・ムービング・アヴェア・トレード戦略は,様々な利点をもたらしています.
市場騒音に対する感受性を低下させ,より正確な信号を生成するために,TSI指標を使用しています.
これは,交差指数とその信号線が取引信号を生成するという証明された原理に基づいています. これは,多くの偽信号を排除しています.
この戦略は,リスク予算の動向に応じてポジションのサイズを調整する.これは,過度取引や感情的な操作を防ぐのに役立ちます.
これは,日間と週間の時間枠に適用され,振動取引と位置取引に適しています.
簡単な入力/出力論理により,ロボットや他の取引システムで容易に実装できます.
調整するパラメータはあまり多くないので,最適化システムは簡単になります.
これらの優位性は,株式トレーダーの強力な,多機能の取引戦略にまとめられます. 慎重なスムーズな処理とポジションサイズ設定は,偽信号と大きな損失を防ぐのに役立ちます.
ダイナミック・バイインデクサー・ムービング・アベアンの取引戦略には多くの利点がありますが,ほとんどの株式戦略と同様に,いくつかの固有のリスクがあります.
TSIとシグナルラインは歴史的な価格データに基づいているため,特に市場の変動が大きい場合,常に誤ったシグナルのリスクがあります.
市場がTSI指数のゼロラインの周りに振動すると,反調が発生する可能性がある。これは損失を引き起こす可能性がある。
大幅な空飛ぶ…この傾向が続くと,TSIは早急に逆転し,利益を逃してしまうかもしれない.
リベリングにより,リスクパラメータで設定された制限よりも大きな損失が生じることがあります.
しかし,ポジションサイズ,ストップ,その他のリスク管理技術などの適用によってこれらのリスクを軽減することができます. さらに,パラメータとフィルターは,異なる市場条件下でのパフォーマンスを最大化するためにさらに最適化することができます.
この戦略を最適化できるアイデアは以下の通りです.
異なる二重平滑パラメータの組み合わせをテストし,より正確な取引信号を生成する組み合わせを探します. 長短周期パラメータを最適化するために調整できます.
波動率,取引量,または他の指標に基づくフィルターを追加して,不要な取引信号を減らす.これは取引頻度を低下させ,取引毎の収益性を向上させることができる.
ストップロジックを増やす.例えば,TSI値がゼロ軸を横切るときにストップする.これは,不要な損失を減らすことができる.
指数,商品などの異なる取引品の戦略の下でのパフォーマンスを評価する. 最も優れたパフォーマンスを示す品種を選んで集中取引する.
取引品種の選択的なフィルタリング.例えば,品種の流動性,波動率指標を評価し,パラメータ指標のランクが高い品種を選択して取引する.
機械学習の手法を使って,どのように前向きに分析するか.最適なパラメータの組み合わせを選択する.これは,人工選択によるバイアスを軽減し,より優良なパラメータを得ることができる.
異なる市場環境に応じて複数のパラメータセットを採用し,動的に切り替える.例えば,牛市ではより積極的なパラメータセットを使用することができ,熊市ではより保守的なパラメータセットを採用する.
この戦略の安定性と収益性をさらに向上させることを期待しています.
全体として,この戦略はTSI指標の二重指数平滑性に基づいて,比較的安定し,信頼性の高い株式取引戦略を設計しています.ポジションの規模を動的に調整することにより,全体のリスクレベルを効果的に制御できます.この戦略は,短線および中長線取引に適した利点があります.
もちろん,ほとんどの量的な取引戦略と同様に,この戦略にも一定の限界がある.それは,主に市場の激しい変動の影響を受けやすいという点にある.また,パラメータ選択とフィルタリング条件は,複雑な変動する市場の中でより強い適応性と収益性を得るためにさらにテストと最適化が必要である.
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shankardey7310
//@version=5
strategy("TSI STOCKS", shorttitle="TSI", overlay=true)
initialCapital = input(10000, title="Initial Capital")
riskPercent = input(1, title="Risk Percentage") / 100
longLength = input(12, title="Long Length")
shortLength = input(9, title="Short Length")
signalLength = input(12, title="Signal Length")
price = close
pc = ta.change(price)
double_smooth(src, long, short) =>
first_smooth = ta.ema(src, long)
ta.ema(first_smooth, short)
double_smoothed_pc = double_smooth(pc, longLength, shortLength)
double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_signal = ta.ema(tsi_value, signalLength)
riskAmount = (initialCapital * riskPercent) / close
if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1])
strategy.entry("Long", strategy.long)
if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1])
strategy.close("Long")
plot(tsi_value, title="True Strength Index", color=#2962FF)
plot(tsi_signal, title="Signal", color=#E91E63)
hline(0, title="Zero", color=#787B86)