ドルコスト平均法に勝るアルゴリズムの提案と検証を進めていくシリーズ第一回を始めます!!
導入
毎月決まった額を投資するだけで高いリターンと安定性が手に入る「ドルコスト平均法」
ドルコスト平均法を使う上での大きなメリットは大きく3つあると考えます。
(実際にはもっとあるが)
- 1.コストパフォーマンスが高い
- 2.意志を排して機械的に投資できる
- 3.低いときに多く買い、高いときに少なく買える
本来であればプロが一日中パソコンの前に張り付いて稼いでる利益を自分の口座から自動引き落としの設定をしているだけで享受できるのです。
また、自動引き落としであることから自分の意志は介在しません。「理論的には割安のときに買うといいはずけどどこまで下がるか分からないからちょっと買うのは待っておこう」といった意志の弱さが原因で機会損失することがありません。
定額積立を始めたうちは気になってしょうがないものですが、数年たてば確認することすら忘れるようになります。実際に私も二年間ぐらいは見ていませんでした。
ここ数年、進学後に交通費や遊ぶお金が激増したせいで積立に回す金額は0になっていました。
しかし、遂にバイトを始めて(金食い虫から卒業した)私は投資にお金を回すことを決意しました。
そこでおよそ二年ぶりに開いた開かずの口座。
残高は+100%超の利益により2倍になっていました。
ここで、強欲な私はふとこう思ってしまったわけです。
「もっとあってもよくなーい??」
ということで本題。
ドルコスト平均法の前述したメリットを受け取りつつもっと大きな利益が欲しい!
では、どうするか。
メリットの1と2はシステムトレードで達成可能。
メリットの3の安く多く買い、高く低く買うという強みを伸ばせばいいんじゃないの!?
理論
長期投資と投資信託を前提に話します。
そのため個別株のような破産(上場廃止)は考慮しません。
さて、「安く多く買い、高く少なく買う」というドルコスト平均法の強みを、さらに伸ばすにはどうすればいいか。
ここで、改めてドルコスト平均法の動きを考えてみましょう。
「定額」で買い続けるということは、株価が半分になるような大バーゲンセールの日でも、いつもと同じ1万円。逆に、明らかにバブルで「今買うのは怖いな…」と感じる最高値の日でも、いつもと同じ1万円を投資し続けます。
この 常に定額 というルール。これこそが、大きな利益を逃す原因であり、実にもったいない点だと気づいたのです。
そこで僕は考えました。
「毎月積み立てる」というドルコスト平均法の良い部分はそのままに、投資する金額の方を、価格に合わせて変動させればいいんじゃないか? と。
つまり、いつもの積立額をベースにしつつ、株価の状況に応じて倍率をかけてやるんです。
- 基準の価格より安ければ → 投資額を増やす(例:1.5倍、2.0倍…)
- 基準の価格より高ければ → 投資額を減らす(例:0.8倍、0.5倍…)
こうすれば、「安い時に、もっと多く買う」「高い時に、買う量を減らす」というDCAのメリットを、極限まで強化できるはずです。
言葉だけだと分かりにくいと思うので、超簡単な例で見てみましょう。
シミュレーション:DCA vs 倍率投資
ある株が 200円
→ 100円
→ 300円
と変動したとします。
- 戦略A(いつものDCA): 毎回 1,000円 を投資(常に倍率1.0倍)
-
戦略B(AAVC風 倍率投資): 基準価格を200円と考え、倍率を変えます。
- 株価200円の時:1,000円 × 1.0倍 = 1,000円 投資
- 株価100円の時:1,000円 × 2.0倍 = 2,000円 投資(アクセルON!)
- 株価300円の時:1,000円 × 0.6倍 = 600円 投資(ブレーキ!)
この二つの戦略の結果がどうなるか、見てみましょう。
【最終比較】
項目 戦略A (DCA) 戦略B (倍率投資)
-----------------------------------------------------------------
総投資額 3,000円 3,600円
総購入株数 18.33株 27.00株
平均購入単価 163.67円/株 133.33円/株
最終評価額 (株価300円) 5,499円 8,100円
リターン (利益) 2,499円 4,500円
リターン率 83.3% 125.0%
やったことは、いつもの積立額に株価に応じた「倍率」をかけただけ。たったこれだけで、平均購入単価はガクンと下がり、最終的なリターン率はDCAを圧倒しました。
問題は、その「基準価格」と、状況に応じた「適切な倍率」をどうやって決めるか。
過去のデータから「その株が平均的にどのくらい価格が動くのか」を算出し、それを基準に「今の価格は割安なのか、割高なのか」を判断し、投資すべき金額の倍率を導き出す必要があります。
この基準価格と倍率をどうやって設定するかがこのシリーズの肝となります。
この問いに対する僕なりの答え、そしてこのシリーズの肝となる仕組みこそが、私が検証をしたい AAVC(Asymmetric Average Volatility Cost) です。
-
Asymmetric (非対称)
株価の上昇(リスク)と下落(チャンス)を、同じ価値として扱いません。価格が下がった「買い場」をより重視し、積極的に投資するための非対称な戦略をとる、という意味。 -
Average (平均)
勘や気分に頼るのではなく、過去のデータから平均的な株価の動きを算出します。あくまでデータに基づいた判断をする、というアプローチの根幹です。 -
Volatility (ボラティリティ)
AAVCの心臓部。日本語では「価格変動率」と訳されます。簡単に言えば、その株が持つ固有の「暴れん坊具合」のこと。このボラティリティを分析することで、「普段の動きと比べて、今の価格はどれだけ異常なのか」を判断し、投資倍率を決めます。 -
Cost (コスト)
これは「取得価格」や「購入単価」のことです。ボラティリティを考慮して計算された「戦略的な購入単価」で資産を積み上げていくことを目指す、という最終目標を表しています。
つまりAAVCとは、「過去の平均的な価格変動率を分析し、非対称的な考え方で戦略的な取得単価を目指す手法」 ということになります。
AAVCのアルゴリズム
そのアルゴリズムのステップを見ていきましょう!
Step 1: ボラティリティ(変動率)を計算する
まず、過去の株価データ(例えば、直近1年分)を用意します。そして、日々の価格が平均して何%くらい動いているのかを計算します。これがボラティリティです。
Step 2: 乖離(かいり)率(お買い得度)を計算する
次に、「基準価格」と「現在の価格」が、今どれくらい離れているのかを計算します。これが乖離率です。
「基準より何%安くなってる(高くなってる)?」という、今のお買い得度(割高感)を数値化する作業
Step 3: 投資倍率を決定する!
最後に、Step1の「ボラティリティ」とStep2の「乖離率」を掛け合わせ、さらにいくつかの味付け(後述するパラメータ)をして、最終的な投資額を決めます。
ものすごくシンプルに表現すると、こんなイメージです。
投資額 = 基準投資額 × (1 + (乖離率 × ボラティリティ × 非対称係数))
この式が意味するのは、
「株価が基準より安く(乖離率がプラスで大きく)、普段の動きが激しい株(ボラティリティが高い)ほど、たくさん投資する(倍率が上がる)」
という、非常に合理的でアグレッシブな仕組みです。
主要パラメータ紹介
このAAVCは、いくつかの設定を自分で調整して、自分好みの戦略にカスタマイズできます。そして検証することで最適化ができることを目指します
-
base_amount (基準投資額)
文字通り、基本となる投資額です。「毎月3万円」と決めたら、それがベースになります。 -
ref_price (基準価格)
「これより高いか、安いか」を判断するための価格。これを設定しない場合は、過去のデータから自動で設定してくれます。 -
asymmetric_coefficient (非対称性係数)
AAVCの「攻め」の部分を司る、一番面白いパラメータです。下落した時に、どれだけ積極的にアクセルを踏み込むかを決めます。この数値を大きくすると、よりハイリスク・ハイリターンな設定になります。 -
max_investment_multiplier (最大投資倍率)
暴落時に「さすがにこれ以上はリスクを取りすぎかも」という上限を決めておくための安全装置です。「いくら安くても、投資額は基準の3倍まで」といった設定ができます。
まとめ
ドルコスト平均法の期待値を超えるアルゴリズムを探しています。
そこでプロトタイプとして考えたのがAAVCです。
まだまだ探っている最中ですので、
間違いの指摘やより良いアイデアがある方は是非コメントしていただけると幸いです。
次回は計算式の紹介と簡単な検証を進めていこうと思います。
ProjectのGithub
OpenですのでContributeは大歓迎です!
インスピレーションを受けた記事