ラベル 先物・オプションの参加者別手口の集計方法 の投稿を表示しています。 すべての投稿を表示
ラベル 先物・オプションの参加者別手口の集計方法 の投稿を表示しています。 すべての投稿を表示

2021-09-23

先物・オプション手口の集計方法改修【2021.9-新様式対応版】

※2023.11.6よりJPXの開示方法が変更されたため当手法での集計ができなくなりました。


JPX(日本取引所グループ)が日々公表している先物・オプション手口データが2021.9.21より新様式となりました。


したがって、筆者が公表している「先物・オプション手口の集計」の手順について、新様式に対応したアップデート版を作成・公表しました。 こちら


従前は商品(銘柄)名と取引者名・取引高の行が異なっていたため、集計に一手間が必要でした。


先物・オプション手口の集計方法・新様式対応版 → こちら

今回の新様式ではこれらのデータが同一行となっているため、ある程度のエクセル知識がある方ならば、比較的容易に集計ができるようになったと思います。

ちなみに、商品(銘柄)名と取引者名・取引高の同行化(エクセル算式の作成)は筆者が最も苦労した点であり、これがデフォルト化したことにより、個人投資家の手口集計の敷居が一気に低くなったと思います。

スポンサーリンク

2021-02-06

先物・オプション手口の集計(限月の切り替え)

初回の「先物・オプション手口参加者別手口の集計方法」の公開からだいぶ時間が経ってしまいましたが、今回は先物・オプション集計に不可欠な限月の切り替え処理について、筆者が行っている方法を紹介します。


先物・オプション手口の集計(データの抽出・集計方法) の「4-3 集計」で作成したエクセルシートのオプションの商品名にはSQの日付が含まれているため、SQ通過によって、この商品名に含まれた日付部分を変更する必要があります。


データの抽出・集計のシートを完成されていれば、この作業は極めて簡単です。




エクセルのシート上にて、「Ctrl」+「F」にて検索・置換ウィンドゥが現れますので、下図のように新旧のSQ日を入力し、カーソルをシート左上段に起き、「すべてを置換」をクリックすれば、商品名が新しいSQ日に変更されます。






なお、先物の限月切り替えについては、数が少ないため手入力で変更しています。


例えば、

2月限通過後は

・FUT_NK225M_2102 を削除

・FUT_NK225M_2103、FUT_NK225M_2104のセルを繰り上げ

・FUT_NK225M_2105 を加入

という感じです。


おそらく、証券会社別に複数のシートを作成していると思いますので、二枚目以降のシートは最初のシートを参照しておくことにより(=シート・セル名)、1枚のシートの先物限月の変更がすべてのシートに反映されます。 
(続く)
スポンサーリンク

2019-08-31

先物・オプション手口の集計(データの抽出・集計方法)

先物・オプション手口の集計(準備編)の続きとなります。
未読の方はこちらからご覧ください。 →こちら

今回は、先物・オプション手口の集計(準備編)により、JPXのサイトから取得したデータを加工した「当日のデータ一覧」を元に、取引参加者別にデータを抽出・集計するExcelシートを作成する手順を紹介します。 準備編は→こちら

(細かく書いているとだらだらと長くなってしまうため、だいぶ端折っていますが、JPXのデータは複雑で量も多いため、先物やオプションを「A社 りんご 10 個、B社 りんご 5 個、C社 みかん 20 個・・・」等の簡易データに置き換えて抽出・集計してみるとわかりやすいと思います)


4 取引参加者別のデータ抽出・集計


このシート(データの抽出・集計用シート)は先に作成した「当日のデータ一覧」と同一のExcelファイル内にシートを追加して作成するのが後々の処理のためにも便利である。


4-1 シートのフォーマット


シートは次の3つの部分で構成しています。

「当日のデータ一覧」から取引参加者をキイワードとして手口を抽出した部分が「A」です。

「ナイト・セッション」・「日中取引」に分かれ、その中で「立会取引」と「J-NET取引」の計4種類の表となる。

取引参加者の先物手口の集計が「B」となります。Aにて抽出したデータを元に、商品名をキイワードとして抽出・集計しています。

取引参加者のオプション手口の集計が「C」となります。Aにて抽出したデータを元に、商品名をキイワードとして抽出・集計しています。


4-2 抽出の方法


先に作成した「当日のデータ一覧」には、商品名 - 取引参加者 - 取引枚数 が同一行に記載されている筈である。

したがって、取引参加者(たとえば「ABNアムロクリア」)が含まれているデータ(行)を捜し、同一行の商品名 と 取引枚数 を抽出する数式を作成入力します。

「日中取引」--「立会取引」「J-NET取引」、「ナイト・セッション」--「立会取引」「J-NET取引」の4つのパートに分けます。

