新しいモンテカルロテスト、マネーマネジメントスニペット、カスタムブロック

ここ数ヶ月、共有サーバーと Strategy Quant X の両方が新しいスニペットで更新されました。これにより、戦略の強さを評価できるようになりました。我々は「強さ」を、戦略が時間の経過とともに定性的な属性を維持する能力と定義しています。.

新しいモンテカルロテスト3本とマネーマネジメントスニペット1本を追加しました。それらのそれぞれについて、そしてそれらが戦略の株式曲線における成功した拡大にどのように役立つかについて、簡潔な説明を以下に示します。これにより、アルゴリズムトレーダーの道筋を成功裏に辿ることができるようになります。.

以下の新しいスニペットを追加しました:

  • モンテカルロ – 変更されたランダム化戦略のパラメータ 
  • モンテカルロ – 全バックテストのランダムなスワップ  
  • モンテカルロ – 取引ごとにランダムなスワップ 
  • 比例位置のサイズ調整を修正
  • Is rising/Is falling のロジックに基づいた新しいカスタムブロック

 

この記事では、これらのスクリプトとその使用方法を詳しく説明します。.

 

モンテカルロ – カスタマイズ可能なランダム化戦略のパラメーター

それは修正されたものです。 ランダム化戦略パラメータ テスト。デフォルトのテストでは、ランダム化されたパラメータは事前に決められています。実際には取引オプションはランダム化されていますが、シフトはそうではありません。この設定は、私の考えでは、スタート戦略を必要以上に詳細に評価することを妨げてしまいます。.

上記の例では、スニペットの設定を確認できます。.

 

「モンテカルロ修正ランダム化戦略」のパラメーターは、戦略で使用されるパラメーターをランダム化できるパラメーター化されたスクリプトです。どのようなパラメーターをランダム化したいかを指定できます。.

  • 月経
  • シフト
  • 定数
  • その他のパラメーター
  • 終了済み
  • 未使用の終了
  • ブール型
  • 取引オプション

このテストは戦略のテスト能力を大幅に向上させます。私の一般的なワークフローでは、これらのテストを使用するためのいくつかのステップが含まれています。.

  1. 指標の期間をランダムに設定します。.
  2. 出所をランダム化します – ストップロスと利益目標。.
  3. 私は定数をランダムに選択します。. 
  4. …

 

ほとんどのストラテジーには、期間タイプのパラメーター付きのインジケーターが含まれています(例えば、移動平均には20の期間があります)。これは、ストラテジーが期間レベルで過剰最適化されていないかどうかを判断する最初のケースです。その後、タイプパラメーターのランダム化を行います:Exit Used(ストップロスと利益目標)。シフトのケースでは、Shift type パラメーターをテストする場合、最大変更値は100以上にする か、それ以上にする必要があります。最大変更値100以上は、シフトが100%以上(1から2)下または上へ移動することを意味します。.

パラメーターの対称性(ロングおよびショート取引の両方に同じパラメーターが適用されます)も設定できます。デフォルトでは、このパラメーターは True に設定されています。.

 

モンテカルロのランダムなバックテストのSWAP 

SWAPとは、外国為替またはCFD取引においてポジションを1夜保持した際にトレーダーのアカウントに適用される金利または信用金利のことです。この手数料は、外国為替ペアの2通貨間の金利差、またはCFDにおけるポジションの維持コストによって決定されます。これは、取引の方向と金利差に応じて、正の(クレジット)または負の(デビット)どちらかになります。.

 

このモンテカルロテストを適用した場合、各バックテストには、[-Range,Range]の範囲内でランダムに生成されたスワップ値が含まれます。簡単に言えば、ランダムに生成されたスワップを使用した500回のバックテスト(またはそれ以上の数)を実行することで、スワップの変化に対するモンテカルロ分析の視点を得ることができます。. 

この例では、取引ごとにランダムなSWAPを使った100回のシミュレーションを実行しました。.

 

このスニペットのこのパラメータはランダム化の対象です:

  • 範囲:スワップが選択される範囲。.

[範囲]が20に設定されたときに、-20から20の範囲内のランダムな数値が生成されます。最初の数値が正の値の場合、2番目の数値は負になります。これにより、正負のスプレッドの両方を一貫して指定できるようになります。.

以下のパラメーターは固定されており、ランダム化の対象ではありません:

  • スワップタイプ – スワップ計算方法(ポイント、金額、パーセンテージ) 
  • トリプルスワップ:トリプルスワップが適用される日 
  • スワップがカウントされる時間

先ほど述べた各パラメータを変更することが可能です。.

 

すべての取引におけるモンテカルロのランダムなスワップ 

この例では、1取引ごとにランダムなSWAPを使った100回のシミュレーションを実行しました。.

 

