自作した株価取得のシステム。)の全銘柄の1983年からの全取引データを取得しています。以前は、売買サイン発生後の株価の挙動を集計しました。売買サインチェック(ボリンジャーバンド版)!今回は、「ボリンジャーバンド」での計算で発生した売買サインデータを基に、仮に取引をしていた場合にどのような結果(損益)になるのかを検証していました。(ボリンジャーバンドについては上記の過去記事をご参照ください。通常、このようなテストのことをバックテストと言います。※興味が無ければスルーしてください。+kσを上抜けた時としました。調整後終値(株式分割があった場合の調整値)を考慮していません。銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。複数の市場に上場している銘柄については、優先市場のみで検証しました。無ポジション中に買いサイン発生で、買いエントリ買いポジション中にストップロス発生で、エグジット買いポジション中に売りサイン発生で、エグジット無ポジション中に売りサイン発生で、売りエントリ売りポジション中にストップロス発生で、エグジット売りポジション中に売りサイン発生で、エグジットエントリ・エグジットは翌営業日の始値で行う手数料は、SBI証券の手数料(スタンダードプラン)を使用する。呼び値も考慮エントリ時は、毎回資金残高中で投資可能な最高額を投資エントリ時に資金残高が不足する場合はエントリしない。各種用語については、各自でお調べください。検証アルゴリズムは以下の書籍(エクセルでの検証)も参考にしています。各銘柄について、対象の期間内のデータで売買サインの発生を検証する。各銘柄について、上記3の「注文条件」にしたがって、バックテストを行う。ドローダウン全銘柄のバックテスト結果を集計する。して検証した結果です。買い・売り両方のエントリを想定して検証しています。全銘柄のトータルなので、莫大な数値となっています。総損益もマイナスとなってしまいます。買いエントリだけ、売りエントリだけを想定して検証した結果は、金額に差が出るものの比率は同じような結果になりました。ちなみに、逆張りを9日で計算した場合は、わずかながら利益が出る結果となりました。通常、各銘柄で算出した場合、平均損益額=平均利益額+平均損失額となりますが、全銘柄を集計した場合には数値の性質上イコールにはなりません。ちなみに、逆張りを9日で計算した場合は、わずかながら利益が出る結果となりました。)3.平均損益件数集計こちらも、イメージをつかむため、平均損益がプラスの銘柄・マイナスの銘柄の件数を集計。トータル的に観るとマイナスになる銘柄が多いようですが、今までのバックテストと比べるとプラスとなる銘柄も多くなっています。2,173今回の検証でも一部利益が出るものの全体的には損失が出る結果となりました。ボリンジャーバンドの場合、順張りより逆張りの方が利益が出やすそうです。バックテストと称していながら、手数料・リスク率・ストップロス・スリッページ・呼び値等を考慮していないものが多数あります。今回はこれらも考慮しているのでより実際に近いシミュレーションが出来ているのではないでしょうか。※計算間違いが発覚すれば、その都度再検証してみるつもりです。実際は場合によってエントリ方法を調整する必要があることは言うまでもありませんが。エグジットの条件を変更する(利益のあるうちにエグジットするようにする)ともっと利益に繋がるでしょう。学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。説明(独立)変数2個、目的(従属)変数1個の「重回帰式」を計算する方法を紹介しました。Coefficient)の計算をしてみました。Coefficient)の計算をしてみました。