「A」拡大したのが次表で、「日中取引」--「立会取引」の部分になります。


筆者はROW関数を用いて作成しました。

筆者作成のQ列(取引参加者の商品名)を求める数式は以下のとおりです。

=IF(ROW(P1)>COUNTIF(当日データ!$C$2:$C$800,"ABNアムロクリア"),"",INDEX(当日データ!A$1:A$800,SMALL(INDEX((当日データ!$C$2:$C$800<>"ABNアムロクリア")*1000+ROW(当日データ!$C$2:$C$800),),ROW(P1))))

この算式がQ列以降にも入力されています。

日中取引の場合、データが700行程度あるため、少し余裕を見て800行で設定しています。

ちなみにR列の及びS列は以下のとおりです。

=IF(ROW(Q1)>COUNTIF(当日データ!$C$2:$C$800,"ABNアムロクリア"),"",INDEX(当日データ!C$1:C$800,SMALL(INDEX((当日データ!$C$2:$C$800<>"ABNアムロクリア")*1000+ROW(当日データ!$C$2:$C$800),),ROW(Q1))))

=IF(ROW(D1)>COUNTIF(当日データ!$C$2:$C$800,"ABNアムロクリア"),"",INDEX(当日データ!E$1:E$800,SMALL(INDEX((当日データ!$C$2:$C$800<>"ABNアムロクリア")*1000+ROW(当日データ!$C$2:$C$800),),ROW(D1))))

これらが、日中取引・立会・売りの部分であり、T列以降、日中取引・立会・買い、日中取引・立会外・売り・・・と続きます。

 

4-3 集計


前項で抽出したデータを元に、先物・オプションの商品別の集計表を作成します。

「B」の部分です。

同一シート内にあったほうが効率的と考え、別図のとおり、3分割して同一シートで作成しています。

数式はVLOOP関数を使用しました。

E-4の「日中取引・立会・売り」には次の数式を入力しています。
=IFERROR(VLOOKUP($A4,$Q$4:$S$48,3,FALSE),0)

これらのフォーマットの作成には2週間くらいかかりましたが、毎日の作業は "先物・オプション手口の集計(準備編)" で紹介したJPXデータのコピペだけで、ものの5分もあれば可能ですので、興味のある方は試みられると良いと思います。

なお、限月が変わった際にはデータの限月部分(「B」、「C」の左端、データの抽出の際に、こちらのデータを参照して抽出しています)を変更する必要がありますが、「置換」により、こちらも5分もあれば可能です。

また、週一回の残高報告の集計・反映や「4-3 集計」で作成したデータを基にした参加者別一覧表や先物手口及び残高一覧作成など、細かなテクニックもあります。時間のあるときとなって恐縮ですが、順次、可能な限り紹介してまいります。
スポンサーリンク

2019-07-27

先物・オプション手口の集計(準備編)・新様式対応版:2021.9月

※2023.11.6よりJPXの開示方法が変更されたため当手法での集計ができなくなりました。


※2021.9.21公表分より、JPXの公表データ様式が変更されました。
 よって、今回の新データ様式への対応部分を追記しました。(赤字が追記部分)


昨年(2018年)の秋以降、チャート分析が機能しにくい相場が続いている。

 
依然に増して日本の株式市場において現物を所有する妙味が薄れ(リスクが増大し)、先物・オプションを大きく動かして利益を得る先物主導の相場に移行しているからだと思われる。
 
現物主導であればチャート上の節目を拾って見ていけば、ある程度の成果が得られるが、先物主導の場合、一気呵成の売り仕掛けや買い仕掛けが中期にわたって継続し、思わぬ安値や高値が示現することになる。
 
(これは余談であるが、日経平均が22,000円でもみ合っている頃、某国内大手証券のチャート分析を用いた動画で解説していたストラテジストが「上下どちらに放れるかわからないが、わかっていることは20,000円は絶対に割らないということです」と自信たっぷりに述べた僅か2ヶ月後に日経平均が2万円を割れ、19,000円さえも割れたことだ)
 
さて、具体的に集計手順について説明していくが、かなり複雑な部分があるため、何回かに分けての分割掲載となる。
 
フォーマットの作成については試行錯誤したため、かなりの時間を費やしたが、フォーマット完成後の日々の集計作業はデータのコピペのみのため、ものの5分もあれば集計が可能であり、Excelの素晴らしさを実感している。

 

1. 手口の集計にあたって準備するもの


・日本取引所(JPX)のwebページ
JPXでは、先物及びオプションの取引参加者別取引高(手口上位一覧)を日々公表しており、PDFとExcelデータが用意されているため、コピペが容易なExcelデータを使用する。


