Skip to content

カテゴリー: 売買ルール検証

2017年8月7日(140日目)のトレード(+4,122)

Posted in 売買ルール検証

勝ったよ・・・勝ったけどね。

相変わらずの極狭値幅。この細かい勝ちもそのうち一瞬ストンっ(せいぜい数十円)と落ちたところで損切りさせられて無に帰すに決まっとる。

上でも下でも構わないので、もっと動け。

  • ミニ日経225先物 S 1枚 20,060→20,040(+2,000)
  • ミニ日経225先物 L 2枚 20,045→20,040(-1,000)
  • ミニ日経225先物 L 1枚 20,040→20,050(+1,000)
  • ミニ日経225先物 L 1枚 20,035→20,050(+1,500)
  • ミニ日経225先物 L 2枚 20,045→20,050(+1,000)

証拠金残高 296,104(+4,122)

 

こいつダメだなと思ったらクリック→

2017年8月1日(136日目)のトレード(-540)

Posted in 売買ルール検証

就活してたり、子供から手足口病をうつされたり。すごく遅くなったけど8月1日のトレード。

相変わらず値幅狭すぎ。細かく売買して540円のマイナス。

やるだけ無駄だなこりゃ。

  • ミニ日経225先物 S 1枚 19,930→19,980(-5,000)
  • ミニ日経225先物 L 3枚 19,965→19,980(+4,500)
  • ミニ日経225先物 L 1枚 19,970→20,020(+5,000)
  • ミニ日経225先物 L 1枚 19,980→19,980(0)
  • ミニ日経225先物 L 1枚 20,005→19,980(-2,500)
  • ミニ日経225先物 L 1枚 19,995→20,005(+1,000)
  • ミニ日経225先物 L 1枚 20,025→19,980(-4,500)
  • ミニ日経225先物 L 1枚 20,005→20,020(+1,500)

証拠金残高 276,954(-540)

 

こいつダメだなと思ったらクリック→

2017年7月26日(132日目)のトレード(-31,932)

Posted in 売買ルール検証

ゆるゆると上げたと思ったら、ガツンと落ちる。日中もナイトも同じ感じでやられた。

ここ数日の小さな勝ち分を一気に吐き出した。

  • ミニ日経225先物 L 1枚 20,090→20,040(-5,000)
  • ミニ日経225先物 L 3枚 20,090→20,055(-10,500)
  • ミニ日経225先物 L 1枚 20,055→20,020(-3,500)
  • ミニ日経225先物 L 2枚 20,060→20,020(-8,000)
  • ミニ日経225先物 L 1枚 20,065→20,020(-4,500)

証拠金残高 309,358(-31,932)

 

こいつダメだなと思ったらクリック→

2017年7月19日(127日目)のトレード(+5,014)

Posted in 売買ルール検証

あまり動かないながらもゆるゆると上がり始めた。

日中こそ若干のマイナスだったものの、ナイトでは上昇に買い増しを重ねなんとかかんとかプラスだった。

  • ミニ日経225先物 S 1枚 19,965→20,010(-4,500)
  • ミニ日経225先物 L 1枚 19,980→20,010(+3,000)
  • ミニ日経225先物 L 1枚 19,980→19,970(-1,000)
  • ミニ日経225先物 L 1枚 19,990→19,970(-2,000)
  • ミニ日経225先物 L 1枚 20,000→20,010(+1,000)
  • ミニ日経225先物 L 1枚 19,995→20,020(+2,500)
  • ミニ日経225先物 L 1枚 19,990→20,020(+3,000)
  • ミニ日経225先物 L 1枚 20,000→20,020(+2,000)
  • ミニ日経225先物 L 1枚 20,005→20,020(+1,500)

証拠金残高 317,464(+5,014)

 

こいつダメだなと思ったらクリック→

スリッページ VS. 買えないリスク

Posted in 売買ルール検証

システムトレードをやっている以上、絶対にバックテストはやるよね。やってない人がいたらそれはシステムトレードじゃないよ。

で。

バックテストでは買い or 売りのサインが出たら、過去のデータのいずれかの時点の価格で買った(売った)とみなして検証するわけだ。あ、今回は「寄りや引けでしか売買しない」「ある価格を超えたら逆指値でエントリーする」という戦略には無関係なので無視してね。

