pythonで仮想通貨① Bitcoinと統計学(BTC価格分布は右に裾を引く)
ここに、独学で統計に挑み、市場に嘲笑われ散っていった一人の乞食の考察を記します。
Bitcoinのトレードで儲けたい。
乞食を生業とする私は、統計学を利用し、上手く波乗りできる指標がないか考察しました。
ハル・フィニーやロジャー・バー、ウィンクルボス兄弟のような、アーリーアダプターでなくても、私の様な乞食にもチャンスがあるのでは無いかと考えたのです。
『統計学さえ味方に付ければ。』
その後、死ぬまでの話です。
1. Bitcoinのドローダウンは長期に及ぶ
Bitcoinといえば、永遠なる右肩上がり。狂喜乱舞のチャートを描くと思われがちだが、一度大幅下落を食らうと、その暗黒時代は長期に及びます。
百聞は一見に如かず。
1BTC=400ドル前後だった、2014年~現在までの価格分布を見ていきます。
最高累積リターンは14,000%!
ドローダウンです👇
2017年のバブル崩壊~2020年11月の最高値更新まで1,079日(約3年)を要しています。その後、さらに3倍の70,000ドル付近まで上昇したことは記憶に新しいと思います。
上図から把握できるように、Bitcoinのドローダウンは長期に及びます。
但し、ドローダウンを抜けたときの上昇率がパないのです。
次項では、細かい統計データに迫ります。
2. Bitcoinの最高年間上昇率は驚異の1368.9%
ここで、2014.9~2022.6現在までの統計データの出番です。
比較対象として、現在世界第二位の時価総額を誇るApple社を選択。
下図に注目してください。👇
今回のブログの第一佳境点です。
・バブルは2017年が最強。
・月間収益率分布は右に裾を引いている(歪度+)。
・最頻値で見れば、BTC投資は損失を被る。
以上が、Bitcoinの統計データです。
1BTC=400ドル前後だった、2014年~現在までの価格分布を見て、
無尽蔵に上昇を続けるモンスターというイメージが変わったことかと思います。
大事なバブル時期はコロナ禍では無く、2017年のバブルだったのです。
ここまでの考察では、やはりアーリーアダプターにはとても敵わない事が分かりました。。。。(´;ω;`)ウッ…
早漏利確も(私です)即死です。。。
ここまでのpython コード👇
pip install quantstats==0.0.25
pip install matplotlib fbprophet pandas-datareader
pip install scikit-learn keras pandas_datareader
pip install stock-backtest
pip install japanize_matplotlib
pip install mplfinance
pip install yfinance
pip install quandl
stockname = "BTC-USD" #@param {type:"string"}
%matplotlib inline
import quantstats as qs
qs.extend_pandas()
stock = qs.utils.download_returns(stockname)
qs.stats.sharpe(stock)
qs.plots.snapshot(stock, title='Stock Performance')
qs.reports.full(stock, "AAPL")
3. 統計学は市場に勝てないのか?
では、ここからは、統計学を駆使して、アーリーアダプターに勝てないにしても、儲けることはできないのか?という疑念について記述していきます。
まず、上述した同期間の価格ヒストグラムを見ていきます。👇
from pandas_datareader import data as pdr import datetime import yfinance as yf yf.pdr_override() df = pdr.get_data_yahoo("BTC-USD", "2014-10-1", "2022-5-29") df1 = df["Adj Close"] .dropna() display(df1.head(5).append(df1.tail(5))) display(df1.plot.hist())
df1.plot(figsize=(8,8),fontsize=14,subplots=True,grid=True) display(df1.describe())
ここで、統計学の基礎となる正規分布を使用した、ボリンジャーバンドが役立つのか実験してみます。ボリンジャーバンドは正規分布を仮定した上で使用するので、レンジ相場にしか対応できません。
しかし、前述したヒストグラムから分かるように、株式市場や仮想通貨は正規分布とはほど遠い分布を形成しています。テールリスクに面した投機商品であることが明らかです。
しかし、私乞食は、独学でかじった統計学を信じたいのです。
ブラック-ショールズ方程式やモンタナバンドが意味があると、信じたいのです。
応用数学や計量経済学、ミクロ・マクロ経済学が意味があると、信じたいのです。
理由は、私が大卒で職業:乞食なことを、間違いだと信じたいからです。(●´ω`●)
ということで、ボリンジャーバンドで儲けることができるのか、バックテストモジュールを使用して検証していきます。
※バックテストを使用するのは、実弾が無いからです(●´ω`●)フフフ
前提条件
対象銘柄:BTC-USD
法定通貨:ドル
トレード期間:2022/1/1~2022/5/31(5ヶ月間)
初期資金:100,000ドル(1,000万円)※ドル円=100円とする
取引手数料:0.05%
売買手法:ボリンジャーバンドでドテン
ボリンジャーバンド計算期間:7日間
+σ:2σ
▲σ:▲2.5σ
※σが同値でない理由:コロナがパンデミック時より落ち着き、各国中央銀行が利上げを始めた為。一般的思考として、インフレが進行した今、中央銀行は普通利上げに動くため、下落リスクが高いと判断しました。
つまり、中長期的に下落気味のレンジ相場を予想したσ設定となっております。
対象期間の統計データ👇
検証と検証方法を2パターンに分けてみていきます。
ボリンジャーバンドで+σで売り、▲σで買った場合(逆張り・レンジ相場想定)
ボリンジャーバンドで+σで買い、▲σで売った場合(順張り・トレンドに乗る)
結果
1.ボリンジャーバンドで+σで売り、▲σで買った場合(逆張り・レンジ相場想定)
結果👇
実はこのグラフ。インタラクティブに動かせるんです👇
お試しください。
python コード👇
ここから先は
¥ 350
e^iπ + 1 = 0