CFDポートフォリオのストレステスト:相関崩壊・為替・証拠金を一枚で見る
CFDを銘柄ごとに管理していても、口座が耐えるのはポートフォリオ全体の同時損失です。株価指数、個別株、原油、金が別商品でも、risk-off時には相関が変わり、口座通貨への為替換算、spread拡大、保有費、証拠金率引上げが重なることがあります。本稿では、建玉を共通通貨へ直し、factorへ割り当て、架空shockを同時適用し、marginと行動閾値まで落とす手順を示します。予測やVaR、適合性判定ではなく、「何が同時に起きれば計画が破綻するか」を見つける教育用の方法です。
この記事が役立つ方: 複数の株価指数・個別株・商品・通貨CFDを持ち、相関、為替、総損失、margin余力を一体で管理したい人
まず押さえる重要ポイント
- 各建玉を口座通貨のnotional、方向、planned lossへ換算し、gross・net・factor別集中を分けて見る。
- 通常相関を固定せず、株安・商品急変・為替・spread・financing・証拠金率を同時に動かす。
- stress lossだけでなく、stress後equityと新しい必要証拠金を同じ時点で比較する。
- 異なる業者の口座は自動で相殺されず、資金移動遅延、取引停止、gap、counterparty riskを別に置く。
- reverse stress testで破綻条件を逆算し、縮小・hedge・追加資金ではなく事前の行動ルールを決める。
銘柄一覧を「口座が耐えるか」へ変換する7段階
- 011. 建玉台帳数量・方向・通貨・参照価格・業者を固定
- 022. 共通通貨口座通貨notionalとFX感応度へ換算
- 033. factor map株式・金利・商品・通貨・企業集中へ重複配賦
- 044. 同時shock価格と相関を銘柄横断で同じscenarioに置く
- 055. 摩擦追加spread・slippage・financing・roll・配当を加算
- 066. margin再計算stress後equityと引上げ後必要証拠金を比較
- 077. 行動縮小・決済順・連絡・証拠保存の閾値を実行
OUTPUT stress loss、stress後equity、margin不足額、最大集中、事前行動
CFD stress testは「同時に悪化した後のequityとmargin」を計算する
CFDポートフォリオのstress testは、過去の平均変動から明日を当てる計算ではありません。極端だが説明可能な価格、為替、spread、流動性、証拠金条件を同時に置き、口座純資産がどこまで減り、必要証拠金がどこまで増え、事前に決めた行動が実行可能かを確認するscenario分析です。
最小単位は「一銘柄が何%下がるか」ではなく、stress後equity = 現在equity + 全建玉のstress損益 − friction costです。ここでfrictionにはspread拡大、slippage、financing、roll、配当・借株、換算を含めます。そのstress後equityを、業者が引き上げた場合も含む新必要証拠金と比較します。
Stress testing should use severe but plausible scenarios, address concentration and support risk-management decisions rather than operate as a mechanical forecast.
Basel Committee principlesを個人口座向けに要約
数量ではなく共通通貨のgross・net・planned lossを作る
最初に全建玉を同じ時刻でsnapshotします。銘柄名、long/short、数量、1point価値、参照価格、契約通貨、口座通貨、適用FX、現在spread、必要証拠金、業者を一行にします。CFDの「1 lot」は商品ごとに契約単位が違うため、lot数を足してもportfolio exposureにはなりません。
現地通貨notional = 数量 × 1単位価値 × 参照価格口座通貨notional = 現地通貨notional × 現時点FX換算gross exposure = 全建玉notionalの絶対値合計net directional exposure = long notional合計 − short notional合計planned loss = 数量 × stop距離 × 1point価値 + 想定frictioncross currencyでは換算方向を確認します。notional、margin、planned lossは別概念です。| 列 | 目的 | よくある欠落 |
|---|---|---|
| notional | 価格変化への基礎感応度 | margin額だけをexposureと誤認 |
| 方向 | long/shortの符号 | shortを負ではなく数量だけ記録 |
| 契約・口座通貨 | FX換算shock | 現在rate固定のまま |
| factor | 重複するriskを集計 | 銘柄名だけで分散と判断 |
| 業者 | 相殺・資金移動の境界 | 複数口座を一つと仮定 |
| planned exit | gapを含む行動基準 | stop価格だけ記録 |
時刻が違う価格とFXを混ぜると、計算上の差を市場損益と誤認します。
grossが大きくnetが小さいportfolioは安全とは限りません。long株価指数とshort個別株はbeta、sector、企業イベントが一致せず、stress時にbasisが拡大できます。grossは資金調達・spread・強制決済の規模、netは単純方向感応度、planned lossは出口仮定を含む指標として三つを残します。
外貨建てCFDは原資産shockとFX shockを掛け合わせる
円口座で米国株やUSD建て商品を保有すると、原資産がUSDで何%動くかと、USD/JPYが何%動くかの両方が口座損益へ影響します。原資産が下落しても円安で一部相殺される場合、上昇しても円高で縮小する場合があります。相殺を前提にせず、原資産とFXが同方向・逆方向の複数scenarioを置きます。
stress評価額 = 現地通貨notional × (1 + 原資産shock) × 現在FX × (1 + FX shock)stress損益 = stress評価額 − 現在の口座通貨notional近似だけなら損益率 ≈ 原資産shock + FX shock大きなshockでは交差項(原資産shock × FX shock)を省略しないshort、日々実現型、quanto型、口座内の換算方法は契約仕様に合わせます。たとえばUSD資産が16%下落し、同時にUSD/JPYが6%下落する架空scenarioでは、円評価の変化は単純な−22%ではなく、0.84 × 0.94 − 1 = −21.04%です。逆にUSD建て損失を円へ換算する時刻が決済時だけなら、業者の明細計算がこの評価式と異なる場合があります。
銘柄数ではなく、同じrisk factorへ何円反応するかを見る
指数CFD、半導体株CFD、原油CFDを三銘柄として数えても、景気・USD流動性・risk appetiteへ同時に反応するなら分散は限定的です。平常時の相関係数はstress時に上昇、低下、符号反転し得ます。そこで各建玉を一つに固定せず、株式market、sector、単一企業、金利、commodity、currency、volatility、liquidityへ複数配賦します。
| 建玉 | 第一factor | 重複factor | 固有event |
|---|---|---|---|
| 国内株価指数long | 国内株式market | 世界risk・JPY | 指数入替・配当 |
| 米tech株long | 企業・tech sector | 米株market・USD/JPY | 決算・halt・分割 |
| 原油long | energy commodity | 世界需要・USD | 限月roll・在庫発表 |
| 金short | precious metal | real yield・USD・risk-off | 参照市場・roll |
配賦率は真実の推定値ではなく、見落としを発見するため複数scenarioで変えます。
concentrationは最大notionalだけでなく、最大stress loss寄与、同じ業者、同じ通貨、同じ取引時間、同じ出口流動性でも測ります。異なる銘柄でも、全てが同じメンテナンス時間に停止し、同じ証拠金poolを使うならoperational concentrationがあります。
架空例:四建玉に価格・為替・spreadを同時適用する
円口座の現在equityを250万円とし、国内指数long 400万円、米tech株long 12,000 USD、原油long 10,000 USD、金short 8,000 USDを保有するとします。現在USD/JPYは160円です。grossは880万円、単純net longは624万円です。次に、指数−9%、米tech−16%、原油−20%、金+12%、USD/JPY−6%という架空shockを同時に置きます。実在市場の予測や推奨ではありません。
| 建玉 | 現在の円notional | stress | 概算損益 |
|---|---|---|---|
| 国内指数long | 4,000,000円 | 指数 −9% | −360,000円 |
| 米tech株long | 1,920,000円 | 株 −16%、USD/JPY −6% | −403,968円 |
| 原油long | 1,600,000円 | 原油 −20%、USD/JPY −6% | −396,800円 |
| 金short | 1,280,000円 | 金 +12%、損失をstress後FX換算 | −144,384円 |
| 価格損益小計 | gross 8,800,000円 | 同時shock | −1,305,152円 |
丸め前の教育用計算です。CFDの実際のpoint価値、daily settlement、quanto、換算時刻は商品仕様に従います。
stress spread/slippage:grossの0.35%と仮定 = 30,800円3日分financing・roll・調整:22,000円と仮定総stress loss = 1,305,152 + 30,800 + 22,000 = 1,357,952円stress後equity = 2,500,000 − 1,357,952 = 1,142,048円必要証拠金率がgrossの10%→16%なら新必要額 = 1,408,000円単純不足額 = 1,408,000 − 1,142,048 = 265,952円実際のmarginは銘柄別、相殺、段階制、closeout水準で決まり、grossへの一律率ではありません。stress後equity、新必要証拠金、実行可能な出口を同じ時刻で比較する
margin stressでは価格損失だけでなく、業者が銘柄ごとの必要率を上げる、hedge相殺を外す、新規をclose-onlyにする、換算haircutを変える場合を置きます。現在marginに十分な余裕があっても、equity減少と必要額増加が両側からmargin levelを押し下げます。入金を前提にすると、銀行締切、休日、本人確認、業者着金までの時間が抜けます。
stress margin level = stress後equity ÷ stress後必要証拠金 × 100free margin = stress後equity − stress後必要証拠金liquidity buffer = 直ちに使用可能な資金 − 予定生活費・他債務行動判定は業者closeout水準より十分手前に置く用語と計算式は業者で違います。balance、equity、used/free marginの定義を現在の約款で確認します。複数業者にlongとshortを分けても、法的・運用的には別口座です。A社の利益をB社のmarginへ即時移せる保証はなく、一方が停止・出金遅延・破綻すればhedgeが片側だけ残ります。口座ごとにstress後equityとmarginを計算した後、全体を集計します。
- 原市場のlimit、halt、週末gapで決済できない時間を置く。
- stopが飛ばされる追加slippageと部分約定を置く。
- 価格配信停止中もfinancingや企業イベントが発生するか確認する。
- 最も流動性が低い建玉を先に閉じられるか、業者の強制決済順を確認する。
- 入金・出金・口座間振替を即時かつ無制限と仮定しない。
「何%下落するか」ではなく、計画が破綻する条件を逆算する
reverse stress testは、特定shockから損失を出す通常手順を逆にし、どの組合せで事前ルール、free margin、生活資金、業者closeout、最大損失許容を破るかを探します。たとえば「equityが当初の50%を下回る」「free marginが0になる」「一業者へのstress lossが総資産の10%を超える」を破綻点として、株安、USD/JPY、spread、証拠金率の境界を動かします。
- 破綻点を定義
法定・業者水準より前に、最大stress loss、free margin、集中、生活資金のhard limitを決める。
- 一変数ずつ境界探索
株価、商品、FX、spread、margin率を動かし、どこでlimitを超えるか記録する。
- 相関shockを重ねる
個別境界の手前でも、複数factorが同時なら破綻しないか確認する。
- 早期行動へ変換
建玉縮小、決済順、イベント前撤退、業者分散、取引停止を数値閾値にする。
「追加資金を入れる」は市場stress中に確実に実行できるcontrolではありません。追加できないscenarioも必ず置きます。hedgeも約定、basis、費用、別口座marginが必要な新建玉であり、損失を消す魔法ではありません。
月次・イベント前・建玉変更時に同じ台帳を再実行する
- 全業者から同一時刻の建玉、注文、cash、equity、必要証拠金、通貨を取得する。
- 契約単位とpoint価値を用い、全notionalを口座の共通通貨へ換算する。
- gross、net、long/short、通貨、業者、factor、最大一建玉の集中を計算する。
- historical、hypothetical、reverseの最低三scenarioを定義し、相関を固定しない。
- 原資産価格とFXを掛け合わせ、shortとquanto・日次実現の契約差を反映する。
- spread、slippage、financing、roll、配当、借株、換算のstress額を加える。
- 銘柄別margin率引上げ、相殺解除、close-only、強制決済順序を適用する。
- stress後equity、必要証拠金、free margin、margin levelを業者口座ごとに計算する。
- stop不成立、halt、週末gap、入金不可、業者障害のoperational scenarioを加える。
- hard limitに達する前の縮小量、決済順、連絡先、証拠保存を具体化する。
- 仮定、規約版、実行日、担当、結果を保存し、建玉・費用・条件変更時に再実行する。
- 実損益とscenario差を検証し、外したriskを次回へ追加する。
数量をplanned lossから調整するには無料ロット計算ツール、frictionを一行ずつ積むには取引コスト計算ツールを使えます。両ツールはライブ価格、相関、margin変更を自動取得せず、入力した架空条件を整理するものです。
前提を深める場合はCFDの証拠金とロスカット、商品shockには商品CFDのロール、企業eventには株式CFDのコーポレートアクション、価格・約定・業者riskにはCFD業者チェックリストを相互参照してください。
よくある質問
CFDポートフォリオのstress testは将来予測ですか?
いいえ。説明可能な厳しい仮定で弱点と行動余地を調べるscenario分析です。確率、利益、最大損失を保証せず、VaRや適合性評価の代わりでもありません。
銘柄を増やせばCFDのriskは分散できますか?
銘柄数だけでは判断できません。同じ株式market、sector、USD、流動性、業者marginへ反応する建玉はstress時に同時損失となり得ます。factor別grossとloss寄与を見ます。
longとshortが同額ならnet riskはゼロですか?
ゼロとは限りません。参照市場、beta、営業時間、通貨、配当、roll、spread、業者が違えばbasis riskとgross costが残ります。
stop注文を入れればstress lossは固定できますか?
固定できません。gap、halt、流動性不足、通信・業者障害、契約上の強制決済で約定価格が離れる可能性があります。追加slippageと未約定scenarioを置きます。
複数業者の口座は一つのportfolioとして相殺できますか?
分析上は集計できますが、marginと法的請求は原則別です。一方の利益を他方へ即時移動できると仮定せず、口座ごとの不足と資金移動時間を計算します。
根拠資料と確認先
- Basel Committee|Stress testing principlesstress testingの目的、governance、scenario、意思決定に関する原則
- Basel Framework|MAR30 Internal models approach: stress testing市場riskの厳しいscenarioとstress testing要件
- Basel Framework|CRI40 Counterparty credit risk同時shock、集中、basis・liquidityを含むcounterparty stress
- 日本証券業協会|証券CFD取引のリスク価格、流動性、ロスカット、信用・システムrisk
- IOSCO|Report on Retail OTC Leveraged Productsretail leveraged OTC商品の損失、費用、利益相反、保護措置
- 日本商品先物取引協会|商品CFDの特徴とリスク商品CFDの相対取引、roll、margin、loss risk
編集方針: 公開情報のうち、中央銀行・監督当局・国際機関などの一次資料を優先して確認しています。制度、取引条件、発表時刻は変わるため、実際の判断前にリンク先と利用先の最新情報を確認してください。
重要事項: 本稿はCFDポートフォリオのscenario分析に関する一般的な教育情報であり、投資、法律、税務の助言、売買シグナル、VaR、個別の適合性判定ではありません。数値、建玉、shock、相関、費用、証拠金率は架空です。margin、closeout、負残高保護、価格、流動性、費用、税務は商品、業者、法域、顧客区分、時点で異なり、損失が証拠金を超える場合があります。最新の契約書面と公式資料を確認し、失って困る資金を使用しないでください。

