ポートフォリオ・リスケーラー
概要
StrategyQuant Xは複数の戦略を組み合わせて、それらのトレードの利益と損失を単一の開始バランスの上に積み重ねることによってポートフォリオの結果を構築します。これは迅速かつ簡単ですが、システム的な歪みを招きます。つまり、すべての戦略は個別にテストされ、ポジションの規模は自身の口座に合わせて調整されます(例: $1%: $100,000)。統合されるとポートフォリオは拡大しますが、個々のトレードの規模は、より大きな統合されたバランスに合わせることはありません。ポートフォリオが $100,000だったときに $1,000ポジションを開いた戦略は、ポートフォリオが $400,000になった時点でまだ1,000ポジションを開きます。そのポジションの規模は実際にはリスクの1% /4に相当します。.
このプラグインはポートフォリオの完全な取引履歴を時系列で再表示し、各取引にスケールファクターを適用することで、各戦略のポジションは常に現在の総合ポートフォリオバランスと比較して調整されます。つまり、独自の個別開始バランスではなく、現在の総合ポートフォリオバランスと比較して常にそのサイズが調整されます。その結果、以下のデッドローンの比較チャートとともに、オリジナルの(SQXを正確にマッチさせる)とスケールアップされた(本来のコンパウンドが実現していた)2つの並列な株式チャートが生成されます。.
それがする役割
- SQXのオリジナルのポートフォリオ曲線を完全に再現するため、比較の基準として確認済みのベースラインが提供されます。
- 各取引ごとに正しいスケーリングを適用したポートフォリオを再実行します。各取引は、その時点での現在のポートフォリオバランスとalgosの分離されたバランスに基づいて再スケーリングされます。
- 2 つのカーブのドローダウン % チャートを表示し、ドローダウンが発生した時期と、リサイズによってドローダウンが改善されたか、悪化したかを確認できます。
- 注文データからすべての開始残高を自動検出し、ポートフォリオの開始と各アルゴの個別開始は、各戦略の最初の注文から直接読み取られます。手動入力は必要ありません。
- 最大ロット数をサポートしているので、プロップの固定ポジションの制限範囲における実際の制約されたカーブを確認できます。
- ウォームスタートによる日付範囲フィルター。ビューを任意のサブ期間に限定します。事前範囲取引は再生され、ウィンドウ開始前にすべての残高を正しい状態に移行します。
- [Rebase to Start] トグルにより、選択した範囲のどちらかの開始点に両方のカーブを正規化し、2つの期間を直接比較可能にします。
仕組み
開始残高は自動検出されます。ポートフォリオの開始残高は firstOrder.Balance − firstOrder.ProfitLoss の形式で読み取られます。各戦略の分離された開始残高は、その戦略独自の最初の注文(ResultNameで識別)から同じ方法で検出されます。.
オリジナルのカーブは単純な再計算です。検出されたポートフォリオバランスから開始し、各取引のオリジナルの ProfitLoss を時間順に加算します。これらは SQX の報告された純利益、最終バランス、およびデッドローンの値と完全に一致している必要があります。一致しない場合は、検出された開始バランスが間違っていることを示します。.
リスケールド曲線は同じ開始バランスを使用しますが、その後各取引ごとに次のようになります:
scaleFactor = 現在のポートフォリオバランス ÷ アルゴイソレーションバランス
scaledPL = オリジナルPL × スケールファクター
アルゴの個別バランスは、そのアルゴが実行した各取引ごとに更新されます(isoBal += originalPL)。そのため、この比率はその戦略のアカウントが分離状態でどのように変化したかを反映します。最大ロット上限が設定されている場合、スケーリング係数は最小値に設定され、そのインプリケーションされたポジションは最大ロット ÷ オリジナルロットサイズを超えないようにします。.
ドローダウン % はSQXと同じく、ドローダウン $ とは独立して計測されます:最悪のパーセンテージの減少(ピークから谷まで÷現地ピーク)と最悪のドル減少は、取引の全履歴において別々に測定され、統計表に報告されます。.
仮定
- 戦略では、割合に基づくポジションサイズ(例:1% 取引につき1つのリスク)が使用されます。
- 戦略が固定ロットサイズを使用する場合、スケールファクターは想定されるP&Lを変更しますが、実際のロット数は変更されません。再スケールされた曲線は異なる外観になりますが、実際に実行できることは反映されません。.
- ポートフォリオ注文の「バランス」フィールドは、戦略ごとに分離されたアカウントのバランスを表すものであり(ポートフォリオ全体のバランスを表すわけではありません)、
- このプラグインは、各アルゴの開始資金を検出してその進化を追跡するためにこれを使用します。SQXがこのフィールドにポートフォリオレベルの実行残高を保存している場合、各アルゴごとのスケール係数は正しくありません。検出されたアルゴの開始チップが戦略の開始残高と一致することを確認して検証してください。.
- すべての戦略は同じ基本通貨を使用します。
- P&L 値は合計され、原価換算単位でスケーリングされます。クロス通貨ポートフォリオは処理されません。.
- バランス検出の開始条件は、データ内の最初の注文より前に取引が完了していないことを前提としています。
- データエクスポートが切り詰められた場合(例:アウトオブサンプルのスライスを表示している場合)、検出された開始残高は、そのスライスの開始時点の残高であり、元の設定された資本ではありません。.
制限と欠点
再スケールされたカーブはシミュレーションであり、バックテストではありません。スケールファクターは固定ロットサイズを使用して計算された元のP&Lに適用されます。実際には、ロットサイズを大きくした場合、市場への影響は異なる可能性があり、価格が逆方向に動いた可能性があります。この影響は流動性の高い商品や小規模な口座サイズでは無視できるものの、流動性の低い市場や非常に大きなポジションでは大きな影響を与える可能性があります。.
重複するトレードは処理されません。リサイズアルゴリズムでは、各トレードは独立していると仮定しています。もし2つのストラテジーが同時にポジションを保有している場合、その時点での合計エクスポージャーは、両方のスケーリングされたポジションの合計となります。このプラグインは、これによってマージンまたはエクスポージャー制限が違反する可能性があるかどうかをチェックしません。.
最大ロット上限は取引ごとに適用されます。オープンポジションごとにではなく、各戦略のオープンポジションごとに上限が設定されます。複数の戦略が同時にオープンポジションを持っている場合、それぞれに個別に上限が設定されますが、同時進行中のすべてのポジション全体のオープンロット数は制限されません。.
引き下げは取引終了時にのみ測定されます。取引内での株式の変動(オープン・ドローダウン)は注文データには表示されません。報告された最大引き下げ額は、ティックごとの株式変動曲線で観察される額よりも低い可能性があります。.
固定ロット戦略では、オリジナルのロットサイズとリスケールされたロットサイズには意味のある違いはありません。スケールファクターはドル換算でのインプリケーションされた利益/損失を変えるだけですが、戦略の実際のリスク行動には影響しません。.
これは、Drawdown 値がリスクの結果に正確に反映されていないため、ポートフォリオのリスクが実際にどの程度拡大するのかを理解するのに役立つものです StrategyQuant。 %
