はじめての短期イベント戦略として「配当落ち日リバウンド戦略」を提案します。配当落ち日(Ex-Dividend Date)には、その日の寄付きで理論上、前日終値から配当相当額だけギャップダウンします。ところが実際の市場では、配当以上の過剰な下落や寄り後の押し目が発生する一方、その後の買い戻し・裁定・需給調整により短期的に戻しやすい傾向(アノマリー)が観測されます。本稿では、初心者でも実装できる再現性の高い運用フローを、具体的な選定・発注・決済・検証の順で解説します。
配当落ち日の基礎
配当落ち日とは、当該日の寄付き以降に株を買っても今回の配当を受け取れない最初の日です。前営業日の終値をPt-1、1株配当をDとすると、理論上の落ち幅はD。寄付き価格PopenはおおむねPt-1 − D付近に形成されます。
現実には、(1)成行売り偏重での気配過多、(2)配当権利取り後の短期撤退、(3)貸株需給や空売りの買戻し期待などが重なり、短期的に過剰に売られやすく、寄り付き後に過剰分の修正(リバウンド)が起きやすい、というのが本戦略の狙いです。
戦略の全体像(タイムライン)
- T-3〜T-1(事前準備):配当落ち予定銘柄を抽出。フィルタ基準でスクリーニング。
- T(配当落ち日当日・寄り):過剰ギャップ(理論値D超)の候補だけを監視リストに。寄り直後5〜15分の初動を観察。
- T(午前中):エントリー条件を満たした銘柄に限定して指値・逆指値付の同時発注(OCO/IFD-OCO)で執行。
- T〜T+3:決済は当日引け〜最大3営業日まで。想定通りの戻りが鈍い/出来高が細る/陰線続きなら機械的に撤退。
銘柄の選び方(定量フィルタ)
以下の基準は初心者でも再現しやすいうえ、過去テストで過剰なドローダウンを抑えやすい構成です。数値は一例なので、あなたの資金量や許容リスクに合わせて微調整してください。
- 流動性:直近20日平均売買代金 1億円以上、出来高 5万株以上
- 価格帯:株価 300円〜5,000円(板厚・歩み値の安定を狙う)
- 配当利回り:年率2%〜6%(極端な高配当は減配・特殊要因の可能性)
- 落ち幅の過剰度:寄り付き時点で
(P_open − P_{t-1}) < −1.1 × D
(配当の110%以上下落) - イベント衝突回避:配当落ち日±3営業日に決算・業績修正・公募増資が無いこと
このフィルタで需給起因の一過性下落だけを抽出し、ファンダの悪化や希薄化による本質的下落を避けます。
エントリー条件と発注テンプレート
寄り付き直後の初動に左右され過ぎないよう、時間条件×価格条件×出来高条件の三点セットで機械的に判定します。
- 時間条件:寄りから5〜15分は観察。最初の戻り売りを一巡させる。
- 価格条件:当日安値が
P_{t-1} − 1.2D
以上で反発し、直近5本の高値を上抜け。 - 出来高条件:5分足出来高が20日平均5分足の1.5倍以上で陽線。
発注テンプレート(指値+逆指値の同時設定)
- 指値買い:ブレイク確認足の高値+1ティック
- 利益確定:初値(P_open)に対して+0.5D〜+1.0Dの戻り水準
- 損切り:当日安値−0.3D(約定直後に逆指値)
- 期日:当日引け成行 or 最大T+3までに自動手仕舞い
このOCO設計だと、勝率40〜55%でもPF(損益率)でプラスに寄りやすく、裁量の揺れを抑制できます。
リスク管理と資金配分
1トレードあたりの許容損失(リスク額)を資金の0.5%〜1.0%に固定し、損切り距離(円)から株数=許容損失÷損切り距離で逆算します。銘柄分散は同時3〜5銘柄まで。落ち日が集中する月末・中間期は、1銘柄のリスクを薄めてロットを配分するのが安全です。
また、窓埋め狙いの平均回帰なので、板が薄い小型や好悪材料の混在は厳禁。ニュース監視は必須です。
期待値の考え方(簡易)
期待値Eは E = 勝率 × 平均利益 − 敗率 × 平均損失
。例えば、勝率48%、平均利益0.7D、平均損失0.3Dなら、E = 0.48×0.7D − 0.52×0.3D = 0.336D − 0.156D = 0.18D
。配当Dが100円なら1単元で+1,800円の統計的な優位性が見込めます。実際には手数料・税・滑りを差し引いたうえで、PF>1.2、最大DD<資金の5%台を目安に調整してください。
実務フロー(口座開設〜執行まで)
1. 証券口座の開設
ネット証券で一般口座/特定口座(源泉徴収あり)を選択し、本人確認(eKYC)、銀行口座登録、二段階認証の設定まで完了させます。貸株サービスや逆指値(OCO/IFD-OCO)が使えることを事前に確認してください。
2. 配当落ちカレンダーの作成
上場各社の配当基準日から逆算して落ち日を一覧化します。Excel/スプレッドシートで「銘柄コード・D・前日終値・想定理論寄り値」を列に持ち、前日時点のデータを更新します。
3. 当日のスクリーニング
寄り付き10分で、ギャップ率 = (P_open − P_{t-1}) / D
を計算。< −1.1
のみ監視候補とし、5分足出来高と高値ブレイクを待ちます。
4. 発注とモニタリング
テンプレートに沿って指値・利確・損切りを同時設定。約定後は板の厚み・歩み値の買い気配を確認し、出来高が痩せたら撤退を早めます。
5. 決済と記録
当日引けで半分、伸びる銘柄はT+1〜T+3で残りを処分など、分割決済を基本に。トレードログには「D」「過剰度」「入出値」「出来高倍率」「ニュース有無」を必ず残し、翌月に統計を見直します。
バックテスト(TradingView/Python/MQL4 CFD)
TradingView(Pine Script)簡易ロジック
// Pine Script v5(簡易・概念実装)
// 1) 配当落ち日リストは手動で入力またはシンボルの企業アクションから参照
//@version=5
indicator("Ex-Dividend Rebound (JP)", overlay=true, timeframe="5")
float D = input.float(100.0, "Dividend per share (yen)")
int lookback = input.int(20, "Avg Vol Lookback (bars)")
float prevClose = request.security(syminfo.tickerid, "D", close[1])
float openD = request.security(syminfo.tickerid, "D", open)
float avgVol5 = ta.sma(volume, lookback)
bool gapExcess = (openD - prevClose) < -1.1 * D
bool timeOK = (time(timeframe.period) >= time(timeframe.period, session.ismarket) + 5*60*1000) // 5分経過
bool priceOK = high > ta.highest(high, 5)[1] and low >= (prevClose - 1.2*D)
bool volOK = volume > 1.5 * avgVol5
bool longCond = gapExcess and timeOK and priceOK and volOK
longPrice = ta.valuewhen(longCond, high + syminfo.mintick, 0)
take1 = openD + 0.5*D
stop1 = ta.valuewhen(longCond, low - 0.3*D, 0)
plotchar(longCond, "Entry", "▲", location.top)
hline(take1, "TP", color=color.new(color.green, 50))
hline(stop1, "SL", color=color.new(color.red, 50))
Python(Yahoo Financeで日足+5分足の併用検証イメージ)
# コンセプト:日足でDとギャップ過剰判定→5分足で出来高・ブレイク確認→翌日までのリターン集計
# 注意:実運用は約定・スリッページ・手数料を必ず考慮
import pandas as pd
def select_candidates(daily, D):
daily["prev_close"] = daily["close"].shift(1)
daily["gap_excess"] = (daily["open"] - daily["prev_close"]) < -1.1*D
return daily[daily["gap_excess"]]
def intraday_entry_rule(intra, prev_close, D):
intra["price_ok"] = (intra["low"] >= prev_close - 1.2*D) & (intra["high"] > intra["high"].shift(5))
intra["vol_ok"] = intra["volume"] > 1.5*intra["volume"].rolling(20).mean()
return intra["price_ok"] & intra["vol_ok"]
# 以降、日足候補日の当日5分足を読み込み、条件合致最初の足の高値+tickでエントリー→TP/SLで決済を集計
MQL4(CFDでのデモ用EA骨子)
// 配当落ち日リバウンド戦略(概念実装・CFDデモ)
#property strict
input double D = 100.0; // 1株配当(円相当)
input double tpD = 0.5; // 利確幅(D倍率)
input double slD = 0.3; // 損切幅(D倍率)
input int volLookback = 20; // 出来高平均の期間(代替:TickVolume)
int OnInit(){ return(INIT_SUCCEEDED); }
void OnTick(){
if(!IsNewBar()) return;
double prevClose = iClose(Symbol(), PERIOD_D1, 1);
double todayOpen = iOpen(Symbol(), PERIOD_D1, 0);
bool gapExcess = (todayOpen - prevClose) < -1.1*D;
if(!gapExcess) return;
// 5本前高値ブレイクの簡易判定(M1換算などブローカー仕様に合わせ調整)
double hi5 = iHigh(Symbol(), PERIOD_M5, 1);
for(int i=2;i<=5;i++) hi5 = MathMax(hi5, iHigh(Symbol(), PERIOD_M5, i));
bool priceOK = iHigh(Symbol(), PERIOD_M5, 0) > hi5 && iLow(Symbol(), PERIOD_M5, 0) >= (prevClose - 1.2*D);
bool volOK = iVolume(Symbol(), PERIOD_M5, 0) > 1.5 * iMAOnArray(VolArray(),0,volLookback,0,MODE_SMA,0);
if(priceOK && volOK && PositionsTotal()==0){
double entry = iHigh(Symbol(), PERIOD_M5, 0) + Point;
double tp = todayOpen + tpD*D;
double sl = iLow(Symbol(), PERIOD_M5, 0) - slD*D;
double lot = CalcLotByRisk(sl);
OrderSend(Symbol(), OP_BUY, lot, entry, 20, sl, tp, "ExDivRebound", 0, 0, clrBlue);
}
}
// 補助関数(VolArray, CalcLotByRisk, IsNewBar 等)は各自の環境に合わせて実装
上記コードは骨子です。実売買に使う場合は、スプレッド、最小ストップ距離、約定遅延、ロット丸めなどブローカー仕様を必ず反映してください。
よくある失敗と回避策
- 決算・公募と衝突:カレンダー確認を徹底。IR/適時開示のヘッドラインだけでも事前チェック。
- 板の薄い小型:滑り・ガラでDD拡大。流動性基準を下回る銘柄は見送り。
- “高すぎる”配当利回り:減配や特別損失の兆候。中位の利回りを選ぶ。
- 粘り過ぎ:当日引け・T+3の時間の損切りを明文化。
チェックリスト(印刷・コピペ用)
- Dと理論値の計算は済んだか?
- ギャップ過剰度(< −1.1×D)を満たすか?
- 5分足出来高は平均の1.5倍以上か?
- 当日安値は prevClose − 1.2D を割っていないか?
- OCO(利確0.5〜1.0D、損切0.3D)を同時設定したか?
- ニュース衝突・決算は無いか?
- 1銘柄リスクは口座の0.5〜1.0%以内か?
用語ミニ解説
- 配当落ち日(Ex-Dividend Date)
- その日以降の買いに配当権利が付かない最初の日。理論的に配当額分の価格調整が起こる。
- OCO/IFD-OCO
- 利確と損切りを同時に置く注文方法。エントリーと同時に出口を決めておく。
- 過剰ギャップ
- 理論落ち幅(D)を超えて下落して寄り付く現象。本戦略の主要因。
- 出来高倍率
- 直近平均に対する当日の出来高の比率。需給の強弱判定に使う。
まとめ
配当落ち日リバウンド戦略は、イベント起点×平均回帰というシンプルな原則で再現しやすく、初心者でもルール通りに運用しやすいのが強みです。勝率が突出して高い戦略ではありませんが、損切りを浅く・利確を配当幅基準で固定することで、統計的にプラスを積み上げられます。まずは極小ロットで100回の練習から始め、月次・四半期でメトリクス(勝率・PF・最大DD)を見ながら微調整してください。
コメント