仮想通貨の平均取得単価計算
この暗号資産の平均取得単価計算ツールは、異なる価格と数量で行った複数の購入を、1枚あたりの加重平均コストにまとめます。各購入について数量と1枚あたりの価格を入力すると、保有数量の合計、取得費用の合計、平均取得単価が返されます。ポートフォリオの管理、損益分岐価格の確認、記録を整理する前の数値照合に役立ちます。単純な価格平均ではなく購入数量に応じて重み付けするため、大口の購入が結果へ正しく反映されます。計算は常に同じ入力から同じ結果を返します。
無料で実行
購入ごとに別の明細として入力します
計算に含める暗号資産の購入ごとに、1行ずつ明細を作成してください。各行には、取得したコインの数量と、1枚あたりに支払った価格が必要です。数量には小数を使用できるため、0.015枚の購入も、ゼロより大きい数値であれば有効です。価格も正の有限値で入力してください。すべての行で同じ表示通貨をお使いください。最初の価格を米ドルで入力した場合、以降の価格も米ドルにそろえる必要があります。この計算ツールは通貨換算や為替レートの取得を行わず、入力された数値をそのまま扱います。数量の違いが結果に与える影響を失わないよう、入力前に複数の購入価格だけを平均しないでください。同じ価格で行った2件の取引も、監査しやすい記録を保つため別々に入力できます。小数桁の設定は表示時の丸めだけを制御し、途中の加重計算の精度を意図的に下げるものではありません。1回のリクエストで最大10,000件の購入を処理できます。
加重平均の計算方法を確認します
各購入について、数量に1枚あたりの価格を掛け、その明細の取得費用を求めます。次に、すべての取得費用と、すべてのコイン数量をそれぞれ合計します。平均取得単価は、取得費用の合計を数量の合計で割った値です。これは加重平均であるため、2枚の購入は1枚の購入の2倍だけ結果に影響します。価格だけの単純な算術平均では、少額の明細と大口の明細が同じ重みになり、購入数量が異なると大きな誤差につながります。出力される取得費用の合計は各明細と直接照合でき、数量の合計は最終計算で使われた分母を示します。非常に小さい値と大きい値が混在する場合の一般的な浮動小数点の累積誤差を抑えるため、補償付き加算を使用しています。結果は指定に従い、0から12までの小数桁に丸められます。購入件数も返されるので、入力する予定だったすべての行が計算に含まれたか確認できます。
結果の適切な利用範囲を理解します
平均取得単価はポートフォリオ管理に便利な指標ですが、そのまま税務申告に使える金額とは限りません。この計算ツールは取得のみを対象とし、各明細の費用を数量と価格の積として扱います。取引所手数料、ネットワーク手数料、割引、送金、売却、マイニング収益、ステーキング報酬、贈与、フォーク、通貨換算は自動的に加算しません。お客様の状況で手数料が法的に取得費用へ含まれる場合は、入力前に1枚あたりの価格へ配賦し、その調整根拠となる原資料を保管してください。コインを売却する際には、所轄地域の規則により個別法、FIFO、LIFOなどの方法が求められる場合があります。現在の加重平均が同じでも、売却原価の方法によって実現損益は異なります。本結果は計画、資産推移の確認、記録照合、損益分岐価格の目安としてご利用いただき、課税所得を申告する前にはお住まいの地域に適用される規則と取引記録をご確認ください。APIによる自動リクエストは1回$0.002です。
活用例
ポートフォリオの取得価格を管理する
定期購入を1枚あたりの加重平均価格にまとめ、資産管理画面で分かりやすい基準値として表示できます。
損益分岐価格の目安を求める
手数料、税金、売却原価の規則を考慮する前に、平均取得費用と現在の市場価格を比較できます。
取引所の記録を照合する
エクスポートした購入数量と取得費用から、想定した集計結果が得られるか確認できます。
よくある質問
どのような計算式を使いますか?
各購入の数量と価格の積をすべて合計し、それを購入数量の合計で割ります。
購入価格だけを平均してはいけないのはなぜですか?
価格だけの平均では、小口と大口の購入が同じ重みになります。加重平均なら各価格で購入したコイン数が正しく反映されます。
数量に小数を入力できますか?
はい。正の小数を使用できるため、通常は少量単位で購入する暗号資産にも対応します。
取引手数料やネットワーク手数料は含まれますか?
含まれません。手数料を含める必要がある場合は調整後の価格を入力し、その算出根拠を記録として保管してください。
この結果は税務上の取得価額と同じですか?
必ずしも同じではありません。税務処理は所轄地域、取引履歴、認められる売却原価の方法によって異なります。このツールが求めるのは取得時の加重平均だけです。
APIでの計算にはいくらかかりますか?
APIリクエストは1回$0.002です。ブラウザ内の計算はAPIリクエストなしでご利用いただけます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/finance/crypto-cost-basis \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"purchases":[{"quantity":0.5,"price":30000},{"quantity":0.25,"price":36000},{"quantity":1.25,"price":28000}]}'const res = await fetch("https://api.kit.forhosting.com/finance/crypto-cost-basis", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/crypto-cost-basis",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/crypto-cost-basis", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"purchases":[{"quantity":0.5,"price":30000},{"quantity":0.25,"price":36000},{"quantity":1.25,"price":28000}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"purchases":[{"quantity":0.5,"price":30000},{"quantity":0.25,"price":36000},{"quantity":1.25,"price":28000}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/crypto-cost-basis", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"purchases": [
{
"quantity": 0.5,
"price": 30000
},
{
"quantity": 0.25,
"price": 36000
},
{
"quantity": 1.25,
"price": 28000
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.crypto_cost_basis",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |