投資を始める方が一番最初に悩まれるのが、投資資金一括で投資するか、ドルコスト平均法で分割して投資するか悩まれると思います。
また、ボーナス等の臨給でまとまったお金が手に入った際に、どのタイミングで投資するのが良いか迷われる方も多いと思います。

私も悩んでおり、いまだに結論が出ておりません。
投資本によっても一括投資派とドルコスト平均法派で分かれています。
そこで、pythonで過去のチャートから一括投資とドルコスト平均法で投資した場合のリターンについて比較を行いました。
私の投資方針にも大変参考になりましたので、ぜひご一読ください。
VTI以外の人気ETFについても比較した続編記事もあります⇩
- 一括投資とドルコスト平均法どちらが良いか知りたい方
- まとまった投資資金があり、投資タイミングを考えている方
- 過去データからの投資結果を知りたい方
目次
一括投資とドルコスト平均法とは
まず本検討の前提となる一括投資とドルコスト平均法について説明します。
一括投資とは
名前の通り、まとまったお金が手に入ったら、すぐに全額投資する方法です。
分割は一切行いません。
お金を早く投資に回すことで複利を効かせる期間を長くすることに有効です。

一括投資派は投資金額に複利を長くかけれることに重きを置いています。
ドルコスト平均法とは
投資金額を分割し、毎月定額購入する方法です。
購入時期を分散することでリスクの低減や、毎月定額購入をするため、平均取得金額を下げることができます。

複利は大きくかけれませんが、購入時期を分散させることでリスクの低減をしています。
ドルコスト平均法について詳しくは下記の記事を参考にして下さい。
シミュレーション前提
では今回シミュレーションの前提について説明します。
- プログラム言語:python
- 想定銘柄 :VTI(分配金含まず)
- 期間 :2001年6月15日 ~ 2021年12月23日
- 投資期間 :1年
- 評価方法 :投資1年後の損益率
- 一括投資 : 投資開始日に全額投資
- ドルコスト平均法: 投資金額を12分割し、投資開始日から一か月間隔で1年間定額投資
想定銘柄は人気米国ETFのVTIで行いました。
配当金は今回のシミュレーションには含んでいません。
期間はVTIが設定された日以降の2001年6月15日から2021年12月23日にしました。
その期間内の全て日において、投資開始した場合の一年後の損益率比較をします。

まとまった金額を一括投資した場合と1年間分割投資した場合の比較だね。
実際の運用でも頻繁に想定される状況だと思います。
コード
ライブラリの読み込みとVTIのチャート
import numpy as np
import matplotlib.pyplot as plt
import pandas_datareader.data as web
import datetime
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')
# 期間設定
start = datetime.datetime(1980,3,31)
end = datetime.datetime(2021,12,25)
# データ取得
df = web.DataReader(['VTI'],'yahoo',start,end)['Adj Close']
# 系列名変更
df.columns = ['VTI']
%matplotlib inline
fig, ax = plt.subplots(1, figsize=(12, 8))
df.plot(ax =ax, label='VTI')
plt.grid()
ax.set_ylabel(u'price')
ax.set_xlabel(u'date')
実行結果

一括投資とドルコスト平均法の比較
def package(year):
price = 10000 # 初期保有資産額
df['hold'] = price // df.iloc[:,0] # 購入株式数
df['rest'] = price % df.iloc[:,0] # 残り金額
df['return'] = np.zeros(len(df)) # リターン
for i in range(len(df)-251*year):
df.iloc[i,3] = df.iloc[251*year + i,0] *df.iloc[i,1] + df.iloc[i,2] # 251営業日で約一年後×10年
df['return_p'] = df['return'] / price
return df
def dollercost(year):
df['hold'] = np.zeros(len(df))
df['rest'] = np.zeros(len(df))
df['return'] = np.zeros(len(df))
price = 10000 # 初期保有資産額
price_m = price/12/year # 毎月投資額
for i in range(len(df)-251*year):
for j in np.arange(0, 12*year)*20: # 1月(20営業日)ごとに購入
hold_m = price_m / df.iloc[i+j,0] # 購入株式数( あまりも含む)
df.iloc[i,1] = df.iloc[i,1] + hold_m # 保有株数の計算
df.iloc[i,3] = df.iloc[251*year + i,0] * df.iloc[i,1]
df['return_p'] = df['return'] / price # 251営業日で約一年後×10年
return df
year = 1 # 運用期間
df_p = package(year)
df_p= df_p.replace(0, np.NaN)
df_d = dollercost(year)
df_d= df_d.replace(0, np.NaN)
# グラフの描写
plt.hist(df_p['return_p'], bins=30, alpha = 0.5, label='Package', density=True)
plt.hist(df_d['return_p'], bins=30, alpha = 0.5, label='Dollar cost', density=True)
plt.grid()
plt.xlabel('Return')
plt.ylabel('Probability')
plt.legend(loc='upper right')
# 一括投資がドルコスト平均法を上回った確率の計算
ret_d =df_p['return_p'] - df_d['return_p']
count = 0
for i in range(len(ret_d)):
if ret_d[i] >= 0:
count=count + 1
p_pack = count/(len(df)-251*year)
print(p_pack) # 一括投資がドルコスト平均法を上回った確率
実行結果

