発表内容を正しく読めても、チャートから想像した損益になるとは限りません。判断時のquote、注文の発動、実約定を別記録で確認。以下は全て架空の計算模型で、特定発表の観測値ではありません。

指標前後でspreadが変わる仕組み

スプレッドは同時点のAsk−Bid。流動性供給者のquote変更・撤回に加え、業者の価格構成やmarkup・執行方式も関係します。幅の変化だけで原因も適正執行も断定できません。

OANDA Europe Limitedはnews、変動性、流動性や市場開始・終了に伴うdynamic spreadを説明。IG International LimitedのFX-CFD説明も利用する銀行等のquoteから構成する変動価格で、大口には広い価格があり得るとします。これら外国法人の条件を日本法人へ移しません。IG掲載表の平均には2020年5月29日終了12週の表示があり、現在の平均として使いません。

何を残すか

完全なBid/Ask、提供元時刻、受信時刻、注文状態と実約定を保存。demoは操作練習でlive約定の保証ではありません。1から12pipsへの拡大や2分以内の回復を予言しません。

BidとAskの時刻を合わせて測る

架空の二つの完全記録。t0:Bid1.1000/Ask1.1002、t1:Bid1.1005/Ask1.1007。

横にスクロールすると図全体を確認できます。

違う時刻を組み合わせた見かけのspread架空の同時記録t0はBid1.1000Ask1.1002、t1はBid1.1005Ask1.1007で各2pips。旧Bidと新Askの差7pipsは実在する同時記録ではありません。二つの時刻は別の測定t0Bid1.1000Ask1.1002幅2 pipst1Bid1.1005Ask1.1007幅2 pipsAsk t1 − Bid t0=7 pips各記録のspreadとは違う同時記録の幅は各2 pips

EUR/USD、1pip=0.0001の模型。各観測内で両側は同時。t1出現後も古いBidが取引可能とは仮定しません。OANDA REST v20 Pricing Definitionsは作成時刻とbids/asksを別fieldで定義。

赤い破線は異なる記録を接続する誤り。7pipsにはquote全体の5pips移動も混じります。

各時点の差は(1.1002−1.1000)/0.0001=2pipsと(1.1007−1.1005)/0.0001=2pips。新Ask−旧Bidは7pipsですが、その記録は存在しません。同時の両側を復元できないなら欠損とし、同時性を作らないことが測定の出発点です。

どの発表が最も広げるかは記録で比較する

カレンダーの重要度は全口座共通のspread倍率や危険順位ではありません。NFP・CPI・政策金利の名称から普遍的な二段階price pathも導けません。BLS公式日程はEastern Time表記。2026年10月2日のEmployment Situation予定08:30は、その日付のAmerica/New_Yorkから21:30JSTへ換算。JSTはUTC+9で夏時間なしですが、米国側は季節で変わるので全月21:30に固定しません。

midpointが同じでも両側は違う

元の架空EUR/USD模型、1pip=0.0001USD/EUR。前はBid1.1000/Ask1.1002でmidpoint1.1001・幅2pips。後はBid1.0995/Ask1.1007でmidpointも1.1001・幅12pips。Bidは−5、Askは+5、幅は+10pipsです。

同一midpointの別quote。費用なしの架空10000EUR即時往復
quotemidpoint・幅価格損益
1.1000/1.10021.1001・2pips−2USD
1.0995/1.10071.1001・12pips−12USD

買いAsk後すぐ同じBidで売れる仮定です。実際にその両価格が維持される保証はなく、midpointだけのchartでは価格側の変化が見えません。

方向が合ってもstopと約定は別

MT5のForex模型は買い建玉SLをBid、売り建玉SLをAskで判定。取引所商品等は別条件を確認します。以下二つは別の既存建玉で、同時hedge portfolioではありません。買いentry Ask1.1002/SL1.0996、売りentry Bid1.1000/SL1.1006はいずれも予定距離6pips。後のBid1.0995/Ask1.1007はmidpoint不変でも両方の対応する発動条件を満たします。

別の買い10000EURがBid1.0993で決済されたと仮定。価格損益(1.0993−1.1002)×10000=−9USD、往復手数料0.40後−9.40USD。もし正確にSL1.0996なら費用後−6.40USDです。実exitはSL比3pips下、発動Bid比2pips下。比較基準が違い、両方を追加費用として足しません。Bid chartだけでは売りのAsk発動も復元できません。

