SQの収益機会を利用する -戦略編-
概要
前回の記事で論じたSQ日に生じる可能性のある収益機会を利用する取引プログラムの設計について説明する。取引プログラムの大まかな方針は以下のとおりである。
- 先物取引開始時刻(8:45)までに日経225銘柄の前日終値および日経225先物(ラージ)の日中終値を取得する
- 8時45分に日経225先物(ラージ)の始値を取得し、日経225銘柄の調整後終値(前回の記事参照)を計算する
- 個別株の取引開始時刻(9:00)直前に日経225銘柄の気配値を見て調整後終値との乖離の大きな銘柄を探す
- 同方向の乖離の大きな銘柄が多数存在した場合、それらの銘柄について乖離と反対方向に指値注文を出す
- 一定時間経過後に未約定の銘柄の気配値を見て約定しそうにないのものについては注文を取り消す
- 注文を取り消した余力で気配値が大きく乖離しており未だ寄っていない銘柄に追加注文を出す
- すべての約定を確認したら決済注文を出す
より具体的な手順、データの取得元および直前のSQ日(2017年12月8日)のデータを用いた分析について以下で論じる。
2017年12月8日の分析
分析対象
日経225銘柄のうち約半分(113銘柄)について別の取引プログラムで監視していた楽天RSS(下記参照)のログがあったので、それについて分析を行った。(銘柄一覧についてはこの記事の末尾を参照) 前回分析したとおり前日、前々日に開示情報がなく12月8日に始値が調整後終値と2%以上乖離している銘柄は17件であり、そのすべてが下方乖離である。分析対象の銘柄はそれらのうち10件を含む。以降のこの10件の銘柄を目標銘柄と呼ぶことにする。
楽天RSSのログの時刻について
以降で楽天RSSのログについて「h時m分のある項目の数値は***である」のような説明をするが、それは「h時m分以前に楽天RSSより受け取ったある項目の数値のうち最新の数値は***である」という意味である。ここで時刻は取引プログラムを稼働させているPCが楽天RSSから該当項目についての情報を受け取った時点のシステム時刻である。これは楽天RSSの情報送信の遅れおよびPCのシステム時刻のずれのため、正確な時刻とは数秒のずれがある可能性がある事に注意。
寄り前の気配
寄り前のある時刻の最良買気配値が調整後終値と上方乖離している、あるいは、最良売気配値が調整後終値と下方乖離している銘柄を抽出した。8時59分50秒時点で2%以上上方乖離している銘柄は0件、下方乖離している銘柄は23件であった。これら23件は目標銘柄をすべて含む。8時59分50秒時点での気配値は始値よりも大きく乖離している傾向が見られ、目標銘柄はすべて気配値が3%以上乖離している。気配値が3%以上乖離している銘柄は16件ある。それらの銘柄の8時59分0秒から50秒までのいくつかの時刻の気配値と始値の乖離率は下表のとおりである。
銘柄コード | 8:59:00 | 8:59:30 | 8:59:40 | 8:59:50 | 始値 |
---|---|---|---|---|---|
7202 | -10.430% | -10.401% | -10.401% | -5.629% | -2.703% |
7205 | -21.887% | -21.887% | -21.887% | -21.887% | -2.627% |
8306 | -5.453% | -5.224% | -4.866% | -4.866% | -2.402% |
9432 | -17.662% | -17.645% | -17.645% | -17.628% | -2.204% |
8308 | -9.956% | -9.956% | -9.956% | -8.456% | -2.154% |
8309 | -10.436% | -10.436% | -10.436% | -10.436% | -2.149% |
8355 | -5.858% | -7.042% | -6.132% | -3.764% | -2.126% |
7186 | -10.390% | -10.390% | -10.390% | -10.230% | -2.084% |
8630 | -16.416% | -16.416% | -16.416% | -16.416% | -2.080% |
8766 | -5.455% | -4.961% | -4.961% | -4.961% | -2.011% |
4578 | -9.941% | -8.918% | -7.894% | -6.319% | -1.919% |
3086 | -7.367% | -6.355% | -6.355% | -5.445% | -1.650% |
2503 | -5.459% | -5.187% | -5.005% | -4.424% | -1.648% |
9602 | -4.215% | -3.701% | -3.701% | -3.701% | -1.515% |
4324 | -3.935% | -3.935% | -3.935% | -3.344% | -1.472% |
6752 | -4.120% | -4.058% | -3.964% | -3.713% | -1.019% |
寄りの時刻、出来高
前日終値と気配値が大きく乖離して始まる場合、9時ちょうどには寄らずに寄りまでに時間がかかると思われる。それを調べるため、楽天RSSから初めて正の出来高を受け取った時刻を調べた。また、乖離が生じている銘柄の取引を行う際にどれぐらいの資金を投じることができるのかを調べるため 寄りの売買代金 = 最初の出来高 × 始値 の値も調べた。目標銘柄のそれらの値は下表のとおりである。
銘柄コード | 乖離率 | 寄り時刻 | 寄り売買代金 |
---|---|---|---|
7202 | -2.703% | 9:00:08 | 1,632百万円 |
7205 | -2.627% | 9:01:31 | 1,640百万円 |
8306 | -2.402% | 9:00:32 | 20,128百万円 |
9432 | -2.204% | 9:00:31 | 10,491百万円 |
8308 | -2.154% | 9:01:10 | 2,055百万円 |
8309 | -2.149% | 9:01:00 | 2,638百万円 |
8355 | -2.126% | 9:00:06 | 1,256百万円 |
7186 | -2.084% | 9:01:09 | 1,236百万円 |
8630 | -2.080% | 9:01:54 | 3,663百万円 |
8766 | -2.011% | 9:00:08 | 5,331百万円 |
寄り後の価格推移
前回分析したとおり目標銘柄を始値で乖離と反対方向に取引し終値で決済すれば2%以上の収益が得られそうである。しかし、大引けまで待つことなく早い時刻に決済したほうがその分の資金を他に投資することができる。乖離が始値を操作するために生じているのだとすればその乖離は寄り後早い段階で解消すると考えらえる。そこで目標銘柄について寄り後30分ごとの最良買気配値を調べた。(目標銘柄は下方乖離しているので買い建ての取引を行うので決済は売り注文になる) 下表に目標銘柄の乖離率および各時刻の最良買気配値の始値に対する増加率を示す。
銘柄コード | 乖離率 | 9:30 | 10:00 | 10:30 | 11:00 | 11:30 | 15:00 |
---|---|---|---|---|---|---|---|
7202 | -2.703% | 2.015% | 2.277% | 2.277% | 2.540% | 2.745% | 3.474% |
7205 | -2.627% | 1.392% | 1.758% | 1.612% | 1.905% | 2.051% | 2.125% |
8306 | -2.402% | 1.661% | 1.779% | 2.211% | 2.185% | 1.975% | 2.433% |
9432 | -2.204% | 0.369% | 0.702% | 0.878% | 1.387% | 1.264% | 1.300% |
8308 | -2.154% | 1.806% | 1.840% | 2.283% | 2.045% | 1.908% | 2.897% |
8309 | -2.149% | 0.995% | 1.262% | 1.383% | 1.407% | 1.456% | 2.063% |
8355 | -2.126% | 1.860% | 2.047% | 2.605% | 2.791% | 2.698% | 2.791% |
7186 | -2.084% | 1.631% | 2.610% | 3.100% | 3.263% | 2.936% | 2.773% |
8630 | -2.080% | -0.163% | -0.046% | 0.720% | 1.696% | 1.185% | 1.092% |
8766 | -2.011% | 1.960% | 1.717% | 2.101% | 2.404% | 2.182% | 1.697% |
考察
目標銘柄を取引するためには寄りの10秒前に気配値が3%以上乖離している銘柄に指値注文を出せばよさそうである。また寄りが1分以上遅れる銘柄があるため、9時以降の気配を観察し、2%乖離の指値で約定しなさそうであれば注文を取り消し、約定しそうな銘柄に移ることが可能であると思われる。投資金額については寄りの売買代金がどの銘柄も10億円を超えていることから1,000万円程度であれば始値に大きな影響を与えないと考えられる。決済についてはほとんどの銘柄が11時30分(前場の終了時刻)の時点でおおむね大引けまで待ったのと同じ収益を得られそうである。
以上を踏まえ以下の手順に従い取引を行うことにする。
- 8時59分50秒に日経225銘柄の気配値を見て調整後終値との乖離率が3%以上の銘柄を探す
- 上方乖離銘柄、下方乖離銘柄のどちらかだけが10件を超えていた場合、その方向に歪みが生じているとみなす
- 乖離銘柄の乖離が大きい順に資金が許す範囲で、調整後終値と2%乖離した金額に約1,000万円分指値注文を出す
- 注文を出した銘柄が寄った時点で未約定の注文および9時0分30秒の時点で未約定でありかつ気配値が指値と乖離と逆方向に離れている注文を取り消す
- 寄っていない銘柄で気配値の乖離率が2%以上の銘柄があれば注文を出していない銘柄を優先して注文を出す
- 約定した銘柄については調整後終値に指値決済注文を出す
- 決済注文が約定しない場合、前場の引けですべて決済する
情報取得元
最後に上記の方針で実際にプログラムを作成する際の情報の取得元について簡単に説明する。
楽天RSS
楽天証券のトレーディングツールMARKET SPEEDに付属するツールでExcelにリアルタイムの株価等を取り込むためのものである。Real time Spread Sheetを略してRSSと呼ばれる。Excelとの通信にDynamic Data Exchange (DDE)を用いており、DDE通信を行うプログラムを自作することで自作プログラムにリアルタイムの株価等を取り込むことができる。
今回は先物の当日始値、日経225銘柄の気配値、現在値(寄りを確認するため)の取得に楽天RSSを用いる。
Webページ
JPX
前日の先物の日中終値をJPXの先物価格情報より取得する。
かぶたん
かぶたんより以下の情報を当日8時45分より前に取得しておく。
- 日経225銘柄の前日終値
- 前日前々日の開示情報の有無
- 単位株数(注文の際、数量を計算するために必要)
次回予告
今回説明した内容でプログラムを作成し、次のSQ日である1月12日に稼働させる予定である。その結果を次回書きたいと思う。