一括投資がドルコスト平均法を上回る確率 : 72.68 %
平均と標準偏差で分析
# 一括購入
ret_p_mean = df_p['return_p'].mean()
ret_p_std = df_p['return_p'].std()
# ドルコスト平均法
ret_d_mean = df_d['return_p'].mean()
ret_d_std = df_d['return_p'].std()
実行結果
平均 (リターン) | 標準偏差 (リスク) | 平均 / 標準偏差 (リスク/リターン) | |
一括投資 | 1.11 | 0.174 | 6.41 |
ドルコスト平均法 | 1.06 | 0.106 | 10.0 |
分析結果
以上の解析からわかることは大きく3つあります。
一括投資の方がリターンが良い確率が高い
一年後のリターンを比較すると、約72.7%の確率で一括投資の方が良い結果となりました。
また、平均リターンもドルコスト平均法が1.06倍なのに対し、一括投資は1.11倍と5%も高くなります。

一括投資の方が複利を掛けれる期間が長くなるため、リターンも高くなるね。
さらに今回のシミュレーションでは分配金を含んでいませんが、分配金を含むと更に一括投資が良いと想定されます。
リターンとリスクの比率はドルコスト平均法が良い
確率分布をみても分かる通り、一括投資の場合はリターンの振れ幅が高く、大幅な利益を得ることもあれば、損失を受ける場合もあります。
投資リスクを数値で表すために標準偏差を用います。
標準偏差はドルコスト平均法の方が低く、リターンとリスクの比率(平均/標準偏差)もドルコスト平均法が良い結果となりました。

リスクとリターンのバランスはドルコスト平均法の方が良いね。
リターンの振れ幅が小さいことから、未来の資産金額も予想しやすそうです。
投資期間(分散期間)が長くなるほど一括投資が有利
今回は投資期間は1年で比較したが、投資期間(分散期間)が5年や10年の場合はどうなるかも比較を行った。
投資期間5年

一括投資がドルコスト平均法を上回る確率 : 81.15 %
投資期間10年

一括投資がドルコスト平均法を上回る確率 : 100. 0%
投資期間(分散期間)が長くなるほど、一括投資がドルコスト平均法を上回る確率が高くなります。
特に、投資期間が10年になると一括投資の方がリターンの幅が広いですが、一括投資がドルコスト平均法を常に上回りました。

投資期間が長くなるほど、一括投資が良いことが分かります。
やはり複利の力の差だと考えられます。
ドルコスト平均法をする場合は分散のし過ぎに、気を付ける必要があります。
まとめ
一括投資とドルコスト平均法についてVTIの過去データを用いて実際に比較を行いました。
今回の検討を通して私の結論は下記のとおりです。
まとまった金融資産がある場合
→ 一括投資がおすすめ!
投資を始める際の初期費用を投資する際やボーナスを投資する場合は一括投資しましょう。
過去の実績からは一括投資した方が複利が効く分、リターンが高くなる確率は高くなります。

じゃドルコスト平均法はする必要ないの?

毎月の給料などを投資する場合は自動積み立てができるドルコスト平均法の方が、手間を掛けなく投資でき、安定したリターンを出すことができます。
場合によって使い分けるといいでしょう。
投資タイミングについて検討しましたが、複利を効かせることは重要です。
投資は一日でも早く多くの金額を投資に回すことで、早く資産を増やすことができます。
投資を通して豊かで幸せな生活を手に入れましょう。
本記事ではVTIのみを比較しましたが、次の記事でVTや高配当株式などのETFについても比較を行いました。
興味のある方は是非ご一読ください。
実際のpythonのコードはこちらの記事も参考にしてください。
プログラミング初心者でも簡単にシミュレーションできますので、ぜひ一度再現してみると新たな発見があるかもしれません。
また、大人気のETFであるVT,VTI,VOOについてもpythonで比較しました。
配当金は少ないものの高い値上がりが期待できます。
本記事の内容と比較することで自分がしたい投資手法を考えるきっかけになると思います。
本ブログではインデックス投資を初心者にはお勧めしています。
ぜひこちらの記事を参考にして投資をはじめ、豊かな資産を築きましょう。