資産評価額を複利で計算|初期価値と年率からN年後の価値を算出
このアセット評価額APIが答えるのは一つの問いだけです。資産の現在価値がXで、毎年一定の率で増える場合、指定した年数後にいくらになるのか。初期価値、小数表記の年間上昇率、年数を送ると、最終価値、累積の増分、成長倍率が返ってきます。住宅や土地、美術品、設備など、年ごとに価値が複利で増えていくあらゆる資産に適用できる、古典的な複利成長の公式です。決定的で瞬時に結果が出て、このページで無料で実行しても、コードから呼び出しても結果はまったく同じになります。
無料で実行
アプリシエーションとは何か、いつモデル化するか
アプリシエーション(価値上昇)とは時間とともに資産価値が増えることで、減価(デプレシエーション)の鏡像です。価値を失うのではなく、資産が価値を得ます。教科書的な例は不動産で、ある価格で買った家は数年後により高く売れる傾向がありますが、同じモデルは農地やコレクターズアイテム、貴金属、クラシックカー、非上場企業の持分にも当てはまります。この資産評価額計算ツールは成長を複利として扱います。つまり毎年、率は当初の価格ではなく前年の終わり時点の価値に適用されます。この複利こそが、控えめな率が長い期間では大きな増分になる理由であり、単純な掛け算で推し量ると誤る理由です。初期値が負の場合は即座に拒否されます。所有しておらずコストもかからない資産は上昇しようがないからです。借入やショートポジションをモデル化したい場合は別のツールが必要です。どの率を使うか迷ったときは、前年の数字ではなく、その地域での資産クラスの長期平均を見てください。好調だった一年を十年に外挿すると、ほぼ必ず結果を過大評価します。
計算の仕組み
公式は標準的な複利成長の式です。最終価値は初期価値に(1+率)の年数乗を掛けたものです。率は小数で渡します。0.03は年3パーセントを意味し、3ではありません。年数は小数も許容されるので、2.5年も有効な入力です。エンドポイントは小数第2位に丸めた最終価値、累積の増分(最終値から初期値を引いたもの)、小数第6位に丸めた成長倍率を返すため、出力はマシン間でバイト単位で安定します。-1未満の率は拒否されます。年100パーセントを超える損失は複利計算で負の値になり、金融的な意味を持たないからです。すべてメモリ内で計算され、ネットワークも乱数も時計も使わないため、同じ入力からは常にまったく同じ出力が得られます。
実務のワークフローでの使われ方
アナリストは本格的な割引キャッシュフローモデルを組む前に、物件の予測が妥当かどうかの検証に使います。一回の呼び出しで、売り物件がうたう上昇率から導かれる転売価格が現実的かどうかが分かります。プロダクトチームは貯蓄や不動産のウィジェットに組み込み、ユーザーが率と期間を動かすと最終価値が変わる様子を見せます。静止した表よりはるかに説得力があります。経理担当者は、購入価格と平均年率しか分からない場合に、数年前に買った資産の現在価値を推定するのに使います。同じモジュールがブラウザでは無料で、有料APIの裏側でも動くため、このページで操作感を試作してから、挙動を変えずに自動化に移行できます。無料のWeb結果と課金される$0.002の結果はビット単位で同一です。
活用例
物件の転売価値を予測する
購入価格と想定される年率から、売却時点で住宅や土地がいくらになっているかを推定します。
過去に購入した資産の現在価値を推定する
当初の価格と平均上昇率から逆算して、数年前に購入した美術品や土地、設備の価値を評価します。
成長ウィジェットを動かす
ユーザーが率と期間を調整すると最終価値が即座に更新され、APIの結果は無料のWeb結果と一致します。
よくある質問
料金はいくらですか?
API経由では1リクエストあたり$0.002です。このページではブラウザで無料で実行できます。
率はどう表記しますか?
年あたりの小数で表します。年3パーセントなら0.03、10パーセントなら0.1です。-1までの負の率も許容され、減価をモデル化します。
入力が拒否されたのはなぜですか?
初期値は0以上、率は-1以上、年数は0以上である必要があります。数値でない値も拒否されます。
年数に小数は使えますか?
はい。年数フィールドは0以上の有限の数値なら何でも受け付けるので、2.5年なら2年半分の複利が計算されます。
成長は単利ですか、複利ですか?
複利です。毎年、率はそれまでに積み上がった価値に適用されます。式は final = initial * (1 + rate)^years です。
データは保存されますか?
いいえ。数値はメモリ内で処理されて破棄され、返されるのは計算結果だけです。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/appreciation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_value":250000,"appreciation_rate":0.03,"years":10}'const res = await fetch("https://api.kit.forhosting.com/fin/appreciation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_value": 250000,
"appreciation_rate": 0.03,
"years": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/appreciation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_value": 250000,
"appreciation_rate": 0.03,
"years": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/appreciation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_value":250000,"appreciation_rate":0.03,"years":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_value":250000,"appreciation_rate":0.03,"years":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/appreciation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"initial_value": 250000,
"appreciation_rate": 0.03,
"years": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.appreciation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |