ビットコインの単純移動平均を計算する

自動売買

今回は、前の記事で取得したビットコインのデータを元に、どうやって移動平均を計算するのかを勉強していきます

移動平均の計算方法

キノコードさんの動画で、Pythonで株価の移動平均を計算する方法が紹介されています

動画で取り扱われているデータは株価ですが、ビットコインにも応用できそうなので、自分でプログラムを書いて消化しながら使っていこうと思います

Pythonのpandasというライブラリのrollingというメソッドを使うと過去何日間の平均が計算できます

pandas:主に表計算をするためのライブラリ

試しに前に取得したデータを使って、移動平均を計算してみます

前回取得したデータ

下が取得したデータで、左からビットコインのその日の高値、安値、始値、終値、出来高、調整後の終値です

ビットコインの2次元データから調整後の終値(Adj Close)を抽出する

移動平均を計算するために、表のAdj Closeの列だけを抽出します

priceの型はシリーズです

シリーズ:pandasで計算するときの1次元配列みたいなもの

終値データから5日平均と25日平均を計算し、2次元データに書き加える

priceというシリーズを使って、移動平均を計算します

理屈は詳しくわかりませんが、rollingというメソッド(関数)を使うと移動平均が計算できるらしいので、これを使っていきます

短期移動平均を5日、長期移動平均を25日としました

     ・・・

右に2列、移動平均が追加されています

sma1が5日移動平均sma2が25日移動平均です

sma:移動平均の英略

5日平均はその日から過去5日間の終値の平均のことで、上の図のようにちゃんと計算できているみたいです

まとめ

2.データから単純移動平均を計算するには、

・ライブラリのpandasをインポートする

終値のデータを抽出する

・終値データから5日平均と25日平均を計算し、2次元データに書き加える

の3ステップが必要なことがわかりました

今回の計算結果をグラフにするとこんな感じになります

青:終値

黄:長期(25日)移動平均

緑:短期(5日)移動平均

上のグラフから、今(12/28)の状態は

短期(5日)移動平均 > 長期(25日)移動平均

であるため、買いであるといえます

コメント

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