今回は、前の記事で取得したビットコインのデータを元に、どうやって移動平均を計算するのかを勉強していきます
移動平均の計算方法
キノコードさんの動画で、Pythonで株価の移動平均を計算する方法が紹介されています
動画で取り扱われているデータは株価ですが、ビットコインにも応用できそうなので、自分でプログラムを書いて消化しながら使っていこうと思います
Pythonのpandasというライブラリのrollingというメソッドを使うと過去何日間の平均が計算できます
pandas:主に表計算をするためのライブラリ
試しに前に取得したデータを使って、移動平均を計算してみます
前回取得したデータ
下が取得したデータで、左からビットコインのその日の高値、安値、始値、終値、出来高、調整後の終値です
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-12.29.23.png)
ビットコインの2次元データから調整後の終値(Adj Close)を抽出する
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-12.32.06.png)
移動平均を計算するために、表のAdj Closeの列だけを抽出します
priceの型はシリーズです
シリーズ:pandasで計算するときの1次元配列みたいなもの
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-12.38.19.png)
終値データから5日平均と25日平均を計算し、2次元データに書き加える
priceというシリーズを使って、移動平均を計算します
理屈は詳しくわかりませんが、rollingというメソッド(関数)を使うと移動平均が計算できるらしいので、これを使っていきます
短期移動平均を5日、長期移動平均を25日としました
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-12.20.28.png)
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-13.45.14.png)
・・・
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-13.43.16.png)
右に2列、移動平均が追加されています
sma1が5日移動平均、sma2が25日移動平均です
sma:移動平均の英略
![](https://crypto-assets-program.com/wp-content/uploads/2020/12/2020-12-28-13.55.19.png)
5日平均はその日から過去5日間の終値の平均のことで、上の図のようにちゃんと計算できているみたいです
まとめ
2.データから単純移動平均を計算するには、
・ライブラリのpandasをインポートする
・終値のデータを抽出する
・終値データから5日平均と25日平均を計算し、2次元データに書き加える
の3ステップが必要なことがわかりました
今回の計算結果をグラフにするとこんな感じになります
青:終値
黄:長期(25日)移動平均
緑:短期(5日)移動平均
上のグラフから、今(12/28)の状態は
短期(5日)移動平均 > 長期(25日)移動平均
であるため、買いであるといえます
コメント