サンプルとしてひとつストラテジーを用意した。2011年から現在までの成績が以下。

  • 勝ち 1006
  • 負け 947
  • 引き分け 150
  • 総損益 15841
  • 勝率 51.5%
  • 敗率 48.5%
  • PF 1.43
  • 期待値 7.53
  • 最大DD -840

資産の推移がこんな感じ。

7年半で約16,000円抜き、ミニ1枚で運用したとして160万円ほどの利益。大きなドローダウンもなく、なめらかに増加してて使えそうな気がする。

このストラテジーは、エントリー・イグジット共にサインが出たら次の足の始値で買う。バックテストでも該当の始値で買ったもの(売ったもの)として検証している。でも実際はどうか。

  • 成り行きで注文した場合はスリッページが発生する。
  • 指値で注文した場合は買えない(売れない)場合がある。

いずれの場合もバックテストよりも成績は落ちるハズだが、これはしょうがない。問題はどちらがマシかだ。そこで検証してみた。

スリッページを受け入れて成り行きで注文した場合

まずは成り行きで注文した場合の成績をシミュレーションしてみよう。

このストラテジーではサインが出た次の足の始値で買うことになっているが、該当の始値が売り気配だったか買い気配だったかで、成り行きでエントリーした場合の約定価格が変わる。売り気配だったら目論見どおりの価格で約定するが、買い気配だった場合は5円高く買う羽目になる。

始値が売り気配か買い気配かは過去のデータからはわからないので、半々の確率と仮定する。ミニの場合、1ティック5円のスリッページが50%の確率で発生するので2.5円。これが往復で5円。1回の取引あたり5円分の利益が減ることになる。

これだけで7.53円だった期待値が2.53円にまで激減する。

あと、いまさらだけど手数料も引いてなかった。ミニ1往復あたり100円の手数料は期待値1円分に相当するので、これも引いて残りは1.53円。ミニ1枚で1取引あたりの利益が153円だ。マイナスではないもののすでにガッカリモードが半端ないが、そのあたりの数値も含めてバックテストし直してみた。実際には均等に5円のスリッページが発生するわけではないので、以下のスリッページが一定の確率でランダムに発生するものとして検証した。

  • 0円(スリッページなし)/ 25%
  • 5円(エントリー・イグジットいずれかで発生)/ 50%
  • 10円(両方で発生)/ 25%

結果がこちら。

  • 勝ち 883
  • 負け 1220
  • 引き分け 0
  • 総損益 2993
  • 勝率 42.0%
  • 敗率 58.0%
  • PF 1.07
  • 期待値 1.423204945
  • 最大DD -2730

利益は2,993円に激減。そのくせ初っ端に2,730円ものドローダウンがある。いちおうプラスではあるが使う気にはなれない。

買えないリスクを受け入れて指値で注文した場合

スリッページを発生させない確実な方法がある。指値で注文することだ。

買いを指値で入れる場合、注文価格が売り気配だったら問題ないが、買い気配だったら約定しない可能性がある。そして約定しなかったトレードは買えたら勝っていたハズのトレードだ。指値で注文するということはスリッページがない代償として「買えないリスク」を受け入れることだ。

これは検証が難しい。注文価格と安値が一致していた場合、約定したかどうかは過去のデータからはわからないからだ。そこで、注文後の安値が注文価格を下回っていた場合のみ集計し、注文後の安値=注文価格だった場合はエントリーできなかったものとして検証した。

注文後の安値=注文価格だったとしても実際には買えることは多い。実際はもっとマシな結果になるはずだ。

  • 勝ち 918
  • 負け 1056
  • 引き分け 0
  • 総損益 6227
  • 勝率 46.5%
  • 敗率 53.5%
  • PF 1.15
  • 期待値 3.154508612
  • 最大DD -1677

どうだろうか。買えない可能性がある取引を除いた割に取引回数が減っていないのは、次の足で再びサインが出て買っているからだと思われる。

こちらも成績は大幅に落ちている。ただしさっきよりはずいぶんマシに見える。

そして忘れちゃいけないのが、この結果は最悪のケースで実際にはここに「買えたトレード(勝ち)」が加わり、成績が底上げされるであろうこと。

結論

このストラテジーに関して言えば指値で注文したほうが良い。というかスリッページ怖い。

 

 

こいつダメだなと思ったらクリック→

フォワードテストの成績

Posted in 売買ルール検証

2017年1月17日から現在のシステムで運用を開始して4ヶ月強、営業日にして90日が経過した。ここらで一旦システムの成績をチェックしてみたいと思う。ちょうど半年とか100営業日とかキリのいいところでやれよ、と思われるだろうが知らん。

まず、2011年からの累計。赤い部分がフォワードテスト。

スパンが長すぎてよくわからないので、直近の1年半くらいを抜き出したのがこちら。

これだけ見るとまったくカーブフィッティングもなく、とてつもなく優秀に見える。ただし、フォワードテストではあるが実際に売買した結果ではないので、実際このとおりに利益が出ているわけではない。

個別のストラテジーで見てみるとこんな感じ。

「E」は運用開始後に追加したストラテジーで参考にならない。またショート戦略である「F」も運用開始後に大幅に改修しているので、参考にならない。しかしながらそれ以外の「A」~「D」の成績だけ見てもそれなりに機能しているように見える。

 

問題は実運用のパフォーマンスが追いついていないことだ。考えられる原因は4つ。

  1. 実売買では約定しない、または約定価格にずれがある
    →よくある。しかし半数はテストよりも有利な価格で約定しており、トータルでは誤差の範囲。
  2. システムのエラーによる誤発注 or 機会損失
    →よくあった。システム改善により減少傾向。最近はほとんどなし。
  3. 裁量による損失
    →今月もやった。
  4. いつのまにかストラテジーを弄っている
    →システム改善の過程で微妙にいじってる気がするが、記録と記憶がございません。

間違いなく「3」と「4」だ。

「3」に関しては、今月の成績はいまのところマイナスだが裁量でやってなければプラスだったはず。影響は大きい。

「4」がいちばん問題。ストラテジーを改善しているつもりが、その都度カーブフィッティングさせてるだけという恐ろしい可能性が浮上した。カーブフィッティングの怖さは知っているので、弄ったとしてももとの成績とほぼ変わらない、変えても変えなくてもいい程度の改修しかしていない(つもり)。「確実にこっちのほうが安定する」という改修しかしていない(つもり)。だが、そういった行為を重ねることで、フォワードテストと詐称したバックテスト結果をこしらえて自分を欺いている気がしてならない。何より、システムの正確なパフォーマンスが測れないのが問題だ。

今後の目標は2つ。

  1. 裁量による売買はやらない
  2. ストラテジーをいじらない

これらを真面目にやっていきたい。なんてことはない簡単だ。システムをほったらかして何もしなければいいのだ。

 

こいつダメだなと思ったらクリック→

日経225先物ミニ 現在の売買ルール

Posted in 売買ルール検証

現在は日経225先物ミニを4つのストラテジーを用いて売買している。

その内の3つ、ストラテジーA、B、Cは買いオンリー。いずれも日中足で「上昇の兆し」や「相場の強さ」を捉えて買いを入れる順張りスタイルだ。「上昇の兆し」や「相場の強さ」を判定する条件はどれもありきたりなシンプルなもの。もっと「詰めれば」さらに成績を上げることはできるが、過剰最適化によるカーブフィッティングの恐怖は嫌というほど味わったのでもうゴメンだ。

4つめのストラテジーDのみ、条件に応じて買いだけではなく売りも行う。こちらはもう少し長いスパン(といっても日足で数日程度)で相場の方向性を見極め、買い or 売りを入れておくといったイメージ。積極的に利益を取りに行くというよりも、買いは利益の底上げ、売りは買いのヘッジとして運用している。

各々のストラテジーは完全に独立して売買を行うものの、結果的には上昇を始めたら買いを入れ、さらに上がれば買い増し、下がれば玉を減らす、といった柔軟な連携をしているように働く。これによって利益は大きく伸ばし、損失は小さく抑えることができている。

2011年以降、各ストラテジーを動かすとこんな感じで資金が増える。※ミニ1枚を運用した結果

どれも右肩上がりで、どれかに絞って全力で運用してもまあ概ね勝てる。どれを選んでもミニ10枚なら1200~1600万円ほどの利益だ。ただ多少の落ち込みや停滞があるので、始める時期によっては痛い目を見そう。

次はミニ10枚を4つのストラテジーに分散投資した結果。枚数は等分ではなく利益とドローダウンを天秤にかけて配分している。

