イザナミの販売会社は「ツクヨミ」。
サイトを見る限り、資本金300万円の有限会社だ。
会社法が施行された2006年以前である2005年に設立しているようで、今では珍しい有限会社。
有限会社には、
- 取締役の任期の期限がない
- 決算の公告義務がない
などといったメリットがあるため、未だ有限会社を名乗っていると思われる。
しかし逆にイザナミでどれだけ利益を出しているのか我々からは全く分からない。
ビジネスとしてはイザナミ販売(関係するツール、サイト運営)を除くと受注生産的な事もやっているようだ。
- サービスソフトウェアの設計/開発
- Webアプリケーション設計/開発
- ホームページ設計/開発
どちらにせよ、何年経っても規模は大きくならなそうなビジネス展開。
イザナミ利用者は、自分の人生をこの会社に預けている事を覚えておいた方が良い。
イザナミはセミナーや広報活動に余念がない。
ストラテジーのサンプルも公開している。
 
 
超定番!だけど右肩上がりの逆張り戦略
今回検証したいのは イザナミHP で2009年から公開中の逆張り戦略。
公開してからずーっと右肩上がりなんですよ。
初めてシステムトレードを行うにはもってこいの使えるお手本ルールです!
 
 

「初めて」とか「初心者」とか株式投資では無意味な言葉。
全員が同じフィールドに立ち、世界中でプロや機関、AIと個人投資家が金のむしり取り合いをする。
初心者コースとかランクとかハンデとか、そんなものは一切存在しないガチンコ戦。
常にデッド・オア・アライブ
それが株式投資。
脱線したが、この手法はOSSのProtraで初期にバックテストをやってみた事がある。