・Excel
Excelの関数を使って必要データを抽出・集計している。一般的な事務では使用しない関数かもしれないが、特に複雑なものではないと思われるためExcelのバージョンは問わないと思う。

 

2.JPXのどのページを見る?


日々の取引参加者別取引高については、以下の階層となっている。JPXのトップページからでも、検索からでも容易に見つけられるだろう。(以下にリンク)

トップページ > マーケット情報 > 先物・オプション関連  > 取引参加者別取引高(手口上位一覧)


(従来)


(2021.9.21以降)


日付別に、「ナイト・セッション」・「日中取引」に分かれ、その中に「立会取引」と「J-NET取引」があり、計4ファイルにアップされている。

2021.9.21以降については、PDFファイルが割愛され、エクセルファイルのみとなった。

アップロード時刻は概ね16:30頃とされている。


3.Excelの事前準備

JPXの公表データはExcelにてそのまま活用できる状態にないため、利用者側で一部加工が必要となる。

 

3-1 どのような加工が必要か?

(従来)・・・ 記録のため従来分を残していますが、2021.9.21以降をご覧になる方は、次の赤字部分に進んでください。

JPXのデータは次のとおり掲載されている。先物の次にはオプションPUT、CALLが権利行使価格別に掲載されているため500行~600行となっている。(向かって左が「売り」、右が「買い」となっている。PDFには売り買い別が記載されている)

データの抽出及び集計で苦労するのは、取引参加者と枚数は同一行に掲載されているが、商品名(先物・オプションの別や権利行使価格別)が上部に掲載されているのみで、取引参加者と枚数と同一行に掲載されていないことだ。

また、取引が活発な先物ラージについては20社が掲載されているが、オプションについては20社未満のケースが多く、また、取引日によって参加者数が異なり規則的な配置になっていないため、「商品名から〇行を抽出」といった画一的な算式では対応できないところが難しい。

(2021.9.21以降

従前では、商品名「FUT_TOPIX_2112等」)が取引参加者と取引高が同一行に掲載されていないため、下記の処理を行う必要があったが、新様式では同一行に記載されているため利便性が高まった。

 (全体図)

また、商品名が独特の略称仕様から、商品名を推測しやすい名称に変更されたため、わかりやすくなった。(ただ、筆者のようにエクセルでの自動処理を行っていた者は算式やシステム改修の必要が生じた)

なお、今回の様式変更により、次項「3-2 どのように改良したか?に示した商品名「FUT_TOPIX_2112等」)と取引参加者・取引高を同一行に配置しなおす作業が不要となり、個人投資家の集計ハードルは下がったと言える。

この後の処理については、(分類、銘柄コード、順位など、集計に不要な部分を削除し、商品名・証券会社・取引高の3列のみにするなど表を簡略し)、集計の元となるデータベースを作成する。

次に、このデータベースから任意の社の手口(前日の夜間+当日の日中取引の立会・立会外別)を抽出・集計する方法を紹介する。

先物・オプション手口の集計(データの抽出・集計方法)に続く →こちら




3-2 どのように改良したか?


Excelでは、同一行にデータがあれば抽出・集計が容易になるため、結論的にはA列とE列に空欄を挿入し、IF関数を用いてA列とE列に使用品名を表示させることにした。

なお、「ナイト・セッション」・「日中取引」・「J-NET取引」と4種類(売り買いで8種類)のデータを一覧で集計するのが便利であるため、あらかじめ集計用のExcelファイルのフォーマットを作成し、該当部分にJPXのデータをコピペしている。

筆者の集計用のワークシートは次のとおりである。(表が大きいため、日中・立会取引のみ掲載、表は次に「day/J-net」、「night/立会」、「night/J-net」と続いている

黄色の網掛け部分に数式を入れてあり、商品名と参加者名、枚数が同一行に表示される。

作業としては、JPXの該当のデータ(日中・立会・買いであればA列~D列)を範囲指定し、クリップボードにコピーし、あらかじめ作成しておいた作業用シートの該当部分(日中・立会・買いであればB列~E列)にペーストすれば、A列に商品名が表示される。


なお、筆者の算式(A6列)は次のとおりである。

=IF(B5="Instrument",C5,IF(B5="","",A5))

A7列以降については、算式中の行数字が一つずつ下りていく。

「日中・立会・買い」のコピペが終わったら、次に「日中・立会・売り」、「日中・立会外・買い」・・・と続けていく。

これにより、その取引日(前日の夜間+当日の日中取引)の各社別の取引手口を抽出するためのデータベースができあがる。

次回、このデータベースから任意の社の手口(前日の夜間+当日の日中取引の立会・立会外別)を抽出・集計する方法を紹介する。


※先物・オプション手口の集計(データの抽出・集計方法)に続く →こちら
スポンサーリンク
counter