【FX】Qlik Senceでアノマリー分析

投資関連
スポンサーリンク
スポンサーリンク

Qlik Senceって何?

業務でデータの分析や集計に携わっている方は名前くらいは聞いた事があるかもしれませんが、セルフ型と言われるBIツールの1つです。データアナリティクスプラットフォームなどと言われることもあります。そんな横文字言われてもわからんという方のためにざっくりと説明すると、『データベースとかプログラミングとかの専門的な知識が無くても、数十万件とか数百万件とかの膨大なデータをさまざまな角度で集計したりグラフ化したり、そんな事が自分自身で割と簡単にできてしまうソフトウェア』とイメージしてもらえれば良いと思います。※ツールの使い方とか、少しの勉強は必要です。

何がすごいのか?

無料で使える事です。

製品のグレードによりますが、デスクトップ版と呼ばれる1台のPCのみで使用する物は無償で使用する事ができます。他にもクラウド版等、分析結果を共有できるグレードのものがありますが、それらは有償となります。分析機能として大差はなく、個人がチャートデータの分析に使う程度であれば無償のデスクトップ版で十分だと思います。

本稿執筆時に改めて確認したところ、デスクトップ版は2020年7月1日より有償となってしまうようです。状況はその時によって変わりますので、詳細が気になる方はご自身で確認してみてください

HP:https://www.qlik.com/ja-jp/products/qlik-sense

実際に使ってみる

使用するにはアカウントの登録が必要になります。導入手順については調べれば詳しく説明されているサイトがありますので、ここでは割愛します。今回はこのツールを使ってチャートデータのアノマリー分析を行ってみないと思います(アノマリー分析という言い方が適切か分かりませんので、期待しすぎた方にはあしからず・・・)。

やること

時間帯毎における売/買の傾向を分析する。

  • データソース:MT5デモ環境
  • 通貨ペア:USDJPY
  • 期間:5年分(2015年~2019年)
  • 時間足:H1

データ抽出

銘柄リストを表示させ、①~⑥の手順でデータを抽出します。銘柄リストは「$」マークの付いたアイコンをクリックするか、「表示」→「銘柄」で表示されます。

①:「チャートバー」タブをクリック
②:USDJPYを選択
③:H1を選択
④:期間を入力
⑤:「情報呼出」ボタンをクリック
⑥:「バーをエクスポートする」ボタンをクリック

出力したファイルをテキストエディタで開くとこんな感じ。1行目は項目名なのでデータの数は31,010件。1時間足の始値(OPEN)/高値(HIGH)/安値(LOW)/終値(CLOSE)が出力されています。この程度の件数であればExcelでもストレスなく扱えるレベルですが、今回はQlik Senceにて分析してみます。

Qlik Senceに取り込む

取り込み方は割愛。下の画像はデータを取り込み、集計用の項目を2つ追加した状態のものです。ちょっと見にくいですが、右から2番目の「陰陽」という項目は、陽線だったら1、陰線だったら-1、バーチャートだったら0を表示する項目です。CLOSE – OPENの値で判断しています。一番右の「値幅」は、CLOSE – OPENの値をそのまま表示した項目です。

集計/分析

グラフ機能を使ってビジュアル化し、分析してみます。

① 陽線/ 陰線/バーチャートの件数

陽線=15,786、陰線=15,062、バーチャートは162。陽線のほうが多いですが、全体の件数からすると同じくらいの割合です。ちなみにバーチャートはほとんど見かけないので、件数的には多く感じました。

時間帯毎の陽線と陰線の数の差

陽線(1)と陰線(-1)を時間帯毎に合算してみました。例えば0時の値は108で、これは0時帯での陽線と陰線の件数を合計した結果、陽線の方が108多かった事を意味します。逆に5時は-99となっており陰線が99多かった事を意味します。

並び順を件数に変えてみます。21時と0時に陽線が多く、5時は陰線が多いという事がわかります。ここで、「21時と0時に買注文、5時に売注文、それぞれ1時間後に決済する」を行えば勝率が上がるんじゃね?というロジック案が浮かびました。

時間はMT5のサーバータイムになります。日本時間ではありません。

値幅での分析

陽線の上昇幅より陰線の下降幅のほうが大きければ上記ロジック案は成り立ちません。今度は値幅をベースに集計してみます。

以下は時間帯毎の値幅を合計したグラフです。分析の仕方は色々あるかと思いますが、今回は上記ロジック案の対象となる0時、5時、21時の値幅に着目して見てみます。0時=9.31、5時=-11.06、21時=5.51。つまり、陽線が多い時間帯(0時、21時)はプラス、陰線が多い時間帯(5時)はマイナスとなっており、ロジック案は一応成り立ちそうな感じがします。9時の17.13が気になりますが、今回は無視します。

と言う訳で

いつになるかわかりませんが、今後は『21時と0時に買注文、5時に売注文、それぞれ1時間後に決済する』という内容のEAを作り、バックテストの結果を記事にしてみたいと思います。

まとめ

いかがだったでしょうか?5年分のデータが適切な量かわからないので、10年とか20年分のデータで集計したら違った結果になるかもしれません。また、過去に起こった事が未来に起こるとも限りません。ただ、過去の特定の期間でそういう傾向にあったという事も事実なので、こういった分析やその結果を基に自分なりのロジックを作り上げるのも面白いのではないでしょうか?ツールに関してもQlik Senceじゃなきゃダメという事はありませんが、ソフトウェアとかよくわからないけどアノマリーに興味があり、勉強することが苦じゃない方は参考にして頂ければと思います。

今回の記事がどなたかの役に立てば幸いです。

投資関連
スポンサーリンク
スポンサーリンク
カッテラをフォローする
スポンサーリンク
タイトルとURLをコピーしました