本日14:00過ぎ、突如としてナイアガラ発生。
日経平均ギャアアアアアァァァァァァァァァーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー!!!!!!!!!!!!
まるで認知症患者のように、事態を正常に把握することが出来ませんでした。
何が起きているのか、全く理解できないのです。
ニュースを調べて理由判明。
NHKが14時過ぎに「安倍晋三首相が辞任の意向を固めた」と伝え、国内政治の先行き不透明感から運用リスクを避ける姿勢が一気に強まった。下げ幅は一時600円を超えた。
大きな売りに対して、僕らは無力だ。
プロシステムトレーダーサスケ氏の手法の有効性の確認
時事ネタが書きたかっただけで、本題が何もないです。
何もないから、何か見つかる・・・・
見つかった事がないよ、糞。
とりあえず、ググって見つけた古いストラテジーのバックテストでもしてみます。
現役プロシステムトレーダー サスケ
なにその肩書き?カッコいい。
[引用] 史上最強オークさんの楽しい異世界ハーレムづくり(第31話)
そうだ、僕らはきっと彼に憧れて、株の勉強を始めたんだ!
バックテストするのは最新の検証である「移動平均乖離率+連続しての株価の変化(陰線)」です。
- 対象:東証1・2部、マザース、ジャスダック
- 株価条件:株価100円以下は省く
- 出来高条件:過去15日間の売買代金が1千万以下の日が存在する銘柄は省く
- その他:Stop高/Stop安を考慮する
- その他:既に保有中でも、新規建て条件にHITしたら保有する
[エントリー条件]
- 前日の終値の移動平均乖離(25日)がマイナス20より小さい
- 3日連続で終値が始値より小さい
[手仕舞い条件]
- 建て日10日間経過したら手仕舞いする
- 利益5%以上
今の私には簡単すぎるストラテジー。
ソースコード
いつも通り独自ライブラリの取り込みが必要です。
実装は次のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
# loop-type: date-only //============================== require "TIlib" require "Utility" require "TrendCheck" //============================== // プロシステムトレーダーサスケ氏の手法の有効性 //============================== // // 下記のルールに従い5日移動平均乖離率の小さい順に銘柄を決める // //・対象:東証1・2部、マザース、ジャスダック //・株価条件:株価100円以下は省く //・出来高条件:過去15日間の売買代金が1千万以下の日が存在する銘柄は省く //・その他:Stop高/Stop安を考慮する //・その他:既に保有中でも、新規建て条件にHITしたら保有する //[エントリー条件] //前日の終値の移動平均乖離(25日)がマイナス20より小さい //3日連続で終値が始値より小さい //[手仕舞い条件] //建て日10日間経過したら手仕舞いする //利益5%以上 codes = CodeList if $code_num && $code_num != Length(codes) Print("前回と異なる銘柄リストでは実行できません。") Dummy end $code_num = Length(codes) //グローバル変数を初期化 if !$__INIT__ $budgetIni = 3000000 $buyUnit = 500000 // 1回の購入資金 (50万円) $MaxHoldDay = 7 // 最大保有日数 $shortSelling = 0 // 空売り戦略 Yes(1)/No(0) $Interest = 1 // 無制限(0) / 単利(1) / 複利(2) $reverse = 0 // 購入順序 昇順(0) / 降順(1) $udcount = 0 // 騰落レシオ利用数 Init() //------------------------------------------------ $DiffMA25 = [$code_num] $DiffMA5 = [$code_num] // 値上がり銘柄のカウント ------------------------ InitDone() // 騰落レシオ初期化 $__INIT__ = 1 end def Main(i) //================================================== // 条件(買条件, 売条件共通部分) //================================================== //まだ上場していない銘柄は株価データがないためnullが返る if (Index == null) return end if ! ($order[(int)Code]) $order[(int)Code] = i end //================================================== if ! ($DiffMA25[i] && $DiffMA5[i]) //銘柄ごとのグローバル変数を初期化する $DiffMA25[i] = DiffMA_new(25) $DiffMA5[i] = DiffMA_new(5) $hold[i] = 0 return end //指標の計算を1日進める DiffMA_next($DiffMA25[i]) DiffMA_next($DiffMA5[i]) // ここまで ======================================== //================================================== // 保有してない→購入 //================================================== if ! ($hold[i]) diffma25 = DiffMA_value($DiffMA25[i]) diffma5 = DiffMA_value($DiffMA5[i]) if ! (diffma25 && diffma5 && {-1}Close && Close && {-2}Close && {-3}Close) return end if ! (Volume && {-5}Volume && {-10}Volume && {-15}Volume && {-5}Close && {-10}Close && {-15}Close) return end // 過去15日間の売買代金が1千万以下の日が存在する銘柄は省く if ! (SalesValue()/4 + {-5}SalesValue()/4 + {-10}SalesValue()/4 + {-15}SalesValue()/4 > 10000) return end // 株価100円以下は省く if (Close <= 100) return end // 前日の終値の移動平均乖離(25日)がマイナス20より小さい flag1 = diffma25 < -20 //3日連続で終値が始値より小さい flag2 = Close < Open && {-1}Close < {-1}Open && {-2}Close < {-2}Open if (flag1 && flag2) $buyflag[i][0] = 1 // 購入フラグ $buyflag[i][1] = diffma5 // 好きなパラメータをもとにソート $buyflag[i][2] = $buyflag[i][0] // 手法別に売りを変える場合 $buyCnt = $buyCnt + 1 end //================================================== // 保有している→売却 //================================================== elsif ($hold[i]) if $set[i] < 1 $set[i] = 1 return end $set[i] = $set[i] + 1 //================================================== // 売買(売り) //================================================== // 1) 利食い:含み益が5%を上回った if ($buyflag[i][2] == 1 && (Close >= 1.05 * $buy[i])) PrintLog("利食い") $sellflag[i] = 1 $set[i] = 0 elsif ($buyflag[i][2] == 1 && ($set[i] >= $MaxHoldDay)) PrintLog("損切り") $sellflag[i] = 1 $set[i] = 0 end end end //==================== // 売り処理 //==================== def Sell_(i) if ($sellflag[i]) Selling(i) $sellflag[i] = 0 $buyflag[i][2] = 0 end // 使用した$buyflag 配列を初期化 if ($buyflag[i][0]) $buyflag[i][0] = 0 $buyflag[i][1] = 0 end end //==================== // 買い処理 //==================== def SortBuy(i) if (PricedataExistCheck(Close)) return end $long = 0 $long = Num($buyUnit, Close) codeset = $order[(int)Code] Buying(codeset) end //==================== // 銘柄コードを変えながらMain関数,BuySell関数を実行 //==================== Print("-------------------------------------------------") Print("日付 = "+ Year + "/" + Month + "/" + Day) SortInit() // ソート初期化 i = -1 while (i + 1 < $code_num) i = i + 1 {codes[i]}Main(i) end i = -1 // ストラテジーによって買いの優先度を変える ---- if ($buyCnt) BuyLoop(1, 1, codes) end //---------------------------------------------- i = -1 while i + 1 < $code_num i = i + 1 {codes[i]}Sell_(i) end |
バックテスト結果
実行時間は1.5時間程度です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
株価データ: 日足 銘柄リスト: 全銘柄 1998/01/05~2020/08/26における成績です。 ---------------------------------------- 全トレード数 3264 勝ちトレード数(勝率) 1800(55.15%) 負けトレード数(負率) 1464(44.85%) 全トレード平均利率 1.24% 勝ちトレード平均利率 10.51% 負けトレード平均損率 -10.15% 勝ちトレード最大利率 129.80% 負けトレード最大損率 -66.04% 全トレード平均期間 7.83 勝ちトレード平均期間 5.85 負けトレード平均期間 10.26 ---------------------------------------- 必要資金 ¥2,975,300 最大ポジション(簿価) ¥2,999,900 最大ポジション(時価) ¥3,511,700 純利益 ¥17,403,670 勝ちトレード総利益 ¥83,550,170 負けトレード総損失 -¥66,146,500 全トレード平均利益 ¥5,332 勝ちトレード平均利益 ¥46,417 負けトレード平均損失 -¥45,182 勝ちトレード最大利益 ¥662,000 負けトレード最大損失 -¥316,800 プロフィットファクター 1.26 最大ドローダウン(簿価) -¥4,631,023 最大ドローダウン(時価) -¥4,899,623 ---------------------------------------- 現在進行中のトレード数 3 ---------------------------------------- 平均年利 27.85% 平均年利(直近5年) -4.88% 最大連勝 14回 最大連敗 9回 ---------------------------------------- [年度別レポート] 年度 取引回数 運用損益 年利 勝率 PF 最大DD 2020年 110回 ¥1,098,121円 36.91% 53.64% 1.39倍 -42.52% 2019年 150回 ¥393,424円 13.22% 51.33% 1.18倍 -45.35% 2018年 190回 -¥2,222,619円 -74.70% 41.58% 0.48倍 -38.53% 2017年 110回 ¥806,700円 27.11% 57.27% 1.61倍 -27.46% 2016年 147回 -¥800,947円 -26.92% 48.98% 0.74倍 -45.87% 2015年 133回 -¥749,268円 -25.18% 45.11% 0.77倍 -26.02% 2014年 157回 ¥760,600円 25.56% 55.41% 1.25倍 -29.15% 2013年 137回 ¥692,000円 23.26% 61.31% 1.25倍 -42.59% 2012年 123回 ¥63,100円 2.12% 56.91% 1.02倍 -27.78% 2011年 112回 ¥458,800円 15.42% 56.25% 1.18倍 -37.88% 2010年 126回 ¥1,106,022円 37.17% 57.14% 1.46倍 -44.79% 2009年 142回 ¥1,059,345円 35.60% 58.45% 1.31倍 -66.04% 2008年 228回 -¥550,073円 -18.49% 50.88% 0.91倍 -44.45% 2007年 205回 -¥1,610,000円 -54.11% 47.80% 0.68倍 -50.26% 2006年 180回 -¥604,500円 -20.32% 52.78% 0.88倍 -44.25% 2005年 125回 ¥2,880,000円 96.80% 69.60% 3.30倍 -26.88% 2004年 136回 ¥2,407,063円 80.90% 66.91% 2.33倍 -27.85% 2003年 144回 ¥3,420,100円 114.95% 68.06% 2.44倍 -37.23% 2002年 204回 ¥3,570,800円 120.01% 61.76% 2.08倍 -32.43% 2001年 187回 ¥1,679,700円 56.45% 62.57% 1.43倍 -50.81% 2000年 218回 ¥3,545,300円 119.16% 66.97% 1.98倍 -42.35% |
利益曲線は次のとおりです。
ひでぶ!!
バキバキだぁーーーーー!
いや、、こんな結果は心も体もバキバキですよ・・・・。
泣いちゃうよ。。
2006年頃にシステム構築して、このストラテジーで始めたとすると、毎年が負けの連続・・・
・。
泣いちゃうよ。。
まとめ
「現役のプロシステムトレーダー」サスケ氏のサイトは2011年02月02日から更新がありません・・・。
ブログを辞める理由は人それぞれなので、理由は分かりません。
分かっている事は、システムトレードで金持ちになった人は過去におらず、金持ちになった人はツールやストラテジーを販売した人です。