19か月くらい通用しているビットフライヤーFX(bFFX)の1時間足の攻略法

本記事では国内で最も取引が盛んな仮想通貨関連銘柄である「ビットフライヤーFX(bFFX)」の1時間足の攻略法を解説します。

はじめに

バックテストをやる際は最終的な検証は時系列データ(ヒストリカルデータ)を取得して、エクセル等で検証するのが好ましいです。
しかし最初からそれをやっていると手間がかかってキリがないので、初期段階でスクリーニングなどを行うにはTradingViewのストラテジー(売買判断プログラム)を使うのが手軽で効率が良く、おススメです。

今回はVolty Expan Close StrategyというTradingViewに最初から入っている内蔵ストラテジーを使います。

Volty Expan Close Strategyとは

Volty Expan Close Strategyのパラメータは
期間NumATRsの2つだけです。

期間は使うローソク(バー)の本数、NumATRsは幅です。
ATR:アベレンジトゥルーレンジ(=真の値幅の平均値)とは、ローソクの値幅を計算するインジケーターで、値動きの大きさがわかります。
ただ、このストラテジーではただのATRではなく、ATRをベースに少しアレンジが加えられているようです。

ATRの計算方法は
①当日高値と当日安値の差:(当日高値+当日安値)÷2
②当日高値と前日終値の差:(当日高値+前日終値)÷2
③当日安値と前日終値の差:(当日安値+前日終値)÷2
を計算してこの3つのうち一番大きなものをATRとして採用します。

しかし、当日安値や当日高値をストラテジーに使うと未来の値の巻き込み=リペイントになってしまうので、ストラテジーでは
①前日高値と前日安値の差:(当日高値+当日安値)÷2
②前日高値と前々日終値の差:(当日高値+前日終値)÷2
③前日安値と前々日終値の差:(当日安値+前日終値)÷2
を使って当日の売買判断をする仕組みになっているようです。

NumATRsはATRに対する倍率です。
Volty Expan Close Strategyはこのようにして算出した値幅ATRにNumATRsで設定した値をかけて、前日の終値からATRのNumATRs倍よりも高騰すれば買い、下落すれば売りというロジックです。
NumATRsが2でATRが100なら、前日の終値より100円上がった時に買い、100円下がったときに売るという売買をひたすら繰り返すロジックです。
これだと訳が分からなさすぎるので、あとで具体的な数字を入れて説明します。

※スクリプト(プログラム)だけ見ても正確に動くかは必ずしも判断しきれないので、
たとえ内蔵ストラテジーでもどんな売買判断が行われているのか実践前に挙動を見ておく必要があります。

仮想通貨は365日24時間休みのない「連続チャート」なので
①前日高値と前日安値の差:(当日高値+当日安値)÷2
②前日高値と前々日終値の差:(当日高値+前日終値)÷2
③前日安値と前々日終値の差:(当日安値+前日終値)÷2
の3通りを計算しても、ほとんどの場合で①が最も大きな値になるようです。よほどの大荒れで値段が飛ばない限りは①が最大になるでしょう。

一方、株の日足のように値が飛びまくる「不連続チャート」では①はあまりなく、
②や③の割合が多くなるでしょうね。

具体的な設定

さて、ごちゃごちゃと計算が出てしまいましたが、今回はこのVolty Expan Close Strategyを超短期設定で使います。
期間は1、NumATRsが2です。
こんな極端な短期設定をする人はあまりいませんよね。なのでこんなロジックがあるなんてことはあまり知られていないと思います。ちなみに筆者はスキャルピング出身なので短期や高値安値を好みます。

さて、この設定は1本前のローソクだけでATRを算出して、
ATRの2倍よりも値段が動くたびに回転売買(ドテン)するというロジックです。

念のため挙動を確認しました。

ざっくりですが、

・1本前のバーの高値と安値の差が3,000円
だった場合は
・NumATRsが2なので、前の足の終値から3,000円×2=6,000円変動したら売買サイン

1本前のバーの終値が1,150,000円であれば、
この終値よりも
6000円高い1,156,000円を超えたら買い
6000円安い1,144,000円を割ったら売り

という売買ロジックになっていました。

バックテストの結果

このパラメータ設定、つまり期間 =1、 NumATRs = 2のVolty Expan Close StrategyでビットフライヤーFXの1時間足をバックテストしてみましょう。
テスト期間は2018年1月1日から記事執筆時点までで、トレード量は1BTC固定です。

こちらが2018年1月1日から2019年8月7日まで、1BTC固定でビットフライヤーのビットコインFXを上記のルールに従って売買した場合のバックテスト結果です。
見事な右肩上がりの損益曲線になりました。優良ロジックの鑑のようになっていますね。ちなみにこの結果の純損益の割合(%)は無視してください。こちらは取引量固定での検証なので損益比率%には意味がありません。
グラフの形に着目してください。レートが大きく動いたときは上だろうが下だろうが利益になっています。一方、レートが動かないときは大きく増えるでもなく減るでもなく、維持しながら耐え続けています。これはものすごく強いロジックの可能性があります。レンジに特化したロジックは逆張り型なのでトレンドで真っ二つに斬られて死にますし、トレンドに特化したロジックは順張り型なので大きくとれるもののレンジでボディーブローを食らい続けてダメージ蓄積で死にます。一方、このロジックではレンジで死なずにトレンドを取れています。ダマしに耐え続けながら本当に動くときはもぎ取れる理想的なロジックです。ビットコインのようにごく少数の大口トレーダーが割と単純な意思で動かしている(と考えられている)銘柄ではVolty Expan Close Strategyが効果てきめんなのかもしれません。

次にサマリーの解説です。

