平均取得単価の計算
10で100株、16で50株買うと、150株に1,800かかり、平均取得単価は12です。株数の多いロットほど平均を自分の価格に引き寄せます。各購入を入れるだけで1つの取得単価が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
平均取得単価は、保有ポジションの加重購入価格です。各ロットが現金支出を寄与し、その総コストを実際に保有する株数で割ります。投資家、税務ノート、DRIPの追跡、教室の金融演習は、後の売却を散らかった約定の一覧ではなく一つの取得原価に対して付けるために、その一つの数を必要とします。この平均取得単価の計算は、株数と購入単価の一覧を受け取り、各ロットを掛け、現金を足し、株数を足し、加重平均価格を返します。価格の単純平均は十株のロットと千株のロットを同じに扱いますが、株数で重みを付けるとその誤りは起きません。
平均取得単価とは何か、重みが株数である理由
ポジションの平均取得単価は、支払った価格の算術平均ではありません。株数で重みを付けた平均です。各購入は株数かける価格に等しい現金を寄与し、その支出を足し、総株数で割ります。
十で買った百株と十六で買った五十株は千たす八百、つまり百五十株に対して千八百の現金なので、平均は十二であり、十と十六の単純平均である十三ではありません。大きいロットは平均を自分の価格へ引き寄せます。これはブローカーの取得原価画面が平均コストを出すときに行うことと同じです。
端株は同等です。 印刷価格で端株を付ける配当再投資計画は他のロットと同じで、額面どおりに和へ入ります。株数ゼロのロットはどちらの和にも寄与しません。他のロットが厳密に正の株数を出せば許されます。
すべてのロットが株数ゼロなら分母がなく、計算機は Infinity や、後段の税務様式が数として扱う NaN を返す代わりに要求を拒否します。負の株数はこの模型では売却ではありません。負の購入単価も同じく拒否します。
計算機は気配を取得せず、ウォッシュセール調整を適用せず、平均原価と個別識別のどちらにするかを代わりに決めません。すでにお持ちのロットから加重平均を作るだけです。
平均取得単価の計算が役立つ場面
検索欄に平均取得単価と入れる人は、買ったロットからポジションの取得原価が欲しいのであり、生の気配でも、市場に対するベータでも、抽象的な値と重みを求める一般の加重平均の統計道具でもありません。
その語句で並ぶ媒体は、数か月かけて同じ銘柄へ積み増した個人投資家、譲渡の用紙に一つの平均取得単価を印刷しなければならない税務ノート、総株数ゼロを Infinity ではなく拒否する決定的な基準を必要とする技術者に応えます。DRIP や端株の証券会社は印刷価格で端数の数量を付けます。それらのロットは整数株の市場買いと同じ和に入ります。
実装は parse の tier A の解析コードのため、成功した呼び出しはモデル・トークンも外向き通信もなく安く保たれます。検証の失敗は残高を消費しません。後で売るときは別の損益ツールと組み合わせ、この面は平均取得単価を探す人が意味する購入単価に絞ってください。
活用例
同じ銘柄への積み増し買い
各買いを株数と購入単価として入れ、すべてのロットが同じ大きさであるかのように価格を平均するのではなく、一つの平均取得単価を出します。
DRIP と端株の台帳
印刷価格の端株再投資ロットを含め、同じ加重の恒等式が整数株の買いと drip の付与を覆うようにします。
よくある質問
平均取得単価はどう計算しますか?
purchases を株数と購入単価のロットとして送ってください。平均価格は株数かける価格の和を株数の和で割った値です。例:10 で 100 株、16 で 50 株なら平均価格は 12 です。
総株数がゼロのときはどうなりますか?
平均原価は総株数で割るため、ゼロまたは空の数量合計は拒否され、課金されません。
購入単価を単純に平均してはいけないのですか?
単純平均は各ロットを同等に扱います。10 の百株ロットは 16 の五十株ロットの二倍の重みであるべきで、この計算は株数で重みを付けます。
端株や一つのロットを入れられますか?
はい。 端株は許され、一つのロットはそのロットの購入単価を平均として返します。負の株数や負の単価は拒否されます。
ウォッシュセールの調整や取得価額の計算方法の選択もしてくれますか?
いいえ。ウォッシュセールの調整は行わず、平均法と個別法のどちらを使うかも選びません。入力したロットから株数加重の平均を出すだけで、株価の取得もしません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/stock-average \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"purchases":[{"shares":100,"price":10},{"shares":50,"price":16}]}'const res = await fetch("https://api.kit.forhosting.com/fin/stock-average", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"purchases": [
{
"shares": 100,
"price": 10
},
{
"shares": 50,
"price": 16
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/stock-average",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"purchases": [
{
"shares": 100,
"price": 10
},
{
"shares": 50,
"price": 16
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/stock-average", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"purchases":[{"shares":100,"price":10},{"shares":50,"price":16}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"purchases":[{"shares":100,"price":10},{"shares":50,"price":16}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/stock-average", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"purchases": [
{
"shares": 100,
"price": 10
},
{
"shares": 50,
"price": 16
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.stock_average",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
総株数がゼロなら比は定義できず、作業は Infinity ではなく invalid_input で失敗します。端株は許されます。 同じ純粋な算術が無料のブラウザ用部品とAPIを動かすため、ページ上の確認は後のスクリプトと一致します。成功した呼び出しは$0.002で、不正な入力は課金されません。
平均取得単価とは何か、重みが株数である理由
その恒等式を average_price は shares_i かける price_i の和を shares_i の和で割ったものと書いてください。負の数量を処分として扱うと FIFO の対応と平均原価会計が静かに混ざるため invalid_input です。
入力契約、応答の形、検証
要素は一つ以上のオブジェクトです。各オブジェクトは有限の数として shares と price を持ちます。shares はそのロットで買った数量で、ゼロ以上でなければならず、端株は許されます。price は通貨単位の一株あたり購入単価で、ゼロ以上でなければなりません。総株数がゼロなら分母がゼロになるため、Infinity ではなく硬い失敗です。例:十で百株、十六で五十株なら総株数は百五十、総コストは千八百、平均価格は十二です。必須の配列 purchases を一つ含む JSON 本体を送ってください。ブローカーの書き出しで名前を変えなくて済むよう、別名 lots、trades、buys、rows、fills を受け付けます。最大一万ロットまで読み、shares と price の各値の絶対値は一兆以内とし、積が Worker とブラウザで有限の IEEE 倍精度に収まるようにします。purchases の欠落、空の一覧、非数値トークン、NaN、Infinity、負の株数、負の購入単価、株数の和がゼロの一覧は、問題を名指しする invalid_input で失敗し、課金されません。成功時は lot_count、total_shares、total_cost、その商である average_price、各ロットの shares・price・cost をエコーした lots 配列、average_price は株数かける価格の和を株数の和で割る、という formula 文字列を返します。通貨記号や千の位区切りの文字列より JSON の数を使ってください。成功した一件の料金は定額の $0.002 です。
平均取得単価の計算が役立つ場面
個人向け金融の授業は取得原価の用紙を出し、空またはすべてゼロの数量一覧を invalid_input と印す基準を必要とします。自動化の流れは表計算サービスを立てずに、成功一件あたり $0.002 で同じ API 契約を呼びます。
連携の活用例
税務と取得原価の用紙
ロットを総コストと総株数に足し、譲渡の用紙に average_price を固定します。総株数がゼロのときは invalid_input で拒否されます。
技術的な質問
平均取得単価の計算の料金はいくらですか。
ブラウザの道具は無料です。API 要求は成功した呼び出しごとに前払いの KIT 残高から $0.002 で、不正な入力は課金されません。