トレードにおいてはリスク管理とマネーマネジメントは最重要項目ですよね。 凄く利益があげられそうな手法でトレードしていてもドローダウンが大きすぎて利益が上がる前に退場してしまっては しょうがないので、将来的なドローダウンやリスクリワードレシオを把握しておくことは大切で トレードを開始する前にはモンテカルロシミュレーションを行って、その手法が自分に合っているか事前検証します。 モンテカルロシミュレーションとはヒストリカルデータでシミュレーションした各トレードすべてをランダムに 入れ替えて資産曲線の傾きを調べる方法です。 各トレードの損益はPythonのselenium.webdriverで読み込んでExcelファイルに自動入力していきます。 そして十分な統計データをとるために高速計算が得意なExcelVBAでモンテカルロシミュ...
価格がトレンドを形成をしておらず、もみ合いのレンジ相場では上昇するのか下落するのかわからないので シグナルが出てないのにリスクを増やしてエントリーはしたくありませんよね。 そのもみ合い相場では買い手と売り手の勢力が拮抗しているところですが、価格レンジをブレイクアウト したら逆張りをしていたトレーダー達のロスカットがトリガーされたり、勢いに乗ろうとするモメンタムトレーダー達の 追撃でブレイクアウトした方向に価格が進んでいく傾向があるのでレンジのブレイクアウトを利用した ストラテジーをつくりました。 GBP/JPYの12時間足で2015年から現在までの期間でスリッページは10pipsでバックテスト。 まず、前提としてボラティリティがあまり高くないことが条件となるので 過去2本~10本のバーの終値の最高値と最安値の差がATRの...
tradingviewのストラテジーバックテスターは素晴らしく、少ないコードで簡単にバックテストプログラムを 書くことが出来て、あらゆるデータを提供してくれます。 ただ、システムを作成してあらゆるパラメータ値を試して損益の統計量を取り、そのシステムの堅牢性 や優位性を測定する機能はありません。 これはMT4やトレードステーションにはウォークフォワードオプティマイザーがあるようですが、 tradingviewには無いのでPythonのseleniumを使って実装しました。 seleniumのchrome.driverを使うとwebブラウザを自動操作できるのでdriverでチャート画面を開き、 設定画面から仕掛けのパラメータ値の最小値から最大値まで自動入力し、損益や勝率、平均利益などの数値をcssセレクタで スクレイピング...
EUR/JPYの8時間足チャートで2016年から2020年までのバックテストです。 エントリーはシンプルに2本続けてインサイド・デイが発生し、終値が2本前のバーの高値を越えたらロング 終値が2本前のバーの安値を割ったらショート。 仕切りルールは終値が過去30本のバーの70パーセンタイル以下になる、または 仕掛け値から3ATRに逆指値を置く。 ボラティリティフィルタとして過去5本のバーの最高値と最安値の差が 30期間のATRの1.5倍より小さい時にのみエントリー 利益の標準偏差などはまだ計算していませんがプロフィットファクターは1.63で期待値は24%でまずまずの結果。 パラメータや仕切りルールを変えてサクッと検証できるのはいいですね。