【コラム】リピート系注文で設定するパラメータと利益率について考察してみる
どうも、愚者の戦略です。
今回は趣味で作成したBTC自動売買プログラムで設定するパラメータについて考察します。
バックテストではbitbankから収集した5分足データ(期間は2020/1/25~2020/06/25の6カ月間)を用いました。
およそ45万~115万の間で推移していたことが読み取れますね。
-設定可能なパラメータについて-
上記のプログラムで設定可能なパラメータは以下の4つです。
①取引レンジ(トラップを仕掛ける値幅)
②取引間隔(何円おきに購入するのか)
③取引利用金額(いくら利用するのか)
④利益幅(何%価格が上昇したら売るか)
これらのパラメータをいじることにより、リスクや利益をいかようにも調節することができます。また、本プログラムで発生するリスクは以下のようなものがあります。
1. 取引機会損失リスク
2. 残金不足リスク
3. 含み損の増大リスク
ーー①ーー
ーー取引レンジーー
取引レンジはレンジ幅とも呼ばれ、リピート系注文で最初に考える最も基本的なパラメータです。取引レンジから現在価格がはみ出してしまうと、取引対象外区間になるため、指をくわえて取引レンジ内に戻ってくるのを待つしかありません・・・これは筆者の経験上、精神的にかなりしんどいです。
したがって、取引レンジからはみ出ないように広く設定するのが基本方針になります。
また、一般にリスクと利益について以下のような傾向があります。
・取引レンジを広げる
→機会損失リスクの減少(現在価格がレンジから外れる可能性が減少)
→利益の減少(1取引あたりの利益が減少するため)
・取引レンジを狭める
→機会損失リスクの増加(現在価格がレンジから外れる可能性が増加)
→利益の減少(1取引あたりの利益が増加するため)
実際にバックテストを実施した結果は以下のようになりました。
取引レンジ:下表の通り
取引間隔:3,000円おき
取引利用金額:100万円(疑似レバレッジなし)
利益幅:1%
バックテストの結果より、取引レンジが狭くなるにつれ、購入回数が減少し、含み損の最大値が大きくなっていることが分かります。
利益については50~110万円が最大になり、60万~は減少していることが読み取れますね。
BTCはボラティリティが高いからこそリピート系注文をする意味がある訳ですから、取引間隔はできるだけ広いほうが良いと言えるでしょう。
また、2020年の5月に半減期を迎えたこともあり、以前よりも価格の最低ランは上昇していると思われます。したがって、取引レンジの下限値を60万程度まで引き上げても良いかもしれません。そうは言っても50万円あたりまで下落する可能性も大いにあるため、2020年8月2日現在のおすすめの設定値は以下のように結論付けます
安全志向な方:50~130万
リスクをとる方:70~130万
ちなみに筆者は安全志向タイプです。
ーー②ーー
ーー取引間隔ーー
次は取引間隔についてです。こちらは「何円おきにトラップを仕掛けるか」を設定するパラメータになります。
例えば、①で設定した取引レンジが50万~110万、②取引間隔を3,000円に設定した場合、購入する際の基準となる価格は
50万3千円
50万6千円
50万9千円
・
・
・
となります。
一般にリスクと利益について以下のような傾向があります。
・取引間隔を広げる
→含み損リスクの減少(購入確率が下がるため)
→利益の減少(購入確率が下がるため)
・取引間隔を狭める
→含み損リスクの増加(購入確率が上がるため)
→利益の増加(購入確率が上がるため)
実際にバックテストを実施した結果は以下のようになりました。
取引レンジ:40万~110万
取引間隔:下表の通り
取引利用金額:100万円(疑似レバレッジなし)
利益幅:1%
バックテストの結果は少し以外なものでした。
一般には取引間隔を狭くすると利益が増えると言われていますが、今回の結果を見るとそうでもなさそうです。
含み損最大値に関しては取引間隔が増えるにつれ、値が小さくなる傾向があるようです(こちらについては一般に言われている通り?ですね)。
また、取引間隔が狭い=トラップ数が多い となるため、必然的に最低投入金額が大きくなる点には注意してください。
例えば、取引レンジを40~110万に設定し、取引間隔を1,000円にした場合はトラップ数が700個になります。
bitbankの場合、最低購入数量が0.0001BTCのため、仮に1BTC=100万だとすると、最低投入金額は700*0.0001*1,000,000=70,000円になります。
ちなみに、LiquidやBinanceの場合は最低購入数量が0.001BTCのため、最低投入金額がなんと70万円になります。
以上より、おすすめの設定値は以下のように結論づけます。
・取引間隔を変えても利益には大して影響しないのでお好きな値をどうぞ
・筆者は3,000円間隔にしています
ーー③ーー
ーー取引利用金額ーー
続いては取引利用金額についてです。こちらの設定項目は私が作成したプログラム特有のものなので少し説明します。
取引利用金額は1回あたりの取引量に影響を与えるパラメータで、基本的には”今投資に使えるお金の量”=”日本円残高”を設定する項目となります。
他のリピート系注文プログラムでは日本円残高と同じ値に設定されています。(そもそも設定項目がないですが)
しかし、上図のように本プログラムは価格下落時に購入しない設定になっているため、実際の投入金額よりも高い値を設定することができます。
要するに”疑似レバレッジ”をかけることができるわけですね。本来、レバレッジをかけると、常に「ロスカット」のリスクが伴うわけですが、疑似レバレッジではロスカットが発生しません。なぜなら、「ただ手持ちの金額より取引に使うお金を多く設定しただけ」にすぎないからです。
取引利用金額については以下のような傾向があります。
・取引利用金額を日本円残高以上設定する
→利益の増加(1回あたりの取引量が増加するため)
→残金不足リスクが発生
・取引利用金額を日本円残高以下に設定する
→利益の減少(1回あたりの取引量が増加するため)
→残金不足リスクが無くなる
実際にバックテストを実施した結果は以下のようになりました。
取引レンジ:40万~110万
取引間隔:3000円おき
取引利用金額:下表の通り
利益幅:1%
(実際の投入金額は100万円です)
バックテストの結果より、当たり前ですが疑似レバレッジを高くすると最低所持JPYも低下することがわかりました。
上記の例だと、1.9倍以上に設定した場合はそ最低所持JPYがマイナス、つまり残高が0になってしまうので、価格がレンジ内であっても取引出来なくなる可能性があります。
実際の運用上は毎月の利益に加え、給与からお金を積み立てていくスタイルが多いかと思うので、1.9倍あたりでも問題ないと思われますが、安全を取るならば1.5倍あたりが良さそうですね。
筆者のおすすめ設定値は以下とします
・1.5倍~1.9倍の間の好きな値(資本金が少ないならもっと高い値でも可)
ーー④ーー
ーー利益幅ーー
最後は利益幅について説明します。このパラメータは、購入金額から何%価格が上昇したら売却するかを指定するものです。小さな値を設定すると、小幅な値動きでも売却することができます。
一般に、利益幅については以下のような傾向があります。
・利益幅を大きくする
→利益が増加(1回あたりの利益が増加するため)
→含み損リスクが増加(決済されにくくなるため)
・利益幅を小さくする
→利益が減少(1回あたりの利益が減少するため)
→含み損リスクが減少(決済されやすくなるため)
実際にバックテストを実施した結果は以下のようになりました。
取引レンジ:40万~110万
取引間隔:3000円おき
取引利用金額:100万円(疑似レバレッジなし)
利益幅:下表の通り
バックテストの結果から、利益幅が増えると最終的な利益も増加することが分かりました。(その分含み損も抱えやすくなります)
利益幅は5~7%程度に設定するのが良さそうですね!だた、利益幅を高くするとその分決済されずらくなります。したがって、ほとんど値動きがない月はほぼ利益が発生しないので、メンタル的にしんどいかもしれません。
最終的な利益が減ったとしても、毎日少しずつ増えた方が良い方は1~2%を設定するのが良いでしょう!
筆者のおすすめ設定値は以下とします
・5~7%で好きな値
・毎日決済される方が良い場合は1~2%
以上、4つのパラメータについて考察しました。
パラメータを設定する際に参考にしてもらえると幸いです。
チップありがとうございます!超嬉しいです。