cosisin氏の高スペックデイトレ戦略有効性検証(システムトレード)

システムトレードのバックテストを継続的に続けているが、それに対して嬉しい反響をもらった。

うん。儲かってないのは事実だ。

利益曲線が寝ないストラテジーが未だ作れてないからね。

 
 

でも、手法を公開した事で利益曲線が寝た訳じゃないと思ってる。

坂本タクマ/第22話「知識をただ溜め込むな!デキる人になるための情報公開のススメ

 
 

どの株が上がるかなんて、プロの投資家にもAIにもわからない。

 
株価は上がる理由はたった一つ。

 

買いたい人が売りたい人より多いから

 

これが真実。

 
 

では、なぜヘッジファンドは株で儲けられるのか?

「ヘッジファンド」とは、様々な運用手法を駆使して、相場の上げ下げに関係なく「絶対リターン」を追求するファンドのこと。

 

ある書籍に次のように書いてあった。

 

ヘッジファンドには多様な投資戦略があるが、究極的にはモデルやシステムを構築して運用するのはマネジャーであり、洗練されたツールをいかに構築するか、利用するかという判断自体はマネジャーに帰着する。同じ投資モデルを利用しても、異なる人間が運用すれば運用成果も異なる。

こうした面からも、ヘッジファンド投資は究極的には人材への投資、スキル(技術)や経験を有するタレント(人材)への投資だと考えるべきである。

それはつまり、成功報酬制度とより柔軟な運用環境に動機付けされた、有能な人材(運用チーム)に、資産運用をアウトソースすることに他ならない。エッジの効いたヘッジファンドであればあるほど属人的であり、その分キーマン・リスクも大きい。

 
 

属人的で有能な人材のスキル……

それを発見するマネージャーのスキル……

 
 
 

ヘッジファンドで働く事を希望してたが、全く通用しないな……私。

 
 
 
これは、システムトレードの構築により資本家へと変貌するサクセスストーリー。

を夢見て中年となった男性の 堕落と破滅までの記録。

前回に引き続き cosisin氏がストラテジーを公開しているので、氏のバックテストを行ってみる。

デイトレ逆張りサンプルストラテジー : cosisinのブログ

当時は色々なサイトで紹介されていた。

新たな「凄腕イザナミ使い」現る!〜先端システムトレード研究室

特に先端システムトレード研究室というサイトは、バックテストの結果を赤裸々に公開しており良かった。

何を隠そう私がブログにバックテストの結果を公開しているのは、このサイトの影響が大きい。

でも、この管理人は途中からイザナミの自作有料ストラテジー販売アフィリエイターに成り下がってしまった……。

cosisin氏の高スペックデイトレ戦略有効性検証

以前、この手法のスイング版は実装している。

cosisin氏の3日保有のスイング戦略の有効性検証2(システムトレード)
個人で多くの時間を費やしても、販売されてるシストレ手法の精度を出すのは至難の業。でも、例えばシストレ手法の仲介業者は手法が丸見えだ。その日のランキング一位、二位の手法を選択する明日買うシグナルあるか確認するシグナ...

デイトレ手法は不具合か分からないけど、なんだかバックテスト結果がとても良い。

 
 

【基本設定】

  • 1) 株価の低い場合はランキングしない[50]円以下
  • 2) 売買代金の少ない場合はランキングしない(売買代金の[3]日間平均が[5]千万円以下の場合)
  • 3) 単利利用、通年
  • 4) 全ての銘柄対象

【ランキング条件(デイトレ逆張りサンプル)】

  • 1) 過去[3]日間に、[前日比(率)]が[-8]と[8]の[範囲外]の日が[1]日以上[存在しない]
  • 2) [期間高値(3)]が[終値(+10%)]より小さい

【買いルール】

  • 1) [デイトレ逆張りサンプル(順位)]が[10]より[小さい(同じ含む)]
  • 2) [翌日逆指値(終日)][終値(+5.00%)]で[買い]を仕掛ける

【手仕舞いのルール】

  • 1) [Stop高(高値)]が[1]と[同じ]
  •  1.1) [当日指定値][高値]で手仕舞いする
  • 2) [保有日数]が[1]より[大きい(同じ含む)]
  •  2.1) [当日引け]で手仕舞いする

