アノマリー(曜日)の期待値を検証(システムトレード)

バックテスト環境を構築できたら、検証したかった一つに「アノマリー」があります。

アノマリーは、マーケット(相場)において、はっきりとした理論的な根拠を持つわけではないが、よく当たるかもしれないとされる経験則のことをいいます。

  • 週末効果で月曜日が株安(悪いニュースは週末の休日に出やすい。何故なら休日に公表すると、株式の市場での取引まで間があるため)
  • 水曜日は反発(週初からの下げ過ぎに対する株価の反発)
  • 日本では月曜日の収益率が低い「月曜日の株安」現象は観測される
  • 木曜日以降の収益率を見ると確かに高く「週末の株高」は観測される
  • 「買い」であれば月曜の終値、「売り」であれば金曜の始値が有効
  • 月曜日は他の曜日に比べて下がることが多く、しかも値動きも大きい

火の無いところに煙は立たない

と言うことで、確認してみましょう。

【検証1】月曜日の株安

残念ながらProtraは同一売買ができません。次のような売買を定義しています。

【買いルール】

  • 月曜日の寄り付きに成行で買い

【手仕舞いルール】

  • 火曜日の寄り付きに成行で売り

ソースコード

組み込み変数「DayOfWeek」を使えば簡単ですので省略します。

バックテスト結果

9

確実に資産を失い続けるようです。

【検証2】週末の株高

【買いルール】

  • 木曜日の寄り付きに成行で買い

【手仕舞いルール】

  • 金曜日の寄り付きに成行で売り

ソースコード

組み込み変数「DayOfWeek」を使えば簡単ですので省略します。

バックテスト結果

利益曲線は次の通りです。

8

ほぼプラスマイナスゼロの結果になりました。

【検証3】買いは月曜の終値、売りは金曜の始値

【買いルール】

  • 月曜日の終値で買い

【手仕舞いルール】

  • 金曜日の寄り付きに成行で売り

ソースコード

組み込み変数「DayOfWeek」を使えば簡単ですので省略します。

バックテスト結果

10

トータルで勝ち越しのようです。

負けトレード最大損率が「-100.00%」で全てを失いますが・・

【検証4】金曜日買い、月曜日売り

【買いルール】

  • 金曜日の終値で買い

【手仕舞いルール】

  • 月曜日の寄り付きに成行で売り

ソースコード

組み込み変数「DayOfWeek」を使えば簡単ですので省略します。

バックテスト結果

利益曲線は次のとおりです。

14

「買いは月曜の終値、売りは金曜の始値」の度妥当性が証明できた・・・と思ったけど、これでもプラスになるようです・・・。

うーん・・・。

まとめ

週末の株高に関しては、多少は根拠があるようにみえますが、トータルでマイナスなので気にすることはなさそうです。

「買いは月曜の終値、売りは金曜の始値」は、ある程度妥当性が証明できました。

手仕舞いルールとして今後検討の余地はありそうです。

タイトルとURLをコピーしました