Tableauを利用した株価の可視化


はじめに

こんにちは。現在Tableauの勉強をしており、株価データを可視化してみたいと思います。
今回は無料で利用できるTableau Publicを利用して可視化を行います。
作成したデータはTableau PublicのWebサイトで公開しています。

事前準備

分析を始める前にデータのダウンロードとTableau Publicのインストールを行います。

データのダウンロード

今回は日経平均株価を利用します。
FREDから日経平均の直近10年分のcsvデータをダウンロードします。


Tableauのインストール

Tableau Publicをダウンロードし、インストールしておきます。
また、Tableau Publicのアカウントも必要になるため、一緒に登録しておきます。

可視化

今回はTableauで以下のデータの可視化をします。

  • 移動平均

  • 移動平均と株価の乖離率

  • 前日比株価の騰落率

  • 月毎の騰落率

作成したデータは以下で公開しています。

移動平均

まずは株価の移動平均を作成します。
移動平均の期間は動的に変更できるようにするため、パラメータを利用します。

パラメータの設定

移動平均は新たな計算フィールドを作成し、以下の数式を利用することで算出します。

WINDOW_AVG(SUM([日経平均株価]), -[移動平均の期間], 0)

移動平均と株価の乖離率

続いて先ほど作成した移動平均と株価との乖離率を算出します。
以下の数式を利用した計算フィールドを作成します。

(SUM([日経平均株価]) - [株価の移動平均]) / [株価の移動平均] * 100

ここまで作成したデータを可視化してみます。
列に日付、行に日経平均株価、移動平均と移動平均乖離率を設定します。
日経平均株価と移動平均は二重軸に設定することで同じグラフの中で描画します。

作成したデータの描画

前日比株価の騰落率

前日比株価の騰落率は以下の数式を利用して算出します。
簡易表計算を利用して算出するとより簡単に描画できますが、、この次に計算する月毎の騰落率で利用するために計算フィールドで作成します。

ZN((SUM([日経平均株価]) - LOOKUP(SUM([日経平均株価]), -1)) / LOOKUP(SUM([日経平均株価]), -1) * 100)

列に日付、行に前日比株価の騰落率を設定することで描画できます。

前日比株価の騰落率

月毎の騰落率

列に日付、行に先ほど作成した前日比株価の騰落率を利用することで、月毎の騰落率は簡単に描画できます。

月毎の騰落率

このデータを見ると3月と6月で大きく株価が上がりそうです。

おわりに

株価データをTableauを利用して可視化し、簡単な分析をしてみました。
PythonのMatplotlibを利用して可視化をしたこともありますが、Tableauはより簡単に可視化ができました。
しかし、データの集計などは苦手な面があると感じました。例えば、前日騰落率などをヒストグラムで描画したいと思ったのですが、計算フィールドで算出したデータを更に計算フィールドで計算し直すことは難しいようでした。
データ加工はPython、可視化はTableauといった形で適材適所で使い分けることが重要です。
Tableau上でPythonを実行できるTabPyという機能もあるようなので今後利用してみようと思います。


この記事が気に入ったらサポートをしてみませんか?