ミニ10枚で1400万円程度の利益。利益の総額で言うと先ほどの結果と大差ないが、ずっと滑らかな曲線になった。2011年以降の6年間で月単位の収支がマイナスだった月は12カ月で損失の額も小さい。1年のうち10カ月勝って、2カ月は小さく負ける感じ。

とかなんとか言いつつ、まだフォワードテストの期間が短い(2017年1月以降)ので、この先どうなるかはわからない。

こいつダメだなと思ったらクリック→

岡三RSSによる自動売買

Posted in 売買ルール検証, and 日記

前のエントリーでちょっと残念な、と書いたのには理由がある。

実は現在、岡三RSSによる自動売買を行っている。かっこいい。岡三RSSは名前からも分かる通り岡三オンライン証券に口座があれば使える。一定の手数料支払ってれば月額使用料は無料。Excelのアドインの形で提供され、リアルタイムでExcelのセルに最新のマーケットのデータを取り込めるスグレモノ。これを使ってExcel上で売買サインの生成から発注まで行えるのだ。これで寝てても損ができる利益を上げられる。

前回の失敗はこれが上手く動かなかったのが原因。リアルタイムでデータを取り込めるといっても、複数のデータを取り込む際の取得タイミングにコンマ数秒をズレが出て来るようだ。また、Excelのセルの更新タイミングもおそらくズレる。それによって、想定外のサインが出てしまったり、指値の価格がおかしかったりする。

2月の頭から実戦投入して同様のトラブルはこれで2回目。損失こそ出していないが、10万円程度の利益は逃している。

改善策としては以下が考えられる。

  1. 通信の品質改善
  2. PCのスペックアップ
  3. 発注時のチェック機構の強化

1と2に関しては、効果があるかは未知数。ただこれで改善されるのであれば安い投資だ。

3に関してはすでに2重3重のチェックを挟んでいるものの、やっぱりまたポンコツな動作を許してしまった。というのも、テスト環境がないのでぶっつけ本番でテストするしかなく、しかも注文履歴以外にログらしきものが残らないため、検証がはかどらないのだ。2度目のトラブルを受けて、今度は「新規発注で誤動作は起こるもの」という前提でシステムを改変してみた。具体的には、おかしな注文を出してしまっても、常に最新のデータをチェックして、自動で注文の訂正やキャンセルを行う仕様。ちょっと不格好だけど、とりあえずこれで様子を見ることにする。ただこれもぶっつけ本番なのでしばらくはPCの前で全裸待機することになる。自動売買の意味ねーな。

 

こいつダメだなと思ったらクリック→

こんなシステムトレードは危ない

Posted in 売買ルール検証

システムトレードの手法を自分で開発したり、有料情報を買ってみたりして気がついた、これはやばいというトレード手法をメモ。

 

指値でエントリー

べつに指値でエントリーすること自体は悪くない。というか良い。問題はそれが適切にバックテストされているかということ。

たとえば、「サイン出た!19000円で指値!当日の安値が19000円!大勝利!」みたいなやつ。当日の安値が買い指値「以下」だったら買えてるとみなしてバックテストすると、なかなかの右肩上がり。

ところが実際は指値にタッチしたからといって買えてるとは限らず、逃しているトレードがあるはず。もっと言うと、逃したトレードは買えていれば勝っていたはずのトレード(最低でも引き分け)だ。実際はバックテストから、いくらかの勝ちトレードが差し引かれるのだ。

そこで、当日の安値が買い指値「未満」だったら・・・という条件でバックテストし直すと、案の定見事なまでに優位性が失われたりする。

この部分をすっとぼけて見落として、すごいパフォーマンス!とか言って売ってるシストレ情報商材はけっこうある。『株価2桁の銘柄に指値でエントリーします※約定しない場合もあります』みたいなのは超やばい。大抵買えないわ、逃したトレードは勝ちまくるわ、負けトレードは確実に拾えるわで超やばい。

あと、シストレのソフトによっては「指値にタッチしたら買えてるとみなす」仕様だったりするので要注意。

 

買いか売りかを予想する

いわゆる「寄り引けシステム」というやつ。「引け寄り」でも「寄り寄り」でも「引け引け」でも同じ。エントリーのタイミングが決まってて、その上で「買い」か「売り」かを予想するタイプの手法は難しい気がする。これは、明確にダメとは言えないんだけど、体感として上手くいかないなーという感じ。上手くやれる人はすごい。

トレードにあたって判断しなければいけないことが2つあって、ひとつは「買いか売りか」、もうひとつは「タイミング」だと思うんだけど、「寄り引けシステム」って「タイミング」の部分が固定。必然的に「買いか売りか(もしくは見送り)」の予想だけで勝負することになるわけで、これはムズいわ・・・と私は匙を投げた次第でございます。

バックテストではいい感じで右肩上がりでも、カーブフィッティングに陥っててフォワードではさっぱりってな結果になるのは、いつもこの手の手法だった。自分で作ったやつも、買ったやつもな!

個人的には、「買いか売りか」ではなく「どうなったら買うか(売るか)」みたいな考えで作ったシステムの方が実運用ではうまくいっている。

 

「もっと勝ってから言え」と言われると、いやまったくそのとおり。

こいつダメだなと思ったらクリック→

イザナミの「未来指標」を使って売買ルールを検証する

Posted in 売買ルール検証

検証できない売買ルール

オレが2013年から2015年の頭にかけて運用していた売買ルールがある。完全な検証ができないまま実戦投入してたんだけど、結果的には投資資金を5倍に増やすことができた。

こんなルール。

  1. 25日移動平均乖離率(終値)が40%以下
  2. かつ、5日移動平均乖離率(終値)が10%以下
  3. 翌日に前日終値の-12%で買い(2が低い順に最大4銘柄)
  4. 大引けで決済

他に出来高とか、しかける株価の最低ラインとかあるんだけど結果にはあまり影響ないので今は省く。

これの3が問題で、実際には1~3を満たした銘柄から最大4銘柄を買いたいんだけど、バックテストでは1,2を満たした銘柄(500~1000銘柄程度)から5日移動平均乖離率が低い4銘柄に翌日指値注文という形になっちゃうんだよね。だからほぼ買えない。

これはソフトウェアが悪いんじゃなく当然の話。翌日にどの銘柄が12%下げるかなんてわからないし、さらにその中から前日の乖離率順でエントリーするなんて不可能だ。実際のところ4銘柄以上買える日はマレだったけど、そうじゃない日は下がったものから順番に買ってたし、どうやったってバックテストと実運用の結果に違いが出てしまう。

イザナミの「未来指標」を使うと翌日の4本値を検証に使えた

ところが、イザナミの体験版で設定を見直してたら「未来指標」というものを見つけた。これにチェックを入れるとバックテストで翌日の始値/安値/高値/終値が使えるらしい。未来の指標をもとにバックテストなんて普通ではありえない。でも今回の売買ルールに限っては、これを使ったら近い形で検証できるんじゃなかろうか。

イザナミのオプション設定 未来指標を使う
イザナミのオプション設定 未来指標を使う

で、実際に試してみた。

翌日安値を使ったバックテスト
翌日安値を使ったバックテスト
  • [ 移動平均乖離率(終値)(25) ] が [ 40 ] より [ 小さい ]
  • [ 移動平均乖離率(終値)(5) ] が [ 10 ] より [ 小さい ]
  • [ 翌日安値 ] が [ 終値(-12.00%) ] より [ 小さい ]
  • [ 翌日指値(終日) ][ 終値(-12.00%) ] で [ 買い ] を仕掛ける

輝く「翌日指値」。もはや預言者だ。買えたらその日の大引けで手仕舞う。

で、バックテストの結果がこちら。2000年からのバックテストで勝率62.20%。期待値1.44%。あ、使えそう。ただこれ、市場全体が暴落してるような日はかなりの数を取りこぼしてると思うので、実際の取引回数はもっと少ないと思う。

未来指標を使ったバックテスト結果
未来指標を使ったバックテスト結果

最適分散投資を試してみたらこんな感じ。2008年のリーマン・ショックと2011年の震災でぶっこいてて歪ながらもいちおう右肩上がり。あとヨコヨコ相場ではイマイチらしい。

単利
単利

試しに当時の資金配分をシミュレートする感じで複利で運用してみたらこう。

複利
複利

あ、これだわ・・・、当時の感じ。実際に運用してた2013年~2015年はしっかり伸びてるし、絶好調だった2013年の成績が抜群。2015年頭にもう使えない気がしてやめたというのもよくわかる。

驚いたのは2015年以降また伸びてること。なんかまだ使える気もしてきたけど、完全なバックテストができないので今となってはちょい怖い。

勇気がある人は自己責任で。

こいつダメだなと思ったらクリック→