avatar of 发明者量化-小小梦 发明者量化-小小梦
フォロー ダイレクトメッセージ
4
フォロー
1271
フォロワー

定量取引におけるアルーンテクニカル指標の応用

作成日:: 2019-06-29 14:42:04, 更新日:: 2024-12-24 20:18:07
comments   1
hits   3779

[TOC]

定量取引におけるアルーンテクニカル指標の応用

Aroonインジケーターの紹介

テクニカル分析において、アルーンは非常にユニークなテクニカル指標です。「アルーン」という言葉はサンスクリット語に由来し、「夜明け」を意味します。これは、MA、MACD、KDJ ほどよく知られていません。これは後から導入され、1995 年に Tushar Chande によって発明されました。この著者は、Chande Momentum Oscillator (CMO) と Intraday Momentum Index (IMI) も発明しました。テクニカル指標の知名度が上がり、使用する人が増えるほど、その指標が儲ける力は低下します。比較的新しい Aroon 指標は、まさにその逆です。この観点から見ると、これは良い選択です。

チャート上のアルーンインジケーター

Aroon インジケーターは、現在のローソク足と以前の最高価格および最低価格の間のローソク足の数を計算することで、トレーダーが価格変動とトレンド領域の相対的な位置の変化を予測するのに役立ちます。これは、AroonUpとAroonDownという2つの部分で構成されています。これらの2つの線は、0から100の間で上下に移動します。上部線と下部線という名前が付いていますが、上部線と下部線と同じではありません。 BOLLインジケーターとは異なり、実際の上限と下限のラインはありません。次の図は Aroon インジケーターです。 定量取引におけるアルーンテクニカル指標の応用

アルーン指標の計算方法

Aroonインジケーターでは、移動平均期間パラメータを設定するのと同じように、最初に期間パラメータを設定する必要があります。従来の市場ソフトウェアでは、この期間数は14です。もちろん、この期間パラメータは固定ではありません。10に設定することもできます。または50などで待機します。理解を容易にするために、この期間パラメータを N と定義します。 Nを決定したら、AroonUpとAroonDownを計算できます。具体的な計算式は次のとおりです。

  • アルーンアップ =[ (設定期間パラメータ - 最高価格後の期間数) / 計算期間] * 100
  • アルーンダウン =[ (設定期間パラメータ - 最低価格後の期間数) / 計算期間] * 100

この式から、Aroon 指標の考え方が大まかにわかります。つまり、価格が最近の高値/安値を何サイクル下回ったかであり、これは現在のトレンドが継続するかどうかを予測し、現在のトレンドの強さを測定するのに役立ちます。この指標を分類すると、明らかにトレンド追随型です。しかし、他のトレンド追随指標とは異なり、価格よりも時間に重点を置いています。

Aroonインジケーターの使い方

AroonUp と AroonDown は、現在の時刻と以前の最高価格または最低価格の間の距離を反映します。時刻が近いほど値は大きくなり、時刻が遠いほど値は小さくなります。そして、2本の線が交差すると、価格の方向が変わる可能性があることを示しています。AroonUpがAroonDownを上回っている場合、価格は上昇傾向にあり、今後さらに価格が上昇する可能性があることを意味します。AroonDownがAroonUpを上回っている場合、価格が上昇傾向にあり、今後さらに価格が上昇する可能性があることを意味します。価格が下落傾向にあり、今後さらに上昇する可能性がある。さらに下落する可能性もあります。

同時に、エントリーのタイミングを正確に判断するために、いくつかの固定値を設定することもできます。 Aroon指標は常に0から100の間で動いていることが分かっています。したがって、市場が上昇傾向にある場合、つまりAroonUpがAroonDownを上回っている場合、AroonUpが50より大きい場合、市場の上昇傾向が形成されていることを意味します。今後も価格は上昇し続ける可能性があります。AroonUpが50を下回ると、価格上昇の勢いが弱まり、今後価格が変動して下落する可能性があります。

逆に、市場が下降傾向にある場合、つまり、AroonDown が AroonUp を上回っている場合、つまり AroonDown が 50 より大きい場合、市場の下降傾向が形成されており、価格は今後も下落し続ける可能性があることを意味します。 AroonDownが50を下回ると、価格下落の勢いが弱まっていることを意味します。今後、価格が変動し、上昇する可能性があります。上記の 2 つの理論によれば、売買条件は次のようにリストできます。

  • AroonUp が AroonDown より大きく、AroonUp が 50 より大きい場合、ロング ポジションが開かれます。
  • AroonUp が AroonDown より小さい場合、または AroonUp が 50 より小さい場合、ロング ポジションはクローズされます。
  • AroonDown が AroonUp より大きく、AroonDown が 50 より大きい場合、ショートポジションが開かれます。
  • AroonDown が AroonUp より小さい場合、または AroonDown が 50 より小さい場合、ショート ポジションはクローズされます。

Aroon指標に基づく取引戦略の構築

