juliaで時系列-その2-時系列データのグラフ描画

julia

前回、証券会社からDLした株価のCSVデータをOHLCの時系列データに変換しました。

今回は、グラフ描画をします。

CSVデータの読み込みと変換については、前回の記事をご覧ください

必要パッケージのインストール

前回から追加で必要なパッケージは

  • Plots.jl

REPLからならパッケージモードで

(@v1.7) pkg>add Plots

Jupternotebookなどからは、パッケージモードで

using Pkg
Pkg.add("Plots")

それぞれインストールします。

データの準備

前回に引き続き、トヨタの株価データを使います。

OHLCに並んだデータを準備。前回の関数を使って読み込みます。

toyota = csv2ohlc("toyota.csv")

時系列グラフの描画

データが準備できたので、グラフを描いてみましょう

単純なグラフ

plot(toyota)

特に何も引数を与えなくても、プロットにデータを渡せば、描画してくれます。

ただ、これではちょっとごちゃごちゃしすぎですね。

列を指定して描画

列を指定して、描画してみましょう。

plots(toyota[:close])

close(終値)だけ描画しました。

列の指定方法は、

plots(toyota.close)

でもできます。

今は任意の1つを選択しましたが、2つ選択してみましょう。

例えば、高値と安値

plots(toyota[:high,:low])

こんな感じです。

ただ、これ1000行分のデータを描画してるので、やっぱりちょっとギューギューです。

行を指定して描画

次に行数を指定しましょう。

終値の1行目から100行目までを描画してみます。

plot(toyota.close[1:100])

だいぶスッキリしてました。

けど、せっかく時系列データなので、「何行目」より「日付」で指定したいですよね。

トヨタの2020年1月1日から2020年の12月31日までを指定してみます。

plot(toyota.close[Date(2020,1,1):Day(1):Date(2020,12,31)])

2020年は実際に市場が開いたのは、1月6日で、最終日が12月30日でした。そこらへんは、ちゃんと調整されて、データは6日分から描画されてます。

日付で指定する場合は

toyota.close[Date(2020,1,1):Day(1):Date(2020,12,31)]
[開始日:間隔:終了日]

と指定します。

行と列を指定して描画

グラフ描画の最後に日付で期間を指定して、複数列のデータを描画してみましょう。

2020年1月1日から2020年6月30日までの始値と終値を描画してみます。

plot(toyota[:open,:close][Date(2020,1,1):Day(1):Date(2020,6,30)])

まとめ

今回は、グラフ描画をしました。

単純な折れ線グラフだけご紹介しましたが、他にも株価データの場合は、ローソク足とかカギ足とか、出来高の棒グラフで表示したりとか、いろいろあります。

Plotsだけでは処理できないものもあるので、他のパッケージを使ったりすると、もっと様々なグラフの描画ができます。

気になる方はぜひ試してみてください。

コメント

タイトルとURLをコピーしました