バックテストとは、システムトレードの有効性をチェックする方法です。
このチェック機能は多くの取引ツールに搭載されている方法でもあります。
今回は、TradingViewでのバックテストというテーマを中心に、その方法やスマホで行う方法、さらに自動化する方法についても触れます。
この記事を読むことでTradingViewのバックテストの方法が理解できるようになります。
それでは解説していきます。
目次
TradingViewのバックテストについて
TradingViewのバックテストは投資戦略テスターと呼ばれる簡易シミュレーション機能として搭載されています。
この機能を使用することで、TradingViewのシステムトレードのバックテストを中心に簡易的なチェックをできるようになっています。
ここでは、バックテストとはどんなものか、システムトレードはどんなものかについても触れながらまとめました。
TradingViewのバックテストとは?
TradingViewのバックテストについて解説する前にそもそもバックテストとはどんなものなのかを解説していきます。
バックテストとはシステムトレードの有効性をチェックするために、過去のデータを用いて動作させるシミュレーションです。
一定期間、システムトレードを動かすことによって、どの程度の投資成績(パフォーマンス)が得られるかが確認できます。
例えば、TradingViewを使ってリーマンショック前後の株式の値動きやFXの値動きを再現します。
そして、TradingView上のシステムトレードでどのような成績を収めるかを確認できるのがTradingViewのバックテストといえます。
その手法が本当に使えるかどうかを確かめるため検証するわかりやすい手法といえるでしょう。
かつては、非常に膨大な時間が要求されました。
しかし、現在は数秒で完了するなどパソコンの性能の向上などにより、かなり短縮されています。
TradingViewではバックテストを行うことによって過去のデータから最大のドローダウン(一番のマイナス時でどれだけ資産が減ったか)、期待値(どれだけ投資したらどの程度儲かるという確率)などが分かるようになっています。
TradingViewのバックテストを利用するシステムトレードとは
システムトレードとは一言でいえば、自動売買のことを指します。
ストラテジーとも呼ばれるこの機能は、自分が就寝をしていたり、あるいは外出、勤務などでトレードができない場合に自動で売買を行います。
やみくもにトレードを行うのではなく、一定のルールに基づいた売買を行うのです。
例えば、見込みの利益が設定した範囲に達した段階で資産を売って利益確定を行うといった動きをします。
ただ、この動きはプログラムなどによって自由に設定できるのも特徴です。
TradingViewでは、自作や内蔵されたもののほかに他のユーザーが作成して公開しているシステムトレードを導入することもできます。
こういったシステムトレードは、導入してもその実力は未知数です。
その実力を確認するという意味でもバックテストは有効といえるでしょう。
TradingViewでは導入したシステムテストをバックテストに相当する投資戦略テスターのシミュレーションにセットします。
そして、時間軸のシミュレーションする時間軸に設定し、動作させるといった方法を取ります。
TradingViewのバックテストの特徴
TradingViewのバックテストの特徴は、利確の動き、強制決済をしない、簡易的であるといった点が挙げられます。
TradingViewのバックテストは損切りと利確がほぼ同時に起こるような場面で、実際は損切りが先なのに、利確が優先される動きを見せます。
これは、極端にバックテストの結果を損ねるといったものではありませんが、若干正確性にかける動きです。
強制決済をしない点はTradingViewのバックテストの特徴です。
大手の人気取引ツールMT4では最後に強制決済を行う動きを見せるので、終盤に正確性が欠けます。
しかし、TradingViewはそのまま終了までシステムトレードが継続されます。
最後が簡易的という点です。
これは後述するデメリットになりますが、専用のバックテストツールなどに比べると機能面がやや劣ります。
そのため、厳密な結果やわかりやすさを求める場合、専用のツールに譲る面はあります。
これらの特徴を持っているのがTradingViewのバックテストです。
TradingViewのバックテストのメリット
TradingViewのバックテストのメリットは無料でできる、正確なチャートが利用されている、FX以外の金融商品でも試せるといった3つのメリットがあります。
バックテストの専用ツールは本来、数万円以上の金額が必要なことも少なくありません。
しかし、TradingViewは無料プランであっても簡易的なバックテストを利用できます。
月足と週足、日足のみのリプレイモードですが、これだけでもかなり使えます。
一般的なスイングトレードの利用であれば、無料プランでも問題なく動かせるのもメリットです。
TradingViewのバックテストは、正確なチャートが利用できます。
専用のツールでもダウンロードするデータの精度によって、実際のチャートと異なることが少なくありません。
しかし、TradingViewで利用できるチャーは正確なデータで構成されており、無料プランでもローソク足5000本分(日足で約19年分)のシミュレーションが可能になっています。
簡易的なチャートといっても、FX以外の金融商品のチャートもバックテストできます。
個別株やETF、CFDといった株式のほか、注目の仮想通貨でも確認できるようになっています。
金融商品を利用してバックテストが行えるのも大きなメリットといえるでしょう。
TradingViewのバックテストのデメリット
デメリットも残念ながらあり、有料プランでないと100%の機能が使えない、結果を自分で記録するといった2点が挙げられます。
有料プランでないとTradingViewのバックテストが100%の機能で使えません。
例えば、1時間足や分足といった日中足でリプレイモードが利用できない他、期間も半分になります(通常は倍の、ローソク足1万本分が利用できる)。
また、有料版であっても記録が限られるのもデメリットです。
例えば、トレード結果は自分で手書きするか、エクセルの出力に限られます。
自由度が少ない点で使い勝手が悪い印象があり、実際に不便さも感じます。
このように、いくつかのデメリットもあります。
しかし、メリットに目を向けるとTradingViewのバックテストは全体的に使いやすさや正確さが高いレベルにあるといえるでしょう。
TradingViewを利用したバックテストのやり方手順
TradingViewを利用したバックテストのやり方は、チャート表示、リプレイを選んで範囲選択、チャートを操作、記録といった4ステップで行います。
最初にTradingViewのバックテストをしたいチャートや通貨ペアを表示させましょう。
この状態でバックテストを行います。
次に画面上部のメニューバーから「リプレイ」を選択、赤線でバックテストを開始したい日時を設定します。
この設定を行った以前(過去のデータ)のみが表示されるので、これがバックテストを行うチャートの範囲です。
3ステップ目は、ジャンプ(設定日を変更)、再生、前に(ローソク足が次の足に移動する)、リアルタイムへ(最初のチャートに戻る)、×マーク(バックテストの終了)などを操作します。
4ステップが記録です。
「再生」または「前に」を押して、検証したい手法のシグナルが出現したらエントリーしたと仮定して、パソコンに入力するか紙に手書きします。
この時、エントリーの日時、エントリー方向、ポジションサイズ、建値といった数字を手書きでメモしましょう。
そして、再生を押して進めていきます。
利食いか損切りのシグナルが出たら、ポジションを決済したと仮定して、決済日時、決済値、損益pips、損益額(損益pips×ポジションサイズ)を記録して検証しましょう。
これが基本的な方法ですが、次の項目では効率の良い方法を紹介します。
バックテスト期間はpineスクリプトから設定するのか?
TradingViewのバックテスト期間は手動でもできますが、専用言語のpineスクリプトを使った方法もできます。
基本的な流れとして、画面下のPineスクリプトエディタを開きます。
すると、プログラム作成の画面になるので、pineのスクリプトを書いていきましょう。
これは、様々な方法があるため、調べてみるのがオススメです。
完成するとストラテジーが作成されます。
これは、システムトレードをしつつ、記録するといった仕組みのものになります。
それをTradingViewのストラテジーに組み込み、動作させることで自動のバックテストができる仕組みです。
バックテストしたいTradingView内蔵のストラテジーを選択し、ストラテジーテスター、概要の順番で操作をしていきます。
すると、「ストラテジーテスター」が表示され、概要を選択することでバックテストが行われるといった仕組みです。
Pythonを利用したバックテストを行うには?
TradingViewでは、自動のバックテストが標準搭載されていないので、Pythonによるプログラミングで自作する方法もあります。
その方法は、
- GoogleChromeDriver
- Python(3.x)
- seleniumパッケージ
といった3つのツールを準備します。
次にコードを含むプロジェクトを入手しますが、これはGitHubからダウンロードするなどしましょう。
TradingViewを起動させて、試したいチャートを表示させ、テストしたいシステムツールをチャートに導入します。
次に、プロジェクト内のcommon.iniファイルを開き、GoogleChromeDriverのパスワード、TradingViewのチャートURL、TradingViewのアカウントとパスワードを入力します。
そして、バックテスト用の設定ファイルを作成して起動させることによって、検証結果が出力されます。
かなり手間がかかりますので、注意してください。
TradingViewを利用したバックテスト機能をスマホで使うには?
TradingViewを利用したバックテスト機能をスマホで使うには、あらかじめパソコンなどで実行し、スマホの縮小表示で利用できます。
ここでは、iPhone、androidのそれぞれについて設定を紹介します。
iPhoneの場合は、ブラウザでTradingViewを起動し、左上の3本線をタップしてメニューを開き、チャートをタップしましょう。
そして、ブラウザ左上のAAメニューをタップします。
ここで文字縮小をタップして「50%」にすると表示が縮小表示されるようになります。
すると画面下部にバックテストの情報が表示される仕組みです。
androidも基本はiPhoneの時と同じです。
ブラウザの右上にある3点メニューをタップし、PC版サイトにチェックしましょう。
すると、画面下部にバックテスト情報が表示
このテクニックを使うことで、スマホでもバックテストの結果を見ることができます。
TradingViewを利用したバックテストを自動化するのは可能?
TradingViewは基本的に手動の簡易的なものが基本です。
ただ、先ほど紹介した通りPINEによるストラテジーとバックテストを組み合わせたものやPythonを導入することで自動化できます。
ただし、ある程度プログラムの知識が必要になるので、ワンステップずつ行うようにしましょう。
TradingViewを利用したバックテストまとめ
TradingViewには簡易的なバックテスト機能がついています。
無料でできるメリットはありますが、手動で行う形になるので手間がかかるのが事実です。
しかし、pineやPythonといったプログラムを利用することで、自動化させることも可能です。
最初は手動で検証してみて、面倒であればプログラムを入手したり作成して自動化させましょう。
そうすることで、スマホでも内容を確認できます。
コメントを残す