見出し画像

Tableauで株価チャートを作ってみる➁(週足作成でのLOD表現の活用)

こちらの記事でTableau でのローソク足(日足)作成について書きましたが、「1年間の推移をもう少し見やすくしたい」ということで週足にもチャレンジしてみました。

▷ 完成したVizはこちらに公開してます


1.週足作成のポイント

週足というのは1週間の株価推移を1本のローソクで表したものになります。
なので、週足の4本値は以下の値となります。

始値:週初日の始値
高値:1週間のうちもっとも高い値
安値:1週間のうちもっとも安い値
終値:週最終日の終値

週足作成にあたって悩んだのは”これらの4本値をどう表現するか”
週単位の4本値を求めることができれば、あとは日足と同じ方法で作成するのみです。

2.週単位の4本値の求め方

週足で使用する値はすべて「取引日の週単位で集約した値」
なのでLOD表現のFIXEDを使えば表現できるのでは?と考え、早速試してみました。

①高値と安値

週足チャートの場合、必ず列に「週(取引日)」を含めることになるので、「1週間のうち最高値(最安値)」であればMAX([高値])やMIN([安値])を使えば表現できる気もしました。

ですが、ガントチャートの長さを表す(高値-安値)の値は「週単位で集約された高値と安値の差」を求める必要があるため、週の最高値と最安値はそれぞれ値として保持する必要があります。

というわけで以下のような計算フィールドを作成しました。


作成した計算フィールドが想定通りの値かどうか以下の数字を出して検証してみました。日単位で表示した場合も、週単位で集約した場合のMAX([高値])/MIN([安値])と同値が設定されているのでよさそうです。

ディメンションに「日(取引日)」を入れた場合(_週足がFIXEDを使って作成した値) 
ディメンションに「週(取引日)」を入れた場合(_週足がFIXEDを使って作成した値)


➁始値と終値

苦労したのがこちらです。
それぞれ週初日・週最終日と決まった日付の値を取得する必要があります。

そこで始値/終値それぞれwork用の計算フィールドを設け、以下のような計算式を書いてみました。ここでもLOD表現を使います。

週の一番最初の日付だった場合のみ始値を設定(ほかの日は0を設定)
週の一番最後の日付だった場合のみ終値を設定(ほかの日は0を設定)


週のうち0以上の値が入っているのは1データのみなので、このwork計算フィールドのMAX値を取得する方法で週の始値/終値を設定しました。


始値/終値についても実際に計算フィールドの数字を出して検証してみます。週初の始値と週末の終値が正しく設定されていそうです。
(「値の正しさを確認する」という意味もありますが、このように検証することでLOD表現への理解がより深まりました)


③週足チャートの完成

ここまでで作成してきた4本値を使用し、あとは日足と同じようにローソク足を作成しました。

完成形がこちら。

2023年初から2024年1週目までの週足チャート

1年分を表示してもローソク足がつまり過ぎず、見やすいチャートになったのではないでしょうか。

ちなみにもともとは2023年1年分を作成していましたが、年初からの値動きがあまりに大きかったのであわせて表現してみました。
最後の足が先週一週間(2024/1/9-12)の動きです。ものすごい上がり方ですね….。

3.おわりに

週足の作成ではLOD表現(FIXED)を存分に使用するかたちとなりました。

「LOD表現の有用性」は聞きながらも、これまでは与えられた課題でしか使ったことがなく用途をつかみきれていませんでした。ですが実際に自分で考えて使ってみることで「FIXED」の持つ考え方の理解が進み、とても勉強になるViz作成となりました。

今回はFIXEDしか使わなかったので、他のLOD表現(INCLUDE,EXCLUDE)も実際に使って活用方法の理解を深めたいと思います。

お読みいただきありがとうございました。


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