通常stopはその水準の約定保証ではなく、口座の執行規則が適用されます。条件・料金付きguaranteed stopは別商品。外国のEU retail-CFD負残高保護は該当CFD口座へ専用に充てるcashと未決済net利益の範囲で関連CFD合計責任を制限する文脈で、全資産・全顧客・各取引のSL額保証ではありません。日本のロスカットも証拠金超過損失をなくす保証ではありません。外国登録や外国保護を日本居住者の利用許可へ読み替えません。

発表後の新規entry:実約定から一度だけ計算

これも独立した新規取引。画面Bid1.0995/Ask1.1007の後に10000EURを実際はAsk1.1009で買い、後のBid1.1013で売った仮定です。画面Ask比2pips不利ですが価格損益4USD、手数料0.40後3.60USD。金利等なし。12pipsの画面spreadや2pipsのentry差をもう一度引くと二重計上になります。

同じexitで仮にentry1.1007ならnet5.60USD。2USD差はentry差の比較で、その良い約定が可能だった証拠ではありません。実entry1.1009と費用0.40では損益ゼロのBidは1.10094。これは数学上の閾値で、注文tickに合わせた丸めは別確認。

15〜30分待つ、狭いspread、見た目の方向だけで安全・有利とは言えません。事前に発表別の中止・取消・後続entry条件を定義し、確認された注文状態を保存。同量のままSLを遠くするのは予定損失の増加、数量変更も別の戦略変更です。

新しい円例:部分約定を均等平均しない

架空USD/JPYの買い要求10000USDが全て約定し、4000USD@150.12と6000USD@150.18の二つになった例。最初の表示はBid150.08/Ask150.10、1pip=0.01とする模型。数量加重entryは150.156で、単純な二価格平均150.15とは違います。

全量を後のBid150.25で売り、全約定分の往復費用を合計200JPY、swap等0と仮定。4000×(150.25−150.12)=520JPY、6000×(150.25−150.18)=420JPY。合計gross940、net740JPY。

全量を最初のfill150.12だったと誤記するとnet1100JPYとなり360過大。表示Ask150.10で全量という反実仮想ならnet1300、実際との差560JPYです。差は対照模型で、740から更に引く費用ではありません。要求が部分的にしか約定しなければ未約定数量の損益を作らず、注文状態と実数量を使います。

円例:同じ買い要求でもfill記録で結果が変わる架空USD/JPY10000USD、後の売Bid150.25、往復費用200JPY。他費用なし。仮定に基づく計算実4000@150.12+6000@150.18net740JPY誤って全量を最初のfillへnet1100JPY全量が表示Ask150.10という対照net1300JPY
円例:同じ買い要求でもfill記録で結果が変わる. 架空USD/JPY10000USD、後の売Bid150.25、往復費用200JPY。他費用なし。

要求数量と最初の価格だけでは復元できない。各部分数量・fillと費用を一度ずつ使います。

小さな画面では横にスクロールするか、図を拡大できます。数値と要点は下のテキストにも記載しています。

実4000@150.12+6000@150.18
net740JPY – 加重entry150.156。
誤って全量を最初のfillへ
net1100JPY – 実結果より360過大。
全量が表示Ask150.10という対照
net1300JPY – 実結果との差560は追加控除しない。

手法の難しさとspread平均を混同しない

別の架空10秒feed:最初9秒は幅2pipsで更新9回、最後1秒は幅12pipsで更新90回。時間加重(9×2+1×12)/10=3pips、更新を同じ重みで平均すると(9×2+90×12)/99≒11.09pips。後者は最後の1秒へ90/99の重みで、時間の1/10とは違います。どちらも実約定費用ではありません。

BIS Working Paper1229は市場別のspread分布・構造変化を研究し、各retailニュース手法の損失順位を測ったものではありません。研究のFX結果を株・債券と同じ脆弱性増加とも一括しません。業者の損失口座警告だけでnews手法がその割合を悪化させるとは分かりません。

今日からできること

  1. 公式発表予定と時区、quote作成・受信時刻を保存。事後の予定変更も区別する。
  2. 同時のBid/Ask、数量、拒否・部分約定・取消を含む注文状態を残す。
  3. 観測間隔を明記。1秒記録で短いspikeがないことは、その間にもない証明ではない。
  4. 実数量・各fillから損益、実手数料・金利・換算を一度ずつ計算する。
  5. entry・見送り・stop・exit規則を事前定義し、選んだ法人の条件と記録を比較する。

demoでの観測、固定の待機、1%という入力はlive損失上限や利益を保証しません。記録を残した別評価で信号、測定と執行を分けます。