Contents
はじめに
バックテストとは、過去のデータを使ったシミュレーションのことです
書籍「テクニカル指標を学ぶ」の巻末にバックテストについての章があり、読んでみたところ面白かったので紹介します
これまでやってきたバックテスト
今までバックテストという言葉を使ってきませんでしたが、それっぽいことはしていました
これらの記事で、単純移動平均のゴールデンクロスとデッドクロスに基づいてビットコインをトレードした場合のシミュレーションをしました
これらのシミュレーションでは単純移動平均の適切なパラメーター(平均日数)を決めましたが、判断材料にしたのは、見込みの利益のみでした
バックテストの意義
仮想通貨を取引するときは、普通は取引するマイルールを決めます
例えば、
・テクニカル指標に基づいた売り買いの判断
だったり、
・いくらまで落ちたら損切りをするか
などを決めておきます
バックテストをすることで、決めたマイルールで仮想通貨を取引したときに、どのような結果になるのかを予想することができます
バックテストをしてモデルを決める
マイルールの詰め合わせがモデルです
例えば、このビットコイン自動売買プログラムは、一つのモデルであり
・テクニカル指標「単純移動平均」に基づいて売り買いする
・ゴールデンクロスであれば全力買い
・デッドクロスであれば全力売り
という3つのマイルールを持っています
バックテストで確認すべきこと
バックテストで知るべきなことは、リスクとリターンです
決めたルールで取引をするときに、どれだけの利益が見込まれるかだけでなく、資産が減るリスクがどれくらいあるのかを知るべきです
モデルを決める
バックテストで予想されるリスクとリターンから、
・マイルールは果たして有効なのか
・他のルールに変えた方がいいのではないか
を検討することができます
例えば、使うテクニカル指標を変えてみて、どれが1番利益が大きいのかを比べたり
テクニカル指標に単純移動平均を使うと決めたとして、単純移動平均を計算するときの平均する期間を何日にしたら利益が大きいのか調べたりします
このようにして、取引するときのモデルを決めます
ルールを決める基準
先述したように、僕の場合は、ルールを比べるときに見込みの利益を基準にしていました
例えば、テクニカル指標の単純移動平均を計算して、見込みの利益が高い単純移動平均を採用しました
しかしこれでは、リターンしか見ていなくて、リスクについては触れていないので、危険だと言えます
この本では、計算して比較するべき項目がいくつか書かれていたので、紹介します
利益回数、損失回数、総売買回数
バックテストで取引をした際に、損益が生じた回数のことです
バックテストに2020/1/1〜2021/1/1の365日間のビットコインのデータを使って擬似取引した場合を考えます
365日間で総売買回数が100回で、そのうち利益回数が65回だった場合は、損失回数は35回になります
利益回数が多く、損失回数が少ない方が良いモデルと言えます
取引のたびに手数料がかかるので、総売買回数は少ない方が良いです
利益計、損失計、総損益計
利益回数65回分の利益の合計が利益計で、損失計も同じです
総損益計 = 利益計 + 損失計
となり、総損益計がプラスであれば黒字、マイナスなら赤字となります
利益計が大きく、損失計が小さいモデルがいいモデルと言えます
平均利益、平均損失、平均損益
利益回数65回の利益の平均値が平均利益で、損失計も同じです
総売買回数100回の損益を平均したのが平均損益で、平均損益がプラスな方が良いです
利益計 = 利益回数 × 平均利益
となります
同じ利益計でも、利益回数が少なく平均利益が多い方が手数料がかからずいいモデルと言えます
利益時平均保有期間、損失時平均保有期間、総平均保有期間
利益回数65回でビットコインを保有していた時間の平均が利益時平均保有期間で、損失時も同じです
総平均保有期間は、ビットコインを持っていた期間を平均したものです
利益時平均保有期間は長く、損失時平均保有期間が短い方が良いとされています
勝率
勝率は言葉の通り勝った割合で、式にするとこうなります
勝率 = 利益回数 / 総売買回数
勝率は高いことに越したことはありませんが、低くても利益をとることができます
プロフィット・ファクター(PF)
プロフィット・ファクター(PF)は下の式で表されます
PF = 利益計 / 損失計
プトフィット・ファクターが1より大きければ、利益出るモデルと言え、そうでなければ損失が出るモデルです
PFは1倍台後半〜2倍くらいのモデルがいいモデルとされています
リスク・リワード・レシオ(RRR)
リスク・リワード・レシオ(RRR)は下の式で表されます
RRR = 平均利益 / 平均損失
RRRが2倍以上のモデルがいいモデルと言われます
連敗数
連敗数は言葉の通り、連続して負け続けた数です
連敗数が多いと、そのモデルに対する信頼度が失われてしまいます
ドローダウン
ドローダウンは、1回負けた際に資産が減少した割合で、
ドローダウンが小さいモデルがいいモデルです
例えば、100,000円の資産が1回の負けで80,000円になった場合は、ドローダウンは-20%です
ドローダウンは最大でも-25%までと言われています
連敗数と同様に、ドローダウンがあまりにも大きいとモデルに対する信頼度が失われてしまいます
いいモデル=安定なモデル
これらの指標を照らし合わせたときに、単純で安定なモデルを選ぶべきだとされています
例えば同じプロフィット・ファークターのモデルでも、勝率は低いけど平均利益が高いモデルより、勝率がそこそこで平均利益もそこそこなモデルの方が安定的でいいということです
まとめ
大切なことをまとめました
・そのモデルで取引した時に、見込まれる利益(リターン)だけではなく、損失(リスク)も考慮することが大切
・バックテストをすることで、リスクとリターンを知ることができる
・いいモデルとは、ギャンブル的なモデル(ハイリスクハイリターン)ではなく、確実に利益を生み出せるモデル(ローリスク)
コメント
バックテストはこんなに奥が深いなんて知りませんでした
今までは、得られる利益(総損益計)だけでモデルを比較していたなんて浅はかです
次の記事では、作ったプログラムkinomiya2をバックテストし、リターンだけではなくてリスクにおいても適切なモデルなのか、確かめてみようと思います
コメント