取引ロジックを明確にした後は、コードで実装することができます。この記事では、引き続き JavaScript 言語を使用し、対象は商品先物のままです。実践的なスキルに優れた友人は、コードを Python 言語やデジタル通貨に翻訳することもできます。さて、これ以上何もせずに、fmz.com > ログイン > コントロール センター > ポリシー ライブラリ > 新しいポリシーを開いて、ポリシーの記述を開始し、以下のコード内のコメントに注意してください。

ステップ1: CTAフレームワークを使用する 知らせ!必ず以下をクリックしてください。商品期货交易类库。デジタル通貨に変更する場合は、以下をクリックします。数字货币现货交易类库

function main() {
    // ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
    $.CTA("ZC000/ZC888", function(st) {

    })
}

ステップ2: データを取得する

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
    })
}

ステップ3: Aroon指標を計算する

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
        if (r.length < 21) {  // 判断K线数据是否足够
            return;
        }
        var aroon = talib.AROON(r, 20);  // 阿隆指标
        var aroonUp = aroon[1][aroon[1].length - 2];  // 阿隆指标上线倒数第2根数据
        var aroonDown = aroon[0][aroon[0].length - 2];  // 阿隆指标下线倒数第2根数据
    })
}

ステップ4: 取引条件を計算して注文を出す

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
        if (r.length < 21) {  // 判断K线数据是否足够
            return;
        }
        var aroon = talib.AROON(r, 20);  // 阿隆指标
        var aroonUp = aroon[1][aroon[1].length - 2];  // 阿隆指标上线倒数第2根数据
        var aroonDown = aroon[0][aroon[0].length - 2];  // 阿隆指标下线倒数第2根数据
        if (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
            return 1;  // 多头开仓
        }
        if (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
            return -1;  // 空头开仓
        }
        if (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
            return -1;  // 多头平台
        }
        if (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
            return 1;  // 空头平台
        }
    })
}
// 以上代码就是基于JavaScript语言完整的策略。

// --------------------分割线--------------------

// 为了照顾伸手党,顺便也把这个策略翻译成My语言。同时该也可以用于数字货币,以下是完整的策略代码:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100;  // 阿隆指标上线
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100;  // 阿隆指标下线
AROONUP > AROONDOWN && AROONUP > BKV, BK;  // 多头开仓
AROONDOWN > AROONUP && AROONDOWN > SKV, SK;  // 空头开仓
AROONUP < AROONDOWN || AROONUP < SPV, SP;  // 多头平台
AROONDOWN < AROONUP || AROONDOWN < BPV, BP;  // 空头平台
AUTOFILTER;

戦略バックテスト

実際の取引環境に近づけるために、バックテストではポジションのオープンとクローズに2回のジャンプを使用し、ストレステストには手数料を2倍にします。テスト環境は次のとおりです。

  • 市場タイプ: 火力石炭指数
  • 取引品種:火力発電用石炭メイン
  • 期間:2015年6月1日~2019年6月28日
  • サイクル: 毎日
  • スリッページ: ポジションの開始と終了の2つのジャンプ
  • 手数料:交換金額の2倍

テスト環境 定量取引におけるアルーンテクニカル指標の応用 収益の詳細 定量取引におけるアルーンテクニカル指標の応用 資金調達曲線 定量取引におけるアルーンテクニカル指標の応用 上記のバックテスト結果から、市場のトレンドがスムーズなときにこの戦略がうまく機能することがわかります。上昇中であろうと下降中であろうと、Aroon インジケーターは市場を完全に追跡できます。資本曲線も全体的に上昇傾向にあり、大きな後退は見られません。しかし、不安定な市場、特に継続的な不安定な市場では、局所的な反落が発生しました。

Aroonインジケーターの長所と短所

  • 利点: Aroon インジケーターは、市場のトレンドを発見し、価格の転換を判断する能力を考慮してトレンドの状態を判断できるため、トレーダーが資金の利用率を向上させるのに役立ちます。この利点は、不安定な市場では特に重要です。
  • デメリット: Aroon インジケーターはトレンド追跡インジケーターの 1 つにすぎず、トレンド追跡インジケーターと同じデメリットがあります。また、指定された時間内の最高価格または最低価格のサイクル数を決定するだけですが、最高価格または最低価格は市場全体のトレンドの中で偶然に発生することもあります。この偶発性は Aroon インジケーター自体に干渉し、誤ったシグナルを引き起こします。

クリックして戦略ソースコードをコピーします

要約する

この戦略では、aroonUpまたはaroonDownが50より大きいか小さいかなどのいくつかのパラメータを修正しました。これにより、戦略の遅れが発生します。多くの場合、市場は開く前に一定期間上昇または下降し、ポジションをクローズします。これにより勝率は上がり、最大ドローダウン率は下がりますが、多くの利益も逃すことになり、これも利益と損失は同じ源泉を持つという原則を裏付けています。興味のある友人はそれを深く研究し、改善することができます。