このテストは、現在のバックテストにおける各取引をランダムに割り当てた点が前回のテストと異なります。最初の取引ではプラスのロングスワップとマイナスショートスワップが含まれる可能性がありますが、その後の取引では全く異なるスワップの組み合わせが含まれる場合があります。したがって、このテストでは各取引に対してランダムなスワップが適用されます。もしモンテ・バルロのシミュレーションの回数が500に設定されている場合、500個の既存のバックテストが存在し、それぞれに固有のスワップが含まれます。.

スワップの規模に影響を与える金利の変化が存在する場合における戦略のパフォーマンスは、この2つのテストによってシミュレートされるべきである。.

 

比例的な位置サイズが修正されました。.

固定比例位置サイズ設定は、ロット契約の固定サイズと残高の特定の割合をリンクさせるためのマネジメントスニペットです。これにより、バックテスト中の残高の上昇または下落に対するより効果的な調整が可能になります。.

上記の例は、エクイティ/バランス曲線の上昇と、各取引におけるロット数の増加を示しています。.

 

先物における固定 Pro比例サイズ化の例

固定資金比例取引戦略では、バランスが2000である場合、1マイクロNASDAQ契約を取引します。バランスが4000である場合、戦略は2マイクロ契約を取引します。.

外国為替における固定 Pro比例サイズの例

私の残高は2000ですが、500ロットごとに取引を行いたいと考えています。この場合、0.04ロットの取引を行い、口座残高は $2000から $2500の間になります。残高が2501に達すると、0.05ロットの取引を行います。.

パラメーター 

  • バランス比率による注文サイズ
  • Pro残りの部分
  • 最小注文サイズ

マネーマネジメントは、Metatrader 4、Metatrader 5、Tradestation、Multichartsプラットフォームで実施されます。.

 

上昇中/下降中カスタムブロック 

StrategyQuant Xにおいて、アルゴリズム取引戦略の柔軟性を最大限に高めるためには、カスタムブロックが不可欠です。これにより、ユーザーはプラットフォームで利用可能な標準的な指標やアクションに加え、独自の取引ロジックやルールを設定することができます。.

カスタムブロックを使用して、特定の取引戦略に適した独自の条件、シグナル、またはインジケーターを作成することができます。たとえば、相対力指数(RSI)が指定された期間(本数)にわたって所定の閾値を超えているかどうかを判断するカスタムブロックを作成することが可能です。これにより、ユーザーは、特定の市場状況に対して戦略が経時的にどのように反応するかを制御できるようになります。 

偽のブレイクアウトの検出、連続した価格変動、あるいは複数の比較を伴うカスタマイズされた条件といった高度なロジックも、カスタムブロックに組み込むことができます。これらのブロックは、Algo Wizardで設定したり、StrategyQuantのBuilder内や戦略テンプレート内で直接利用したりすることができます。.

isRising/isFallingカスタムブロックのロジックにより、カスタマイズの可能性が広がりました。これらはデフォルトのものよりも正確にパラメータ化されており、上昇または下降の持続時間を2本以上のバーで設定・最適化できます。.

この例では、カスタムブロック「Is Rising BarRange」を2~24本のバーまで最適化できることがわかります。.

 合計54個の新しいカスタムブロックがあります。.

 

コードベース内のすべてのスニペットをダウンロードできます ここ.

 

 

クローネックス / イヴァン・フーデツ

イヴァン・フデツ — フォーラム上の「クロネックス」

私は15年間トレードを続けており、2014年からStrategyQuant Xを活用してシステムを構築しています。 現在は主に3つの活動を行っています。自動取引戦略の開発と実戦テスト、SQX本体をカスタムインジケーターやスニペット、機械学習やクオンツ研究のためのPythonツールで拡張すること、そして他のトレーダーが、私がこれまで経験してきたような長年にわたる高価な失敗をせずに、より早く目標に到達できるよう支援することです。.
ほとんどのリテール向け戦略はバックテストでは素晴らしく見えても、実運用では崩壊します。私の仕事はその逆です。すなわち、誠実で、検証済みであり、リアルマネーを託せるほど頑健な戦略です。そのプロセスにおける良い点、醜い点、そして誰も語らない過剰適合について、私のサイト(algotrading.space)で書いています。.
バリデーションやカスタムSQXの開発、データとコードを活用した本当のエッジ構築についてさらに深く掘り下げたい場合は、そこでそのすべてを共有しています。.  www.algotrading.space

1 コメント
最古の
最新 最も投票された
クリス・G
クリス・G
2. 10. 2024 2:59 am

これは信じられないほど素晴らしいです。モンテカルロの詳しい説明はいつも必要です!!!

続きを読む