皆さま、こんにちは。クリプトトレーダーです。本日のテーマは「ビットコインのボラティリティ・プレイ」です。仮想通貨のボラティリティをベースにパターン分けをして、効率的なトレード戦略に結びつけようというのが今回の趣旨です。
ボラティリティという用語は金融業界ではよく使われますが、普通の人はあまり使いませんよね。ボラティリティ=変動とだけ覚えていれば結構です。価格が動いている時、そうでない時で戦略を分けることができればトレード結果がよくなる・・かもしれません。そんな思いを込めて書いてみました。
ビットフライヤーの過去データを取得
[code lang=”js”] import requestsimport datetime
import pandas as pd
import csv
def daily_price_historical(symbol, comparison_symbol, limit=1, aggregate=1, exchange=’bitFlyer’, allData=’true’):
url = ‘https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym={}&limit={}&aggregate={}&allData={}’\
.format(symbol.upper(), comparison_symbol.upper(), limit, aggregate, allData)
if exchange:
url += ‘&e={}’.format(exchange)
page = requests.get(url)
data = page.json()[‘Data’]
df = pd.DataFrame(data)
df[‘timestamp’] = [datetime.datetime.fromtimestamp(d) for d in df.time]
return df
df = daily_price_historical(‘BTC’,’JPY’)
df.to_csv(‘btcjpy.csv’)
Cryptocompareでビットフライヤーの日足データ取得が可能です。csvファイルで落とせます。
エクセルでの分析、ボラティリティのグラフ
そのままPythonで分析しようと思ったのですが、常にPythonを使っているわけでもないため、最も使い勝手のよいエクセルで分析をしてみました。ボラティリティ計測は20日間の標準偏差です。年率に換算しています。
このグラフの意味は、年率ボラティリティ50%台が63回、80%台が81回発生したということです。年率ボラティリティ50%というのは、例えば現在が2万円として1年後に3万円か1万円くらいまでは動くだろうということです。
エクセルでの分析、各区間の合計・平均リターン
年率ボラティリティ90%台以上は、はっきり言って異常値なので省くことにします。年率ボラティリティ50%台がよくない結果に見えますが、さらに法則性が見えるかどうか、今度は平均リターンを出してみます。
間違いを恐れずに推測してみますが、年率ボラティリティ20%~40%くらいまでが上昇を効率的に取れるという結果です。50%を谷として、60%~70%で再び上昇していますが、さすがに今後も昨年末のようなバブル的な上昇はないという狙いから、50%以上であればトレードを止めておくという戦略はいかがでしょうか?
ちなみに今は、ちょうど50%を割ったところ。49.78%です。
年率ボラ45%未満バイアンドホールド戦略
年率ボラティリティ45%未満しかトレードをしない(青線)をプロットしてみましたが、パッとしない結果です。絶対額を基準にしたフィルタリングは新興トレード商品には不向きということですね。
続いて、年率ボラティリティが下がった時だけ取引をするという戦略を当てはめてみました。なんかうまくアウトパフォームしていそうですね。
今年だけに絞ってグラフをズームアップしてみました。確かにズドンと下落することはなさそうですが、どちらもマイナスであるのは仕方ないというところでしょうか。
買うだけ戦略の転換
今年上半期について、保有するだけの戦略はうまくいかなかったと言えます。ショートも取り入れた戦略を考えるときがきたということは確かだと思います。
まとめ
ビットコインのボラティリティに照準を当てて分析してみました。確かな手ごたえは得られませんでしたが、買うだけ戦略から一歩飛び出してボラティリティを基準に戦略を考えるのは将来に有効かもしれません。トレードの悩みは尽きないものです。それではよい一日を!