サマリーから読み取れる「コツコツドカンの正反対」

今回のバックテストのサマリーはこちらです。

このようにTradingViewのバックテストはサマリーまで一瞬で出せるのも魅力です。サマリーを見ていきましょう。まずは損益です。

損益

・利益974万円に対して損失-520万円、差し引き454万円のプラス
・最大ドローダウンはわずか20.4万円

ロング(買い)でもショート(売り)でも利益が出ていることにも着目してください。
買いだけや売りだけで利益が出るようなものは偶然トレンドに乗っただけというケースがよくあるためです。

ドローダウンと最終利益の比率

1000万円稼げるロジックでもドローダウンが700万円とかであれば非常に厳しいです。
今回はドローダウンが最終利益のわずか20分の1以下と、非常に優れています。

勝ち負けの平均金額と勝率

・勝率は38%ながら、平均勝ち金額が平均負け金額の3倍以上ある
→勝ちトレードの平均利益41,652円に対し負けトレードの平均損失は13,684円
まさに損小利大です
・期待値は1.87=1万円使ったら1万8700円返ってくるということ
・最大勝ちトレードは67万4000円で、最大負けトレード164,000円の約4倍

まさに「コツコツドカンの真逆」、勝ちトレーダーの勝ちパターンのお手本のような成績です。

トレード頻度・トレード回数

・「トレードにおける平均バー数」は24
1時間足なので、1時間足24本につき1回トレードするということです。つまり、売買間隔が平均24時間ということになります。1年8か月で614回トレードしてるので、計算もちょうど合っていますね。

ちなみに「合計未決済トレード」というのはクローズしていない最後のポジションです。
記事執筆時時点では8/6の暴落時点にショートを取っており、含み益になっています。
2018年の1月は大勝ちで、2018年の激ムズ相場を損を出さずにしっかり乗り切り、昨日の暴落もきっちりとらえています。

このように暴落&暴騰をしっかりとらえるロジックになっており、いかにもビットコインと相性がよさそうです。
ただし、そのおかげで底値売りや天井掴みもしばしば食らっています。

シストレに感情はない

それでも利益に対するドローダウンが小さく、小さく6回負けて3回小さく買って大きく1回勝つような、「巧い人」がやるような理想的なトレード結果が出ています。もしも勝率を重視してトレードしていたらまずこんな成績にはならないでしょう。
高技術のスキャルピングやアビトラなどの例外を除いて、高勝率の手法はコツコツドカン型になりがちです。
コツコツドカン型はたとえ勝率が9割以上でも、万が一の時に異常な含み益を抱えて一発退場という破産リスクが大きいです。

一方、このロジックは「大きな利幅のチャンスに全部乗る&当てが外れたらさっさと切る」というスタイルですね。

実際、
・負けトレードの平均バー数:17本(17時間)
に対して
・勝ちトレードの平均バー数:35本(17時間)

負けはずるずる伸ばさない、それでいて勝ちをどんどん引き延ばすという、ほとんどの人間心理に真っ向から対立するトレードになっています。
健全な人間心理では「1万円儲かった幸福度より5000円損をした不幸度のほうがはるかに致命的で耐え難い」らしいです。

しかしごくまれにこの心理構造に対抗できる強靭なメンタルの人(いい意味で、正常ではない人)が存在します。そういう人でないと裁量で大きく勝ち続けるのは難しいでしょう。
その点、システムトレードに感情などないので、冷血に売買を繰り返してくれます。

感情の起伏が激しい人もメンタルが弱い人も裁量ではいつか負けるでしょう。もしかするとシステムトレードに活路があるかもしれません。

手数料について

ちなみにTradingViewでは簡単にスプレッド(手数料)設定ができますが、本記事では意図的に考慮しないバックテストをしています。
まずは手数料なしで、その次に手数料を考えるのがおすすめです。
手数料というノイズなしで純粋に売買したらどうなるのかをチェックして、利益が出そうなら手数料をチェックするという順番がいいと思います。

bFFXで1BTCならスプレッドはかなり小さいですが、スプレッドが500円と仮定すると、往復の手数料(片道ではなく)が500円とみなせるので、614回の取引でざっくり30万円くらいが手数料に相当すると概算できます。スプレッドや手数料の影響は小さいと考えられます。

念のため手数料設定したバックテストも掲載しておきます。
TradingViewの設定は片道当たりの手数料なので、ここでは250円を入力しています。
片道250円なので往復で500円です。
結果はこちらです。

だいたい予想通りになっていますすね。
ビットフライヤーFXは板が厚いので数BTCの取引なら手数料にも十分勝てたでしょう。
まあ、この記事を公開してしまったのでこれからこの方法が通じなくなっていくかもしれませんが、ボラティリティ追従型の順張りロジックなので、みんなこの方法を採用するともっと大きく動くようになるかもしれません。どんな影響が出るかは誰にもわかりません。

次回は利益再投資とレバレッジ取引

さて、今回は売買数量を1BTCに固定してバックテストした結果です。取引量が固定なのでレバレッジもあまり関係ありません。
では、売買量固定ではなく複利投資=損益再投資をしたり、レバレッジを利かせた場合はどうなるでしょう?
それについては次回の記事でお伝えします。

 

注意:前回の記事でもお伝えした通り、TradingViewでユーザーが投稿している公開スクリプトにはリペイント(再描画:後出しじゃんけん)が搭載されているものが多数存在するので検証の際には十分注意してください。TradingView上で人気上位になっている公開スクリプトの多くはリペイント型のスクリプトで、とんでもない利益が出るようになっています。

リペイントを巻き込んだバックテストへの注意については前回の記事をご覧ください。