本稿は、東証上場ETFのiNAV(Indicative NAV)と市場価格の短期的な乖離を、寄り付き(前場始値)と引け(大引け)に限定して狙う「ミニ裁定」手法を、投資初心者でも実行できるレベルまで分解して解説します。一般的な高頻度裁定のような超高速インフラは不要で、証券会社の通常ツールと板情報、簡単なスプレッドシート、そしてルール化された発注フローだけで十分に回せる構成とします。
この戦略のキモは「iNAVの更新頻度と板寄せメカニズムの時間差」「指数先物や海外ETFの場中価格が反映されるまでのラグ」「引け成り・寄り成りフローによる需給バイアス」の三点です。特に、指数先物の価格変動が大きい局面や配当・決算・指数リバランスなどイベント日には乖離が拡大しやすく、ミニ裁定の期待値が高まりやすい傾向があります。
戦略の狙いと前提
ETFは本源的価値(基準価額、iNAV)と市場価格の二重構造を持ちます。理論的にはマーケットメイカー(AP)が裁定で乖離を縮小させますが、東証の個別ETFでは気配の薄い時間帯やイベント前後に短時間の価格逸脱が生じます。本稿の戦略は、「過度に拡大した乖離は平均回帰する」という統計的前提に基づき、寄り・引けの板寄せ決定直前に仕掛け、決定後〜数分でクローズする運用設計とします。
なお、本稿は特定銘柄の推奨ではなく、手法そのものの解説です。実運用では自己責任で検証・実装してください。
iNAVとは何か(30秒で要点)
- iNAVはETFのリアルタイム推定基準価額。原資産の価格や為替を用いて場中更新されます。
- 市場価格とiNAVの差(プレミアム/ディスカウント)は、裁定の源泉です。
- 更新は「秒刻み」であっても、板寄せの約定価格は一発決定。ここにミスが生じやすい。
東証サイトや運用会社のページでiNAVが公開されることが多く、当日の相場つきと合わせて監視します。
乖離が生まれる三つの主因
1. 板寄せと連続約定の断層
寄り・引けは板寄せ方式で価格が一度に決まります。直前の気配更新が遅い、指し値の厚みが偏る、引け成り注文が膨らむ等で、理論価格とかけ離れた始値・終値が出ることがあります。
2. 原資産と為替のラグ
海外資産連動ETFでは、為替(主にUSD/JPY)の変動や、先行市場(先物・海外ETF)の価格を反映するまでのラグが発生します。特に為替イベント(米雇用統計、FOMCなど)の翌営業日寄り付きは、前夜の外部市場変動×当朝の板需給で乖離が拡大しやすい。
3. 指数イベントによる需給の偏り
指数リバランス、配当落ち、決算集中日などは、裁定フロー以外のインデックス連動の機械的フローが増え、短時間の歪みが出やすくなります。
対象ETFの考え方(例示)
以下は「監視対象の考え方」を示す一例です。特定銘柄の推奨ではありません。
- 国内指数系:TOPIX連動、日経225連動。流動性があり、先物価格が参照しやすい。
- 米国株指数系:S&P500、NASDAQ100連動。為替の影響が強く、夜間の変動→翌朝寄りで乖離が出やすい。
- セクター・テーマ系:流動性が薄いと乖離が拡大しやすいが、スプレッドコストも上がる点に注意。
実装方針(寄り・引けミニ裁定)
1. 監視指標
- 乖離率 = (気配価格 − iNAV) / iNAV
- 流動性 = 板の厚み(上位5〜10本)、想定約定数量(東証の板寄せ想定約定機能、または代替指標)
- イベントフラグ = 配当落ち、指数リバランス、先物急変、為替急変
2. エントリー基準(例)
- 寄り前9:00〜9:03に、乖離率が±0.30%超かつ想定約定数量が一定閾値超の場合のみ仕掛け。
- 買いシナリオ:価格がiNAVよりディスカウント(−乖離)で寄りそう → 寄り直後に成行買い、または指し値買い。
- 売りシナリオ:価格がiNAVよりプレミアム(+乖離)で寄りそう → 寄り直後に成行売り(信用・制度貸借対応のみ)。
3. イグジット基準(例)
- 寄り成約後、+0.10〜+0.20%の平均回帰で利確。到達しない場合は5〜10分のタイムアウトでクローズ。
- 逆行時は−0.25〜−0.35%でカット。イベント日や板が薄い日はタイトに。
4. 引け戦略(大引け)
- 14:50〜14:59で乖離率が±0.30%超、かつ引け成り・指し値の偏りが明確なときのみ。
- 引け成りで約定 → 翌営業日寄りでクローズ、または同引け直後の平均回帰でクローズ(流動性次第)。
口座・ツール準備(初心者向けチェックリスト)
- 東証ETFの現物取引が可能な証券口座(売り戦略を使う場合は信用口座)。
- 板情報と想定約定情報(提供がある場合)。なければ、上位板の厚みと気配の動きで代替判断。
- iNAVの参照先(運用会社サイト等)をブラウザで即時切替できるようブックマーク。
- スプレッドシート(Google Sheets/Excel)で乖離率を自動計算する簡易テンプレート。
- リスク管理メモ:1取引の損失許容(例:口座の0.3%)と建玉上限(流動性に応じた枚数)。
具体的な発注フロー(寄り)
- 8:55:対象ETFのiNAV参照ページと板を開く。為替と指数先物(ミニ先物等)も並べて監視。
- 9:00:上位板5〜10本の厚みと気配の更新速度を確認。想定約定価格が見られる場合は乖離率を概算。
- 9:02:乖離率が±0.30%超、かつ板厚・出来高見込みが基準を満たすかチェック。
- 9:03:条件一致なら、寄り直後のクイック成行(またはタイトな指し値)を準備し、寄り約定後すぐに逆指値・タイマーをセット。
- 9:05〜9:12:乖離縮小の平均回帰で利確。タイムアウトまたは逆行でカット。
具体的な発注フロー(引け)
- 14:50:対象ETFの乖離率と板偏りをチェック。引け成りの厚さが片側に寄っていないか確認。
- 14:55:乖離率が基準超ならエントリー準備。翌営業日のニュース・イベントもカレンダーで確認。
- 14:59:注文実行。翌営業日寄りでクローズ予定なら、寄り前にiNAVと外部市場の動きを再チェック。
コストとリスク管理(ここを甘くすると期待値が崩れる)
- 売買手数料・貸株料・信用金利:短期回転でも無視できない。証券会社の料率と約定単価を常時更新。
- スプレッドとスリッページ:板が薄い銘柄は不利。必ず「枚数×気配厚」を見て建玉を制限。
- イベントギャップ:指数・為替イベントは追い風にも向かい風にもなる。基準を堅守。
- 流動性ショック:想定約定が消える・引け成りが増える等の急変に備えてタイムアウトと損切りを固定。
- 課税・配当:配当落ちや分配金の日程を把握。コスト込みでのネット期待値で判断。
手動運用テンプレート(初心者向け)
時刻 | チェック項目 | 閾値 | 実測 | 判断 |
---|---|---|---|---|
8:55 | iNAV・板監視準備 | — | — | — |
9:00 | 乖離率初期計測 | |±0.30%| | ||
9:02 | 板厚・出来高見込み | 上位5本で想定数量X超 | 可/否 | |
9:03 | 注文準備 | 成行orタイト指値 | 発注 | |
9:05〜9:12 | 利確/損切/タイムアウト | +0.10〜0.20%/-0.25〜0.35%/10分 | クローズ |
簡易バックテスト設計(手計算で再現可能)
- 対象ETFの1分足(またはティック)と、当日のiNAV推定系列(運用会社の更新頻度に応じて補間)。
- 寄り前の想定約定(または寄り直後の実約定)時点の乖離率を算出。
- エントリー後、T分(例:7分)の価格推移から、最大回帰幅と最悪逆行幅を記録。
- 売買コスト・金利・税引後の損益を計算。イベント日/通常日で分布を分け、期待値の頑健性を検証。
統計上は、大きな乖離に絞るほど平均回帰の確率は上がる一方、サンプルが減りドローダウンは荒くなりやすい。自分の耐性に合わせて基準値を最適化してください。
TradingView用スクリプト例(監視用、売買は手動)
以下は、ETFの価格と近似ベンチマーク(国内指数先物や海外ETF×為替)から乖離率を概算する監視用のPine Script例です。実際のiNAVとは一致しませんが、寄り・引け前後の異常乖離検知に使えます。
//@version=5
indicator("ETF iNAV Gap Watch", overlay=false)
etf = input.symbol("TSE:1306", "ETF Symbol")
bench = input.symbol("OSE:NK225M", "Benchmark Symbol") // 例:日経225ミニ先物等(要調整)
fx = input.symbol("FX_IDC:USDJPY", "FX (if needed)")
useFx = input.bool(false, "Multiply by FX?")
p_etf = request.security(etf, timeframe.period, close)
p_bench = request.security(bench, timeframe.period, close)
p_fx = request.security(fx, timeframe.period, close)
nav_est = useFx ? (p_bench * p_fx) : p_bench
gap = (p_etf - nav_est) / nav_est * 100
plot(gap, title="Gap %")
hline(0.30, "Upper", color=color.red)
hline(-0.30, "Lower", color=color.red)
銘柄コードはご自身の環境に合わせて差し替えてください。日本市場データはプランにより閲覧条件が異なります。
(参考)MQL4での時間帯管理とアラート雛形
MT4で日本株ETFを直接取引しない場合でも、時間帯管理や為替・先物の監視アラートは活用できます。以下は雛形です(教育目的)。
//+------------------------------------------------------------------+
//| Session Alert Template (MQL4) |
//+------------------------------------------------------------------+
#property strict
input string BenchSymbol = "USDJPY";
input int OpenHour = 8; // JST
input int OpenMin = 55;
input int CloseHour= 9;
input int CloseMin = 12;
input double GapUpper = 0.30; // %
input double GapLower = -0.30;
double prev = 0.0;
int OnInit(){ return(INIT_SUCCEEDED); }
void OnDeinit(const int reason){}
void OnTick(){
datetime t = TimeLocal();
int hh = TimeHour(t), mm = TimeMinute(t);
bool inWindow = (hh > OpenHour || (hh==OpenHour && mm>=OpenMin)) &&
(hh < CloseHour || (hh==CloseHour && mm<=CloseMin));
if(!inWindow) return;
double px = iClose(BenchSymbol, PERIOD_M1, 0);
if(px==0) return;
// ここで外部から概算iNAVやベンチマークを取得し、差分を%で算出して通知する想定
double gap = (px - prev) / MathMax(prev,1.0) * 100.0;
if(gap > GapUpper || gap < GapLower){
Alert("Gap alert: ", DoubleToString(gap, 2), "% at ", TimeToString(t));
}
prev = px;
}
実戦投入時は、取得系列・窓時間・通知方法(メールやプッシュ)を環境に合わせて実装してください。
よくある失敗と対処
- 乖離率だけで突っ込む:板厚・出来高見込みを無視するとスリッページで期待値が飛ぶ。
- イベント日で逆指値が遠い:ボラ拡大日は損切りをタイトにし、建玉も小さく。
- 引け成りの偏りを誤読:14:59の急増・急減に注意。直前5分の推移を時系列で観察。
- 税・費用を加味しない:分配金や貸株・金利コストを必ず反映したネット損益で判断。
- ルール逸脱:2連敗・3連敗時のクールダウンを明文化しておく。
発展:自動化の方向性
最初は手動で十分ですが、慣れてきたら以下の拡張でスケールと再現性を高められます。
- iNAV・板のスクレイピング(各サイトの規約順守)。SpreadSheetへの自動入力。
- 「乖離率×板厚×イベント」の三次元スコアリング化。
- トレードログ→日次の期待値モニタリング→基準値の定期リバランス。
まとめ(実行チェックリスト)
- 寄り・引けに限定し、乖離が±0.30%を超えた濃い局面だけを狙う。
- 板厚と出来高見込みを必ず確認。建玉は流動性に比例させる。
- 利確は薄利回転(+0.10〜0.20%)、損切り・タイムアウトは機械的に。
- イベント日・為替急変時は基準を堅守。負け方を一定にする。
- 毎週の検証で基準値を微調整。期待値の劣化を放置しない。
裁定の本質は「歪みの平均回帰」を淡々と回収する作業です。スピード競争に参加せず、限定的・反復可能な場面に資本を集中させれば、初心者でも再現性の高い短期手法として構築できます。
コメント