日経225mini寄り引け+αトレードシステム~Quail~

日経225mini先物寄り引けシステムトレードのシグナルを無料公開  +α「LC後の世界」も見てね ~Quail~は「クエール」と読みます

先物取引とは

ブログトップ シグナル公開 トレードシステム おすすめ証券会社 システムトレードの作り方 このブログについて

寄り引けシステムトレードの作り方~⑤ドローダウンの算出

寄り引けシステムトレードの作り方⑤

初回投稿日:2021年4月3日  最終更新日:2021年4月3日

 

 

 これまで4回にわたり寄り引けシステムトレードの作り方について解説してきました。

 今回は第5回として「ドローダウンの算出」について解説してみたいと思います。

 

【当記事が想定している主な購読者について】

・寄り引けシステムトレード未経験の方

・金融商品についてある程度の知識と経験を持ち、日経225(mini)先物を取引したことがある又は取引についてイメージができる方

・パソコンの操作&エクセルの操作ができる方(マクロはできなくても大丈夫です!)

 

免責事項もご覧ください。

 

 

 

その他の回はこちらから

寄り引けシステムトレードの作り方~①寄り引けシステムトレードの魅力と必要なもの

寄り引けシステムトレードの作り方~②メンタルとデータ収集

寄り引けシステムトレードの作り方~③データ分析 

寄り引けシステムトレードの作り方~④取引方法

 

 

【ドローダウンとは】 

 ドローダウンはシステムトレードにおいて重要なファクターの一つです。

 ドローダウン=下落率と定義されることが多いですが、寄り引けシステムトレードでは連敗した時の損失額(幅)と考えると理解しやすいと思います。

 その中の最大値、最大ドローダウン一番負ける時でいくら負けるかという事になります。

 

 システムトレードを行う上で、できれば見たくない数字ですが(笑)バックテストを行う時は必ず確認しておきたい数字です。

 

 

【~Quail~(当システム)におけるドローダウンの考え方】

 ~Quail~では売買シグナルに加えて取引枚数もコントロールすることで利大損小を実現しようと試みています。

 そのため寄り引けの収支×取引枚数を日々の収支とし、その額のドローダウンを算出しています。

 

【最大ドローダウンの算出方法】

 管理人は当初ドローダウンをどうやって算出したらいいか分からず、日々の収支表から連敗していそうなところをドラッグして最大損失額を確認していました(^^)。

 

 ドローダウンの算出で厄介なのは、何日間でそのドローダウンを記録したかの判定が難しいところです。

 

 エクセルVBAを使用すれば簡単に算出できるかな~と思いましたが、管理人がデータ分析をするエクセルファイルはなぜか"マクロは使わない縛り"にこだわっているので(笑)、エクセルの関数のみで算出する方法を紹介します。

 

 もっと簡単な方法があるかもしれませんが、1つの例としてご覧ください(^^)。

 

  ※エクセルを使っていても案外気にしませんが、エクセルシートの数字の方が"行"で、アルファベットの方が"列"です。

 また、見やすいように1行間隔でセルに色を着けています。

 

①日付と日々の収支をコピペ(又は参照)しよう

f:id:kujira3930:20210402192952j:plain

 ここは説明不要かと思います(^^)。第3回の「データ収集」で説明したとおり3行目に2011年7月1日のデータが入っています(シグナルの算出が2011年7月6日からなので7/1~7/5までは収支がありません)。

 

②各日付を起点にした2営業日の合計収支を算出しよう

f:id:kujira3930:20210402193336j:plain

 F列が追加されました。

 

 F列3行には

 =SUM(E3:E4)

 の関数が入力されています。

 

 これで2011年7月1日から同年7月4日までの2営業日の合計収支がF列3行に表示されます。

 この関数をオートフィル機能で直近の日付までコピーします。

 

③同じ要領でG列以降を入力しよう

f:id:kujira3930:20210402195515j:plain

 がっつり列が増えました・・・(^^)

 

 G列3行には

 =SUM(E3:E5)

 の関数が入力され、2011年7月1日から3営業日の合計収支が表示されています。

 この要領で列を増やしていきます。

 管理人は明確な理由はないですが(笑)、75営業日合計(CA列)まで算出しています。

 最大ドローダウンの記録した期間がこれより大きい(長い)と思う場合は、列を更に増やしましょう。

 

 エクセルは賢いので、いくらでも必要なだけ列を増やして仕事をさせてあげましょう(笑)(現行バージョンで最大16,384列まで増やせるみたいです(^^))。

 

 ちなみにCA列3行目には

 =SUM(E3:E77)

 の関数が入力されていて、2011年7月1日から同年10月19日までの75営業日の合計収支が表示されています。

 

④各列の最小値と全体の最小値を表示しよう

f:id:kujira3930:20210402200416j:plain

 ここまで来れば後は簡単です。

 

 F列1行に

 =MIN(F3:F99999)

 の関数を入力し最終列(ここではCA列)までコピーします。

 F99999は便宜上の数値で、実際はデータの最終行番号(直近の日付の行番号)を入力しましょう。

 

 最後にB列2行に

 =MIN(F1:CA1)

 を入力し、全体の最小値を算出して完成です(^^)v。

 

 2行目の各列にはそれぞれの日付から起算して○○日間の合計収支が表示されます。

 

 B列2行には全体の最小値、つまり最大ドローダウンが表示されます。

 

 この表が完成すれば、あとはフィルタ機能を使用することで○○年✕✕月▲▲日から◇◇営業日の間にいくら負けた(勝った)かを簡単に調べることができます。

 

⑤最大ドローダウンを記録した期間の開始日を確認しよう

f:id:kujira3930:20210402202428j:plain

 ~Quail~では最大ドローダウン-3,935円を13日営業日で記録していることが分かりました(見やすいように色を着けています)。

 

 フィルタ機能でQ列の最大ドローダウン(3,935)を選択します。

 

f:id:kujira3930:20210402202720j:plain

 D列の日付を見ると、最大ドローダウンを2021年1月13日から記録したことが確認できました。

 当ブログ開設直後に記録したドローダウンです(TT)。

 

 ところで、ドローダウンの反対語って何なんでしょう??

 ライズアップ(笑)??

 ライザップ??

 

 RIZAPグループ(2928)には苦い思い出しかありません・・・(自己紹介参照)

 

 

 

【ドローダウンに関する管理人の考察】

 バックテストを行いシステムを構築していく上で、ドローダウンは少ない方がいいと思います。

 条件を少し変更しただけで最大ドローダウンが大きく変わる事もあると思います。

 ただ、ドローダウンを減らすことを考えすぎるとカーブフィッティング(収支に都合のいい条件)となり、実効性のないシステムが出来上がってしまいます(TT)。

 

 個人的には、バックテストで得た最大ドローダウンは実際に運用するとバックテストの2倍弱くらい発生するという感触があります。

 そのため、システムを運用後にバックテストの最大ドローダウンをオーバーしても、想定の範囲内と思うようにしています。

 

 証拠金をいくら準備するかは、最大ドローダウンを参考にして余裕を持って決めましょう(^^)。

 

 

 以上、今回は「ドローダウンの算出」についてお話しました。

 

 最大ドローダウン更新はメンタルにとても悪いです。。

 なるべくなら考えたくない数字ですね。。

 

最後まで読んでいただきありがとうございましたm(__)m。

 

 

第4回「取引方法」へ