前回「新3点チャージ投資法2021」のロジックを知るために明地文男氏のサイトを訪問した。
その際に、他のページを眺めてみると、2004年頃に
3Days投資法
というテクニカルトレードも発表していたらしい。
まったく知らねーーー。
かなり詳細に考察されたサイトも存在する。
この筆者は元手が2倍になったっぽい……。
2005年頃まではシステムトレードが全盛期だったんだ。
君たちに、もっと早く出会いたかったよ……。
3Days投資法とは何か?
言わんもがな投資法の考案者は明地文男氏。
始値を基準とし、始値から特定値(AP値:アタック・ポイント)下げたら「買い」。
約定したら「特定値」(BP値:ベネフィット・ポイント)を買値にプラスして売り注文を出す。
Y(売値)=X(買値)+BP
投資期間は3日間。
売り注文の値で利益確定できない場合は3日目の終値で手仕舞い。
投資対象は次の通り。
- ディフェンシブ銘柄
- 出来高が多い銘柄
- 大型株
- 優良株
- 東証一部の銘柄
- 値動きが悪い銘柄(上下動の値幅が小さい)
3Days投資法に最も向く銘柄はディフェンシブ銘柄。
業種としては食品、医薬品、電力、ガスなどの会社。
安定を求めるので、逆に株購入を見送る日は次のとおり。
- ①権利落ち日を含む、前後3日間程度(理由…権利落ち日に急落するケースがある為)
- ②決算発表の前後(理由…決算の内容により、値が大きく動くケースがある為)
- ③目先の高値圏のとき(理由…株価調整が入り、買値から更に下落するケースがある為)
売買を機械的にでき、勝率もよい投資法。
利益率は小さいので、手数料の安い証券会社を利用する。
AP値、BP値の決め方
この手法は、銘柄毎に利益が出やすいAP値、BP値を算出し機械的に売買することがポイント。
大事なのは
AP値、BP値をどう求めるのか?
ググった情報によると、AP値・BP値の組み合わせを出現頻度、予想利益で分類するらしい。
- ①始値からいくら(値幅X)値下がりするパターンが多いか?
- ②ダウンポイントから3日間でいくら(値幅Y)値上りするパターンが多いか?
- ①と②との組み合わせで、どの組み合わせの出現頻度が高いかを計算
発生する確率が高い①と②との組み合わせが分かれば「始値からいくら値下がりしたら買う」「買値からいくら値上りしたら売る」が分かるという訳だ。
それを各銘柄の株価に対応しAP・BP値を400通りの組み合わせで分析し、出現頻度と50日間の予想利益から最適な組み合わせを選出する。
まじかーー。
結構力作業だなーー。
具体的なアルゴリズムを把握する
調べてみるとAP・BP値を提示するツールは、明地氏自らがマクロ付きの株価分析用Excelファイルを無料・有料提供していた。
サイトに書いてある「使い方」は次のとおり。
- 該当銘柄の銘柄コードを入力し表示ボタンを押す(Yahooファイナンスから過去50日分の株価データがダウンロードされる)
- 儲かる可能性が高いAP値、BP値を算出する
- 同時に該当銘柄が3Days投資法に適しているかどうかの評価を判定する
- 提示されたデータから自分で最適だと思うAP値、BP値を選択する
ちっとも分かんねーー!
仕方ないので、Excel中のマクロを簡単に読んでみた。
……とカッコよく言えたら良いけど読んだことが無いのでイミフで土日が潰れた。
AP値、BP値を20候補抽出して網羅検証 20 x 20 = 400通りの組み合わせで分析する事は前述したが、その20件の抽出方法は次の計算になる。
【AP値】
- ダウンポイント(最高値) = MIN ( MAX(当日安値 – 始値)or -刻み )
- ダウンポイント(最低値) = MIN (当日安値 – 始値 or -刻み )
- 刻み = MIN ((MIN – MAX) / 20 , 刻み)
【BP値】
- アップポイント(最高値) = MAX ( MAX(当日終値、翌日高値、翌々日高値)-安値 or 刻み)
- アップポイント(最低値) = MAX ( MIN(当日終値、翌日高値、翌々日高値)-安値 or 刻み)
- 刻み = MAX ((MIN – MAX) / 20 , 刻み)
【刻みの値】
予め株価値幅単位に応じて決められている。
株価(以上) | 刻み |
---|---|
1.0 | 0.1 |
1,000.1 | 0.5 |
3,000.1 | 1 |
10,000.1 | 5 |
30,000.1 | 10 |
100,000.1 | 50 |
300,000.1 | 100 |
1,000,000.1 | 500 |
3,000,000.1 | 1,000 |
10,000,000.1 | 5,000 |
30,000,000.1 | 10,000 |
これによりAP値とBP値の候補範囲が決まった。
あとは20分割して400通りのバックテストを50日間で実施して最適値(3D判定)を求める。
AP値、BP値の最適値の求め方(3D判定アルゴリズム)
ざっくり言えば、おすすめ指数を「儲け額大きい」「利益率高い」「おすすめ」など10段階で計算して求めている。
特A | 10 |
---|---|
A | 8.5以上 |
B | 6.5以上 |
C | 4.5以上 |
D | それ以外 |
E | 利益がマイナス |
この10段階は、下記を合計して3で割った数字。
利益率 | 【式】取引数 = 0なら0、それ以外は 利益 /(買値の合計 x 株数) |
---|---|
0.02以上:10、0.015以上:9、0.01以上:8、0.008以上:7、0.006以上:6、0.004以上:4、0.002以上:0、0以上:-5、それ以外:-30 | |
損失P | 【式】取引数 = 0なら0、それ以外は ABS(支出 / 収入) |
0.2以下:5、0.3以下:4、0.4、0.5以下:2、0.6以下:-2、それ以外:-5 | |
購入数 | 【式】勝利数 / 取引数 |
16以上:-3、12以上:2、8以上:3、4以上:5、3以上:4、2以上:2、1以上:0、それ以外:-5 | |
BP勝率 | 【式】「売りBP >= 差額(取引成功時:高値 – 買値)」が大きい数 / 取引数 |
0.8以上:5、0.6以上:4、0.5以上:3、0.4以上:2、0.3以上:1、0.2以上:-2、それ以外:-5 | |
AB | 【式】買いAP / 売りBP |
AB倍率が2以上:-3、1.5以上:1、1.1以上:3、0.5以上:5、0.4以上:3、0.3以上:2、0.2以上:1、それ以外:0 |
経験則から来る内部の閾値が多すぎて、よく分からなかった。
50日のバックテストとサイトには書いてあったけど、20日のバックテストに見えるし……。
うーん、イマイチよく分からない。
まとめ
初めて人の書いたVBA読みましたよ、週末潰してね。
関数とVBAマクロのセットって破壊的に読みにくいのね……。
マクロに戻って「○○ブックの△△行の値をコピー」と書かれているのを確認して、今度はブックを飛び回って関数の中身を確認する……の繰り返し。
まぁ多少VBAの知識が増えたし、良しとするか……。
つづく。