チームに分かれて3ヶ月かけて検討したマネージャとガチンコ勝負の「社内コンペ」が終わりました。
問題、課題のロジカルシンキングは流石マネージャ。素晴らしいです。
ただ、施策は目新しいものは無いなぁ。。。と全チームの内容を見ると思います、自分たち含めて。
本業の将来性を再認識したので、早期リタイアに向けてシステムトレードのストラテジの検証をします。
そもそも、システムトレードを再開しようと思った理由は2つです。
- 問題・課題を抽出して導き出した施策が「バックテスト」だった
- 実際のデータで定説を検証した書籍が昨年発売されたため
2つ目は加藤浩一(ITと金融工学を融合させたプログラムトレード技術「カブロボ」を開発)の「ロボット運用のプロが分析してわかった 最強の株式投資法」という書籍です。
星の評価は賛否両論のようですが、低評価の人のコメントを読むと「バックテスト」の意味が分かってないです。
なぜそういう数字になるのかという事についての考察がまったくないか、こじつけであることが多く、これでは投資できないと思いました。
[引用] 投稿者Amazon Customer2016年10月19日
こじつけ・・・って言われてもバックテストを徹底的に実施してカブロボ・コンテストで1位になった方の実証データだからなぁ・・。。
結果が全てだよね、、考察なんて不要で勝てりゃ良いです。
ボリンジャーバンドとRSIの組み合わせ手法
加藤浩一氏のインタビューによると、
日経225ETFを毎回100株ずつ買うバックテストを繰り返したところ、好成績だったのがボリンジャーバンドとRSIの組み合わせ
[引用] プロが使う[必勝トレード]なるものは存在するのか? HARBOR BUSINESS Online 2016年10月31日
さっそく検証してみましょう。
【買いルール】
次の2つの条件の両方が揃ったときに翌日の寄り付きで買う。
- ボリンジャーバンドは中心線を12日、乖離率を1.9σとして、下側を一端突き抜けて、その後に戻ってきた
- RSIの対象期間を21日として、比較的長い期間でRSIが49%を上回った(下落局面ではないと判断できる)
【手仕舞いルール】
- 買いシグナルの19営業日後に無条件に決済する
ソースコード
「下側を一端突き抜けて、その後に戻ってきた」「比較的長い期間」という曖昧な表現があるので、次のように定義した。
- 前日の終値のBB(12日)の乖離率が1.9σ以下、本日の終値は1.9σ以上
- RSI(21日)の5日前、15日前、30日前が49%を上回っている
分かってます。
多分、間違っています・・・・。
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 |
require "TIlib" require "Nehori" if !$__INIT__ $BUDGET = 1000000 // 予算 $MHP = 10 // max holding period (business day) $set = 0 $BB = BB_new(12) $BB1 = {-1}BB_new(12) $RSI = RSI_new(21, 0) $RSI5 = {-5}RSI_new(21, 0) $RSI15 = {-15}RSI_new(21, 0) $RSI30 = {-30}RSI_new(21, 0) $__INIT__ = 1 else BB_next($BB) BB_next($BB1) RSI_next($RSI) RSI_next($RSI5) RSI_next($RSI15) RSI_next($RSI30) end def BuyCond //買い条件 if ! Close && {-1}Close return end ma = BB_value($BB) // MA(BBの中心) ma1 = BB_value($BB1) // MA(BBの中心) sigma = BB_deviation($BB) sigma1 = BB_deviation($BB1) rsi = RSI_value($RSI) rsi5 = RSI_value($RSI5) rsi15 = RSI_value($RSI15) rsi30 = RSI_value($RSI30) if ! (ma && sigma && rsi && rsi5 && rsi15 && rsi30) return end bb = ma - 1.9 * sigma bb1 = ma1 - 1.9 * sigma1 return {-1}Close <= bb1 && Close >= bb && rsi > 49 && rsi5 > 49 && rsi15 > 49 && rsi30 > 49 end def SellCond //売り条件 return end Main() |
Nehori.pt はこちらに記載しています。
バックテスト結果
全トレード平均期間が19日を超えています。うーん、不明。
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 |
株価データ: 日足 銘柄リスト: 日経平均構成銘柄 10/01/05~29/05/12における成績です。 ---------------------------------------- 全トレード数 3554 勝ちトレード数(勝率) 1820(51.21%) 負けトレード数(負率) 1734(48.79%) 全トレード平均利率 0.62% 勝ちトレード平均利率 6.68% 負けトレード平均損率 -5.74% 勝ちトレード最大利率 68.51% 負けトレード最大損率 -100.00% 全トレード平均期間 19.52 勝ちトレード平均期間 19.49 負けトレード平均期間 19.55 ---------------------------------------- 必要資金 \52,789,880 最大ポジション(簿価) \67,320,520 最大ポジション(時価) \71,166,900 純利益 \18,501,100 勝ちトレード総利益 \102,369,100 負けトレード総損失 -\83,868,020 全トレード平均利益 \5,206 勝ちトレード平均利益 \56,247 負けトレード平均損失 -\48,367 勝ちトレード最大利益 \620,000 負けトレード最大損失 -\852,000 プロフィットファクター 1.22 最大ドローダウン(簿価) -\13,447,030 最大ドローダウン(時価) -\13,597,750 ---------------------------------------- 現在進行中のトレード数 2 |
この結果から分かることは
負けトレードでは全てを失います!
利益曲線は次のとおりです。
一方、記事の中で筆者が行ったバックテスト結果が次のとおりです。
’06年以降の資産推移。大きなショック時でも資産の大幅減少はほとんどなく、安定した成果に。毎回100株の売買でも11年弱で約1.5倍に資産を増やすことができる
私の何かが根本的に間違っています・・・・。
因みに「日経225連動型上場投資信託(1321)」だけ取引対象にしたら、一度も購入がありませんでした・・・
まとめ
分かっています。
「ソースコードの書き方」「Protraの使い方」「ロジックの組み立て方」も全てが間違っていることを・・・。
重要なのは情報を発信することです。
それが、いつか新しい交流・成功に繋がることを信じています。