【優先順設定】

  • 1) 移動平均乖離率(終値)(100) 小さい順

 
 

またデイトレの改良方法も記載があるので、こちらも確認する。

1つの条件でかなり良くなる方法を伝授しましょう。
東証1部騰落レシオ10日が90以上というのをランキング情報に追加してください。
相場がそんなに弱くないときだけ参加するということです。期待値、DD、資産曲線、かなり良くなったでしょう。
シグナルを増やしつつ、期待値を上げる、これが良い改良方法だと思います。

ゴニョゴニョ書いてあるけど、既に以前半分実装済だから難しくない。

バックテスト結果

計算時間が結構かかった。

8時間?それ以上?

騰落レシオなし

騰落レシオあり

利益曲線は次のとおり。

 
 

勝率も平均利益もPFも年利も良すぎ!

 
 

この美しきこと「周瑜公瑾」。

 
 

前回に続いてSSレアカードゲットだぜ!
 
 

と言うほど、自分の実装力があるとは思ってない。

まとめ

cosisin氏のブログには次のように書かれている。

通年レポートをまじまじと見てみると、年間平均利益率が100%オーバーで、最大DDが10%以下なんですよね。これは本当にすごいなぁ。デイトレタイプで資金効率をとことん追求しているからこそたどり着ける境地ですね。

プロフィットファクターが2~3だ。

でも、私のバックテストの結果は10。

ありえないよね。実装誤りがやっぱりありそう。

でも、分からなーい……。

フォワードテストをして不具合を見つけてみるか……。

きっと数カ月後には「追記」があると思うよー。

【当日(2021年05月19日)追記】

数ヶ月先に追記の予定が、公開日に各方面からコメントを頂いたのでコードを修正した。

問題箇所は逆指値注文が逆だったようだ。

修正して再度バックテストを行った(高速化のために東証一部のみ)。

利益曲線は次のとおり。

2015年から利益曲線が寝てしまった……。

正史(史実)「三国志」の周瑜は、赤壁の戦いで曹操軍を破るも享年35歳という若さで他界した。

僕のストラテジーは戦場に立つこともなく、バックテストでフルボッコにされ、見せ場も無いまま退場となった……。

 
 

でも、実装間違いだと分かってスッキリ。

ソースコード

バックテストには無料OSSの「Protra」を利用した。

TIlib、Utility、TrendCheck、TOPIXライブラリはGitHubに置いている。

システムトレード 2021年(社会人17年) 投資

コメント

  1. マコト より:

    BB_new、BB_nextはボリンジャーバンド用のものです。
    BB_valueはボリンジャーバンドで中央の線となる移動平均の値です。
    BB_new(100)という記述があるので、100日移動平均の値ですが、100日単純移動平均であれば良いのであればMA_newで良いのでは?無駄に処理が発生しているので恐らくだいぶ遅くなっています。
    期間高値はHighLowかHLBandです。ランキング条件にあるのに記述がありません。
    標準のBuy関数とSell関数がないのでどこかのライブラリに隠れていると思いますが、実際に買えない株価、売れない株価で処理されていないでしょうか?

    どうにも、言葉で掲載されている仕掛け条件、手仕舞い条件と実際の実装が合っていないように見えます。
    売買ログをみて、実際に意図した仕掛けと手仕舞いができているか確認したほうが良いです。

  2. nehori より:

    マコトさん
    コメントありがとうございます。

    「BBの計算が遅い」という概念がありませんでした。MAを使う形に修正してバックテスト実施しました。

    期間高値はHighLowかHLBandですが、3日間なので直接下記の式で計算しています。
    t = High
    if ({-1}High > High && {-1}High > {-2}High)
    t = {-1}High
    elsif ({-2}High > {-1}High && {-2}High > High)
    t = {-2}High
    end
    if (Close * 1.1 > t)
    この式直前までの条件文で弾かれた銘柄の計算をSkipすることで高速化したい為です。

    Buy関数とSell関数はライブラリにあります。
    「実際に買えない株価、売れない株価で処理」はまさしく以前もありました。
    この部分は継続的に調査してしようと思います。
    ただ、今回の間違いは逆指値の実装でした・・・。

ねほり.com
タイトルとURLをコピーしました