今回はドルコスト平均法による
積立投資のシミュレーションです
解説動画はこちら
ドルコスト平均法とは
購入できる購入数量を算出して
2025年の最後の価格で
どれだけのリターンになっているかを算出します。
この価格推移のデータ上では
年平均8%超
7年で二倍近くの運用成績になっています。
今度は開始年から終了年までの
リターンヒートマップを出してみましょう。
開始と終了年を設定して
開始終了までのリターンを算出します。

年単位だとどの年で買って売っても
プラスにはなっているようです。
まとめ
ただし、月単位だと乱高下があり
損する場合も有ったので、やはり長期積立で
見守るのが良いのではないかと思われます。
投資は自己判断で行うことが大切です。
その金融商品の良し悪しを判断し
投資するかどうかは人に言われるでなく
自分自身の判断で行うのが重要です。
投資判断を行うための材料作りとして
プログラムを用いたシミュレーションは
かなり役に立ちます。
データさえあればシミュレーションでき
結果の良し悪しから
投資判断の材料に使えるようになると思うので
プログラミングが出来るようになっていると
すぐに試すことができるのでお勧めです。
投資 x プログラミング
というテーマを今後も取り扱っていくので
両方できるようになりたい方は
要チェックしてみてください。
それでは
積立投資のシミュレーションです
解説動画はこちら
ドルコスト平均法とは
価格が変動する金融商品に対して
一定金額を定期的に購入していく投資方法のことです
一定金額を定期的に購入していく投資方法のことです
S&P500指数(配当込み、円換算ベース)に
連動する運用成果を目指す投資信託
2018年7月3日に設定された商品です。
今回はこのデータを用いて
シミュレーションをしていきます。
価格のデータを定義して
価格推移をだしてみます。

良い感じに右肩上がりのようですが
この商品を毎月10万円ずつ積み立てたらどうなっていたでしょうか
毎月10万円今回はこのデータを用いて
シミュレーションをしていきます。
eMAXIS Slim 米国株式 S&P500の価格推移
価格のデータを定義して
価格推移をだしてみます。
import numpy as np
import pandas as pd
import plotly.express as px
import seaborn as sns
import matplotlib.pyplot as plt
# データ定義
data = {
2018 : [0,0,0,0,0,0,10038,10458,10709,11051,10188,10468],
2019 : [8809,9854,10408,10565,10900,10031,10725,10978,10491,10890,11106,11680],
2020 : [11873,11892,10825,9474,10655,11205,11465,11886,12707,12182,11767,12989],
2021 : [13339,13407,14010,15217,15754,15924,16540,16712,17301,16677,18267,18005],
2022 : [19291,18130,17601,19347,18798,18658,18052,19265,19394,18280,20283,19728],
2023 : [17690,18714,19167,19388,20234,20666,22867,23260,23411,22911,22677,24155],
2024 : [24154,25486,27473,28563,28573,29833,31693,29763,29789,29974,31336,32768],
2025 : [33928,34065,32500,30512,28931,30867]
}
records = []
for year, prices in data.items():
for month_idx, price in enumerate(prices):
month = month_idx + 1
if price == 0:
continue
date_str = f"{year}-{month:02d}-01"
date = pd.to_datetime(date_str)
records.append({"Date": date, "Price": price})
df = pd.DataFrame(records)
df = df.sort_values("Date")
# Plotlyでプロット
fig = px.line(df, x="Date", y="Price", title="Emaxis Slim value")
fig.show()

良い感じに右肩上がりのようですが
この商品を毎月10万円ずつ積み立てたらどうなっていたでしょうか
2018年から2025年まで毎月積み立てた際のシミュレーション
購入できる購入数量を算出して
2025年の最後の価格で
どれだけのリターンになっているかを算出します。
monthly_investment = 100000 # 毎月XX万円
# シミュレーション開始
total_units = 0 # 累計購入数量
total_invested = 0 # 累計投資金額
for year in sorted(data.keys()):
for month_idx, price in enumerate(data[year], 1):
if price == 0:
continue
units_bought = monthly_investment / price
total_units += units_bought
total_invested += monthly_investment
latest_year = max(data.keys())
latest_price = data[latest_year][-1]
current_value = total_units * latest_price
profit = current_value - total_invested
roi = (current_value / total_invested - 1) * 100
# 結果表示
print(f"総投資額: {total_invested:,.0f}円")
print(f"最終評価額: {current_value:,.0f}円")
print(f"損益: {profit:,.0f}円")
print(f"累計購入数量: {total_units:.4f}口")
print(f"リターン: {roi:.2f}%")
total_return = (100 + roi) / 100
years = 8
cagr = (total_return ** (1 / years)) - 1
print(f"年平均リターン: {cagr * 100:.2f}%")
総投資額: 8,400,000円
最終評価額: 16,458,895円
損益: 8,058,895円
累計購入数量: 533.2198口
リターン: 95.94%
年平均リターン: 8.77%
この価格推移のデータ上では
年平均8%超
7年で二倍近くの運用成績になっています。
ターンヒートマップ
今度は開始年から終了年までの
リターンヒートマップを出してみましょう。
開始と終了年を設定して
開始終了までのリターンを算出します。
years = list(data.keys())
monthly_invest = 100000
results = pd.DataFrame(index=years[:-1], columns=years[1:])
for start in years[:-1]:
for end in years[years.index(start)+1:]:
total_invest = 0
total_units = 0
for y in range(start, end+1):
for price in data[y]:
if price == 0:
continue
units = monthly_invest / price
total_units += units
total_invest += monthly_invest
# 最後の年の最後の価格で評価額計算
final_price = [p for p in data[end] if p != 0][-1]
final_value = total_units * final_price
return_pct = (final_value - total_invest) / total_invest * 100
results.loc[start, end] = return_pct
# ヒートマップ描画
results = results.astype(float)
plt.figure(figsize=(10, 7))
sns.heatmap(results, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.title("dollar cost averaging method return heatmap (%)")
plt.xlabel("end year")
plt.ylabel("start year")
plt.show()

年単位だとどの年で買って売っても
プラスにはなっているようです。
まとめ
eMAXIS Slim 米国株式 S&P500のドルコスト平均法による積み立ては
年単位での運用であればマイナスは無いようです。
年単位での運用であればマイナスは無いようです。
ただし、月単位だと乱高下があり
損する場合も有ったので、やはり長期積立で
見守るのが良いのではないかと思われます。
投資は自己判断で行うことが大切です。
その金融商品の良し悪しを判断し
投資するかどうかは人に言われるでなく
自分自身の判断で行うのが重要です。
投資判断を行うための材料作りとして
プログラムを用いたシミュレーションは
かなり役に立ちます。
データさえあればシミュレーションでき
結果の良し悪しから
投資判断の材料に使えるようになると思うので
プログラミングが出来るようになっていると
すぐに試すことができるのでお勧めです。
投資 x プログラミング
というテーマを今後も取り扱っていくので
両方できるようになりたい方は
要チェックしてみてください。
それでは

コメントする