Claude Media
Claudeで新NISAの積立シミュレーションを作る — 上限を固定したArtifactの手順

Claudeで新NISAの積立シミュレーションを作る — 上限を固定したArtifactの手順

金融庁が示す新NISAの年間投資枠と総枠をArtifactの定数に固定し、毎月の積立額と仮の年率から評価額を試算する計算機をClaudeに作らせる手順です。

新NISAの積立シミュレーションは、上限を固定して作る

新NISAの積立シミュレーションは、制度の上限をArtifactの定数に固定し、積立額と利回りだけを入力欄にすると作りやすくなります。上限が動かなければ、Claudeが計算機を作り直しても枠の判定がぶれません。

この記事で作る計算機は、毎月の積立額と仮の年率を入れると、評価額と元本を並べて返します。つみたて投資枠と成長投資枠の上限を超える入力は、画面で止めます。

ただし、年率は将来の予想ではなく、利用者が入れる仮定値です。計算機が出す数字は試算であり、特定の商品や投資額をすすめるものではありません。

計算機に固定する制度の上限

金融庁の「NISAを知る」のページが示す、2024年からの制度の数字は次のとおりです。

数字

Artifactの定数にする4つの上限

  • つみたて投資枠

    年120万円

    つみたてNISAの3倍

  • 成長投資枠

    年240万円

    一般NISAの2倍

  • 年間の合計

    360万円

    併用した場合の最大

  • 生涯の総枠

    1,800万円

    成長投資枠は1,200万円まで

2024年から始まった制度の数字

総枠の1,800万円は生涯を通じた上限で、そのうち成長投資枠で使えるのは1,200万円です。つまり、つみたて投資枠だけで総枠を埋めることはできても、成長投資枠だけで埋めることはできません。

もう一つ、この制度の前提を確認しておきます。

  • 非課税の対象は運用益(売却益と配当・分配金)です。通常は約20%の税金がかかります
  • 非課税保有期間は無期限で、制度そのものも恒久化されています
  • 口座を開けるのは、利用する年の1月1日時点で18歳以上の人です
  • 口座は1人1口座で、金融機関の変更は年単位です

計算機の入力欄は、この前提に合わせて設計します。

計算機が扱わないこと

制度のうち、この計算機が省くものを先に決めておきます。省いたことを画面に書いておけば、数字を読む人が前提を取り違えません。

  • 売却と枠の再利用: 金融庁のページでは、売却した商品の簿価の分だけ、翌年以降に非課税の枠が復活します。売却を考えない前提にして、積立を続ける場合だけ扱います
  • 2023年までのNISAの保有分: 新制度の総枠とは別の外枠で管理されるため、計算に入れません
  • 成長投資枠の一括投資: 年240万円を一度に入れる使い方は扱わず、毎月均等に積み立てる前提にします
  • 商品ごとの違い: 手数料や信託報酬、分配金は入力せず、年率の仮定に含めて考えます

Claudeに計算機のArtifactを作らせる

Artifactを作るには、設定の「Capabilities」で、クラウド上のコード実行とファイル作成をオンにします。Free・Pro・Maxは個人設定、Team・Enterpriseは組織設定です。前提はClaude Artifactsで個人サイトを作る方法の有効化の節にまとまっています。

依頼文では、上限と計算の約束事をこちらから渡します。次の形が一例です。

新NISAの積立シミュレーションのArtifactを作ってください。
 
定数(コードの先頭にまとめる):
  つみたて投資枠の年間上限 1,200,000円
  成長投資枠の年間上限 2,400,000円
  非課税保有限度額(総枠) 18,000,000円
  うち成長投資枠 12,000,000円
 
入力: つみたて投資枠の月額 / 成長投資枠の月額 /
      想定年率(%) / 積立年数
想定年率の初期値は0%にし、利用者が自分で入れる
 
計算: 年率を月率((1+年率)^(1/12)-1)に直し、
      毎月末に積立。元本が総枠か成長枠の上限に
      達した月から、その枠への積立を止める
      (総枠が足りないときはつみたて投資枠を先に入れる)
検証: 月額×12が年間上限を超えたら、計算せずに
      入力欄の下にエラーを出す
出力: 元本、評価額、運用益、総枠に達した年
      運用益の約20%を、課税口座の目安として併記
常時表示: 「年率は仮定。将来の成果を示すものではなく、
      特定の商品や投資額をすすめるものではない」

ポイントは、年率の初期値を0%にしておく点です。Claudeに「もっともらしい利回り」を決めさせると、数字が予想のように見えてしまいます。0%で始めれば、利用者が自分で仮定を入れるまで、元本と評価額は同じ値になります。

計算の中身を確かめる

Claudeが返すコードの核は、例えば次のような形になります。これは上の依頼文に沿った例で、実際の出力は頼み方によって変わります。

const CAP = {
  tsumitateYear: 1_200_000,  // つみたて投資枠の年間上限
  growthYear: 2_400_000,     // 成長投資枠の年間上限
  total: 18_000_000,         // 非課税保有限度額
  growthTotal: 12_000_000,   // うち成長投資枠
};
 
function validate(tsumitate, growth) {
  const errors = [];
  if (tsumitate * 12 > CAP.tsumitateYear) errors.push("つみたて投資枠が年間上限を超えています");
  if (growth * 12 > CAP.growthYear) errors.push("成長投資枠が年間上限を超えています");
  return errors;
}
 
function simulate(tsumitate, growth, annualRate, years) {
  const i = (1 + annualRate) ** (1 / 12) - 1;
  let balance = 0, paidT = 0, paidG = 0;
  for (let m = 0; m < years * 12; m++) {
    let room = CAP.total - paidT - paidG;
    const addT = Math.min(tsumitate, Math.max(room, 0));
    room -= addT;
    const addG = Math.min(growth, CAP.growthTotal - paidG, Math.max(room, 0));
    paidT += addT;
    paidG += addG;
    balance = balance * (1 + i) + addT + addG;
  }
  return { paid: paidT + paidG, balance };
}

この関数の約束事は三つです。月末に積み立てるので、その月の積立は翌月から増え始めます。総枠が足りなくなった月は、つみたて投資枠から先に入れます。そして成長投資枠は、累計で1,200万円を超えません。

仮の数字で検算する

Artifactの数字は、手計算の結果と突き合わせてから使います。次の値は、すべて説明用の仮のものです。

手順

検算の順番

  1. 1

    年率0%で元本を確かめる

    つみたて投資枠が月3万円、成長投資枠が0円、年率0%、20年で試算します。評価額は元本と同じ720万円(3万円×12か月×20年)になるはずです。これが合わなければ、積立の足し方に誤りがあります。

  2. 2

    年率3%で手計算と合わせる

    同じ条件で年率3%にします。月率は1.03の12分の1乗から1を引いた約0.2466%です。月3万円を240か月積み立てた評価額は、約980万円になります。運用益は約260万円で、その約20%は約52万円です。

  3. 3

    上限に達する条件を試す

    つみたて投資枠が月10万円、成長投資枠が月20万円なら、年間の積立は360万円です。5年で総枠の1,800万円に達し、以降の積立は止まります。

  4. 4

    上限を超える入力を試す

    つみたて投資枠に月10.1万円を入れると、年間の合計が121.2万円になるので、エラーで止まるはずです。月10万円ちょうどは通ります。

3番目の条件を、20年と5年で比べた結果が次の表です。年率は3%の仮定で、小数点以下を切り捨てています。

期間元本評価額運用益
5年元本1,800万円評価額1,937万円運用益137万円
20年元本1,800万円評価額3,018万円運用益1,218万円

元本は5年目に総枠に達してから動きません。20年目の評価額が伸びるのは、積立ではなく、すでに入れた1,800万円が運用され続けるためです。

この表を画面に出すときは、元本が止まる年を併記しておくと、「20年積み立てた」という読み違いを防げます。

投資助言にならない線引きを画面に残す

試算ツールの価値は、数字の読み方を間違えにくくする点にあります。次の線引きを、依頼文と画面の両方に入れます。

線引き

画面に残す4つの線引き

  • 年率は利用者の仮定

    初期値は0%で、予想値を出しません。利用者が入れた値だけで動くことを、入力欄の近くに書きます。

  • 商品名を出さない

    特定のファンドや銘柄は、入力欄にも出力にも入れません。評価額は枠の使い方による違いを見るためのものです。

  • 結果の断定を避ける

    「この額が貯まります」ではなく、「この仮定なら、この額になります」と表示させます。

  • 税率は目安

    約20%は課税口座の目安として併記するだけにします。実際の税の扱いは、口座を開く金融機関の案内で確かめます。

Claudeに頼むと、親切のつもりで「おすすめの積立額」や「目標達成の見込み」を足してくることがあります。そうした表示は依頼文で「追加しない」と書いておきます。

条件を保存したいときと共有するとき

積立額や年率を毎回入れ直すのが手間なら、Artifactのデータ保存を使います。保存先は個人用と共有用に分かれ、個人用はその人だけに見えます。Pro・Max・Team・Enterpriseで使え、保存できるのは1つのArtifactにつきテキストで20MBまでです。

入力値の保存は個人用のストレージだけを使い、
共有用のストレージは使わないでください。

共有用のストレージだと、使う全員が同じデータを見ます。家計の数字を入れる計算機では、個人用に限定します。保存の実例はClaudeで習慣トラッカーと体重記録をArtifactsで作る手順にあります。

計算機を家族や知人に見せたいときは、Artifactを共有します。ProとMaxでは「Only you」か「Anyone with the link」を選べ、特定の人にはメールで招待します。リンクを知る人は誰でも開けるので、定数と計算式だけを入れた版を共有し、保存した個人の入力値は渡さないでおくと安心です。Team・Enterpriseで組織外へ共有できるかは、管理者の設定で決まります。設定の手順はClaude Artifactsの管理者が組織外共有を制御する設定手順にあります。

制度の変更に合わせて直す

定数が変われば、計算機も直す必要があります。直すときの流れは次のとおりです。

あゆみ

定数を見直すタイミング

  1. 制度の改正があったとき金融庁のページの数字を見直す

    年間投資枠と総枠が変わっていないかを、金融庁の「NISAを知る」で見比べます。

  2. 数字が変わっていたとき定数だけを差し替える

    Claudeに「定数のブロックを次の値に直して」と頼み、計算の関数は触らせません。

  3. 直した後検算をやり直す

    上の4つの検算を同じ条件で回し、手計算と合うかを見ます。

定数を一か所にまとめておけば、差し替えるのは数行で済みます。計算の関数まで書き換えさせると、検算の結果が変わる原因が増えるため、定数だけを頼みます。

同じように、控除の式をArtifactの計算機に変える手順は、Claudeでふるさと納税の上限額を試算する手順で扱っています。そちらは税額の式が中心で、本記事は積み上がる枠と複利が中心です。

つまずきやすい点

元本が止まる年を見落とす。総枠に達したあとは積立が止まります。評価額の伸びだけを見て、「毎年積み立てている」と読み違えないようにします。

成長投資枠が1,200万円で止まる。月額の合計が総枠に届くより前に、成長投資枠の累計が先に上限へ達します。成長投資枠を厚くした入力ほど、この止まり方が出やすくなります。

年率の入れ方。年率を月率に直さず、そのまま12で割った値を使う実装もあります。複利の月率と合わず、手計算との差が出ます。検算の2番目で見つかります。

ボーナス月の積立。ここで作る計算機は毎月同額の積立だけを扱います。ボーナス月に増額する使い方は、年間上限の判定を月単位から年単位に直さないと扱えません。

まとめ

この計算機が返すのは、仮の年率で動く試算です。制度の上限は定数に固定し、年率と積立額は利用者が入れ、約束事は画面に残します。評価額を使って判断する前には、金融機関の案内と照らしてください。

この記事を共有:XはてブLinkedIn