R筋

プログラミング、金融、育児

ビットコインが一番上がるのは、何日?何曜日?何時?

5月の上旬には600万円代で推移していたビットコイン新垣結衣の結婚により急落、現在は400万円の攻防となり、バブル崩壊の気配を醸し出してきた。加えて、中国の規制、各国中央銀行総裁の牽制、金融庁の取引所bybitへの警告とネガティブなファンダメンタルが続出しており、まだまだ安値を探る展開は継続するだろうと予想する。とはいえ、過去のチャートを見ても最高値から50%以上の暴落というのは何度も発生しており、これまではそれを乗り越えてATHを実現してきているのがビットコインであるからして、私も含め初心者は強い精神力で狼狽売りを控え、今後の上昇を信じて、今こそ少しづつ買い増しをすべきタイミングだろう。信じるものは救われるのである。
狼狽売りを回避し、どんな相場でも粛々と買付を行う方法として、有名なドルコスト平均法による投資というものがある。一定の金額を一定間隔で買い続けることで、価格変動に左右されずに平均取得単価を下げ、長期的にリターンを上げるというものだ。積立額だけを決めれば、自動的に決まった日に買付をするサービスなどもいくつかの取引所で提供されている。例えばGMOコインのつみたて仮想通貨は、「毎月10日 9:00時点の販売所サービスのASKレートを参照し、毎月10日 9:00 〜 11:00までの間に積立を実行します。」とのことだ。
coin.z.com
ただ、ビットコインの値動きを見ていると、日付、曜日、時間帯などで傾向が見られるような気もして、自分で積み立てるならさらによい積立タイミングが実現できる気がして、その傾向について調べてみることにした。
以下は、私の分析であり、誤っている可能性があるので、その利用には十分注意してほしい。

まず、ビットコインの1時間足を取得する。以下のサイトを参考にcryptwatchのAPIを呼び出すことで過去6000データが取得できた。
qiita.com

2020/9/22からの1時間毎のOHLCが取れている。

>>> ohlc
                        open     high      low    close
2020-09-22 23:00:00  1108391  1111770  1106668  1107941
2020-09-23 00:00:00  1107963  1112000  1107181  1107424
2020-09-23 01:00:00  1107288  1110876  1105650  1108509
2020-09-23 02:00:00  1108555  1112561  1108273  1108779
2020-09-23 03:00:00  1108778  1112413  1107750  1112100
...                      ...      ...      ...      ...
2021-05-30 18:00:00  4151065  4174000  4096666  4110183
2021-05-30 19:00:00  4110183  4150980  4110183  4131245
2021-05-30 20:00:00  4131245  4147681  4107282  4107712
2021-05-30 21:00:00  4108709  4185000  4106971  4178600
2021-05-30 22:00:00  4178482  4195839  4070000  4093522

pandasを時間帯別に集計したあと、変化率を算出する。

ohlc['hour'] = ohlc.index.hour
ohlc['close_diff'] = ohlc['close'].diff()

#平均変化率
ohlc['close_pct_Change'] = ohlc['close'].pct_change()
ohlc.groupby('hour')['close_pct_Change'].mean()
hour
0    -0.001115
1     0.001042
2    -0.000041
3    -0.000141
5     0.000559
6     0.000021
7     0.001420
8     0.000543
9     0.000104
10    0.000324
11    0.000817
12   -0.001183
13   -0.000697
14   -0.000719
15    0.000483
16    0.001263
17    0.000667
18    0.000252
19    0.000098
20    0.000627
21    0.000496
22    0.000862
23    0.000988

7時代に一番価格が上昇しやすく、0時代に一番価格が下落しやすいようだ。
同様に、日足を取得する。

ohlc = crypto_watch(60,round(time.time()),6000)

今度は2015/11からのデータが取れた。

2015-11-20 09:00:00    42640    42640    41218    41218
2015-11-21 09:00:00    41218    41218    39380    39500
2015-11-22 09:00:00    39500    40000    40000    40000
2015-11-24 09:00:00    40000    40350    40350    40350
2015-11-25 09:00:00    40350    40000    39500    39500
...                      ...      ...      ...      ...
2021-05-26 09:00:00  4424558  4533744  4129821  4358161
2021-05-27 09:00:00  4359085  4662997  4302437  4490834
2021-05-28 09:00:00  4490159  4630000  4242087  4422000
2021-05-29 09:00:00  4421710  4466341  3996667  4115394

同様に、

#曜日別
#月曜日が0→日曜日が6
ohlc2['weekday'] = ohlc2.index.weekday
ohlc2['close_diff'] = ohlc2['close'].diff()

#平均変化率
ohlc2['close_pct_Change'] = ohlc2['close'].pct_change()
ohlc2.groupby('weekday')['close_pct_Change'].mean()
weekday
0   -0.000168
1    0.008505
2    0.000911
3    0.003561
4    0.001107
5    0.003922
6    0.005363
Name: close_pct_Change, dtype: float64

からは、月曜日に上昇、日曜日に下落。
また、

#日付別
ohlc2 = crypto_watch(60*24,round(time.time()),6000)
ohlc2['day'] = ohlc2.index.day
ohlc2['close_diff'] = ohlc2['close'].diff()

#平均変化率
ohlc2['close_pct_Change'] = ohlc2['close'].pct_change()
ohlc2.groupby('day')['close_pct_Change'].mean()
day
1     0.005229
2     0.011068
3     0.008030
4     0.009084
5    -0.000984
6     0.006553
7     0.008282
8     0.007292
9     0.005905
10   -0.002623
11   -0.010330
13    0.000902
14    0.011038
15   -0.006165
16    0.000814
17    0.006377
18    0.009095
19    0.004376
20    0.005427
21    0.011835
22   -0.006592
23   -0.007092
24    0.002403
25   -0.003263
26   -0.002798
27    0.009709
28    0.008484
29    0.006958
30    0.003522
31   -0.004769

からは2日が上昇、11日が下落といえる。

以上を踏まえると、ビットコインの未来を信じてガチホする信念があるのであれば、下落しやすいタイミング(=毎週日曜日または毎月11日の0時)の次の時点=毎週月曜日または毎月12日の1時に買付を行うことで、安値で手に入れることができるのではないか。2021/7/12はちょうど月曜日なので、さらにお得。みんなボーナスを用意して日曜の夜ふかしを決行よ!

ドルコスト平均法は長期的に実施するものであるため、手数料の影響も大きく受けることはよく知られているが、仮想通貨取引所が提供する積立サービスは「手数料無料」と記載されていても、基本的に自分で購入するよりもコストが高くなる。これらは販売所での購入となるため、販売価格にスプレッドが乗っているからだ。そのため、取引所価格よりも高い価格で購入することとなる。一方、取引所での購入は基本的に手数料が発生しない取引所も多く存在する。例えばGMOなどは指値での注文にはマイナスの手数料(つまり返金)をかけられているのでかなりお得である。ただ、取引所取引の場合は最小取引数量が0.01BTCと定められていることが多く、それ以下の単位での取引が行えずドルコスト平均法がそもそも使えないということがある。liquidは0.0001での発注が可能であり、手数料も無料であるため、適しているかもしれない。ただ先日APIの流出がアナウンスされていたので、そのあたりは注意が必要か。。
※手動で購入と書いたが、これらの決まった操作をするために取引所APIが提供されており、市場価格に近い指値注文を入れるプログラムをcronで自動実行するなどの方法で、自動積立を行うことが可能である。このあたりは「自動積立BOT」でググると情報が見つかる。