改めてバックテストをやってみた。
イザナミのサンプル手法の有効性検証
【買いルール】
- 1) 15日移動平均線より株価が10%より下にあった場合
イザナミの設定を見ると「[終値]が[移動平均(終値)(15)(-10.00%)]より[小さい(同じ含む)]」となっている
【手仕舞いルール】
- 1) 10日以上持っていた場合
- 2) 5%以上の含み損が出た場合
- 3) 5%以上の含み益が出た場合
バックテスト結果
バックテスト時間は東証一部で45分。
| 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 | 株価データ: 日足 銘柄リスト: 東証1部 2000/01/06~2021/11/25における成績です。 ---------------------------------------- 全トレード数		5698 勝ちトレード数(勝率)	2783(48.84%) 負けトレード数(負率)	2915(51.16%) 全トレード平均利率	0.95% 勝ちトレード平均利率	8.94% 負けトレード平均損率	-6.68% 勝ちトレード最大利率	1,151.06% 負けトレード最大損率	-61.11% 全トレード平均期間	6.23 勝ちトレード平均期間	6.06 負けトレード平均期間	6.39 ---------------------------------------- 必要資金		¥2,975,800 最大ポジション(簿価)	¥3,511,300 最大ポジション(時価)	¥10,346,350 純利益			¥24,332,940 勝ちトレード総利益		¥112,207,300 負けトレード総損失		-¥87,874,330 全トレード平均利益	¥4,270 勝ちトレード平均利益	¥40,319 負けトレード平均損失	-¥30,146 勝ちトレード最大利益	¥6,055,413 負けトレード最大損失	-¥500,000 プロフィットファクター		1.28 最大ドローダウン(簿価)	-¥1,988,400 最大ドローダウン(時価)	-¥1,991,200 ---------------------------------------- 現在進行中のトレード数	6 ---------------------------------------- 平均年利		37.17% 平均年利(直近5年)	6.89% 最大連勝		13回 最大連敗		10回 ---------------------------------------- [年度別レポート] 年度	取引回数	運用損益	年利	勝率	PF	最大DD 2021年	  159回		¥398,000円	13.37%	52.20%	 1.25倍	-10.44% 2020年	  182回		¥9,000円	0.30%	51.65%	 1.00倍	-50.00% 2019年	  161回		¥995,900円	33.47%	55.28%	 1.64倍	-17.89% 2018年	  212回		-¥894,800円	-30.07%	42.45%	 0.73倍	-42.29% 2017年	  219回		¥517,000円	17.37%	50.68%	 1.18倍	-61.11% 2016年	  270回		-¥45,000円	-1.51%	46.67%	 0.99倍	-16.44% 2015年	  240回		-¥685,000円	-23.02%	42.08%	 0.79倍	-16.92% 2014年	  255回		¥596,500円	20.05%	53.73%	 1.17倍	-20.13% 2013年	  252回		¥1,466,100円	49.27%	54.76%	 1.41倍	-22.86% 2012年	  273回		¥982,300円	33.01%	51.65%	 1.21倍	-33.33% 2011年	  264回		¥1,423,625円	47.84%	49.62%	 1.28倍	-50.00% 2010年	  238回		¥525,900円	17.67%	54.62%	 1.13倍	-50.00% 2009年	  286回		¥8,200,713円	275.58%	55.94%	 2.62倍	-33.33% 2008年	  332回		¥668,400円	22.46%	50.60%	 1.10倍	-32.64% 2007年	  310回		-¥351,000円	-11.80%	44.52%	 0.94倍	-30.34% 2006年	  291回		¥1,131,700円	38.03%	51.89%	 1.26倍	-24.28% 2005年	  220回		¥545,500円	18.33%	49.55%	 1.20倍	-18.97% 2004年	  256回		¥1,387,400円	46.62%	53.91%	 1.40倍	-16.98% 2003年	  292回		¥3,197,700円	107.46%	61.30%	 1.77倍	-22.77% 2002年	  301回		¥965,800円	32.46%	48.84%	 1.21倍	-27.30% 2001年	  328回		¥1,012,000円	34.01%	50.61%	 1.20倍	-21.52% 2000年	  357回		¥2,285,200円	76.79%	52.94%	 1.38倍	-23.64% | 
利益曲線は次の通り。
うーん、サイトで紹介されている結果とは全く異なる。
近年の利益もあまり良くない。
とはいえ多くのイザナミユーザは、このサンプルを改造するかストラテジーを購入していると思うので、ちょっと修正してみた。
| 1 2 3 4 5 6 7 8 9 10 11 | //================================================== // 売買(買い) //================================================== // 1) 15日移動平均線より株価が10%より下にあった場合 flag1 = diffma < 10 // 2) 株価が100円以上 flag2 = Close >= 100 // 3) 20日平均売買代金が2億円以上 tv = TradingValume(20) flag3 = tv >= 20000 if (flag1 && flag2 && flag3) | 
利益曲線は次のとおり。
多少サンプルに似たグラフになった。
でもパラメータをグリグリ動かして調整するのは私の性分に合わないわ。
まとめ
1~3日後に利益が出る銘柄選びばかりしてたけど、塩漬けが得意な私としては長期保有の銘柄選びにシステムトレード使うほうが良いんじゃないか?と思い始めた。
一生下がり続けるような銘柄ばかり購入してしまう私は市場ではカモにしかなってないわ。
また、イザナミが初心者向けとしている逆張り戦略は実は資金管理が難しくあまり初心者向けじゃない気がするので注意を。
ソースコード
バックテストには無料OSSの「Protra」を利用した。
TIlib、Utility、TrendCheck、TOPIXライブラリはGitHubに置いている。
| 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 | # loop-type: date-only //============================== require "TIlib" require "Utility" require "TrendCheck" // ====================================== // イザナミのサンプル手法 // ====================================== // //【仕掛けのルール】 // 1) 15日移動平均線より株価が10%より下にあった場合 // //【手仕舞いのルール】 // 1) 10日以上持っていた場合 // 2) 5%以上の含み損が出た場合 // 3) 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() //------------------------------------------------         $DiffMA       = [$code_num] //------------------------------------------------         InitDone()                 // 騰落レシオ初期化         $__INIT__     = 1 end def Main(i)         //==================================================         // 条件(買条件, 売条件共通部分)         //==================================================         //まだ上場していない銘柄は株価データがないためnullが返る         if (Index == null)                 return         end         if ($order[(int)Code] == -1)                 $order[(int)Code] = i         end         if ! ($DiffMA[i])                 // 銘柄ごとのグローバル変数を初期化する                 $DiffMA[i] = DiffMA_new(15)                 $hold[i]   = 0                 return         end         //指標の計算を1日進める         DiffMA_next($DiffMA[i])         //==================================================         // 保有してない→購入         //==================================================         if (! $hold[i])                 diffma = DiffMA_value($DiffMA[i])                 if ! (diffma && Close)                          return                 end                 //==================================================                 // 売買(買い)                 //==================================================                 // 1) 15日移動平均線より株価が-10%より下にあった場合                 flag1 = diffma <= -10                 if (flag1)                         $buyflag[i][0] = 1                         $buyflag[i][1] = diffma                         $buyflag[i][2] = 1                         $buyCnt = $buyCnt + 1                 end         //==================================================         // 保有している→売却         //==================================================         elsif ($hold[i])                 if ($set[i] < 1)                         $set[i] = 1                         return                 end                 $set[i] = $set[i] + 1                 //==================================================                 // 売買(売り)                 //==================================================                 // 1) 利食い:5%以上の含み益が出た場合                 if (Close >= 1.05 * $buy[i])                         PrintLog("利食い")                         $sellflag[i] = 1                         $set[i] = 0                 // 2) 損切り:5%以上の含み損が出た場合                 elsif (Close <= 0.95 * $buy[i])                         PrintLog("損切り")                         $sellflag[i] = 1                         $set[i] = 0                 // 2) 損切り:10日以上持っていた場合                 elsif ($set[i] >= $MaxHoldDay)                         PrintLog("損切り")                         $sellflag[i] = 1                         $set[i] = 0                 end         end end //==================== // 買い処理 //==================== def SortBuy()         if ! (HasPricedata({1}Open))                 return         end         $long = 0         $long = Num($buyUnit, Close)         codeset = $order[(int)Code]         Buying(codeset) 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 //==================== // 銘柄コードを変えながらMain関数,BuySell関数を実行 //==================== Print("-------------------------------------------------") Print("日付 = "+ Year + "/" + Month + "/" + Day) $buyCnt = 0   // 購入数初期化 i = -1 while (i + 1 < $code_num)         i = i + 1         {codes[i]}Main(i) end i = 0 if ($buyCnt)         sortList = SelectionSort(10, 0)         cnt = $buyCnt         if ($buyCnt > 10)             cnt = 10         end         while i < cnt                {sortList[i]}SortBuy()                i = i + 1         end end //---------------------------------------------- i = -1 while (i + 1 < $code_num)         i = i + 1         {codes[i]}Sell_(i) end | 

 
  
  
  
  




