調整済み株価の計算方法
ファイルダウンロードで取得できる株価データには、調整済み株価の値が収録されていません。 APIによるデータ取得ではなく、ファイルを取得する場合、提供する調整係数から調整済み株価をご自身で算出するための手順です。
調整前の株価(O/H/L/C/Vo)に加えて、
株式分割・併合を反映するための調整係数 AdjFactor が含まれます(例:株式分割 1:2 の場合、権利落ち日に AdjFactor = 0.5)。
このページでは、APIが返す AdjFactor を使って 自分で調整済み株価(調整後終値など)を計算する手順を、表計算ユーザー向けに説明します。
前提(ここで作る「調整済み」の意味)
- 目的: 株式分割・株式併合・ライツイシューによる株価の段差(見かけのギャップ)をならし、時系列比較しやすくする
- 対象: 本APIの株価調整は 株式分割・株式併合・ライツイシュー(外株およびTOKYO PRO MARKET上場銘柄のライツイシュー、配当など一部コーポレートアクションは対象外)
- 商品区分・イベント種別による違い: 普通株・ETF・REIT 等の商品区分による算式の違いはありません。イベント種別による違いは、ライツイシュー(株主割当等)の係数を調整済み出来高に適用しない点のみです
- 遡及: 調整済みの項目(
Adj*)は、株式分割・株式併合・ライツイシューの発生時に、過去分の調整済みの値を遡及して修正します。各過去時点で配信していた調整済み株価をAPIから取得することはできません。過去時点で配信していた調整済み株価(point-in-time)を再現するには、事後に変更されない調整前の値(O・H・L・C・Vo)と、その時点までに発生した権利落ち日のAdjFactorを用いて、本ページの手順で算出してください。FAQ「調整済み株価は過去のデータまでさかのぼって修正されますか?」もあわせてご参照ください。
計算の考え方
AdjFactor は「その日が権利落ち日(分割・併合等の効力発生日)のときに入る係数」です。
AdjFactor には、株式分割・株式併合等に加えて、ライツイシュー(株主割当・新株予約権無償割当等)に伴う調整係数が含まれており、調整済み株価の計算に利用しています。
過去日付の株価を調整するには、未来側(より新しい日付)に出てきた AdjFactor を累積(掛け算)していく必要があります。
つまり、日付が古いほど「その後に起きた分割・併合等」の影響を多く受けるので、**累積調整係数(ここでは CumAdj)**を作ってから価格に掛けます。
表計算ソフトでの手順(テーブル例つき)
1) ダウンロードしたファイルから必要な列を準備する
最低限、次の列があれば計算できます。
Date(日付)C(終値・調整前)※他のO/H/Lも同様Vo(出来高・調整前)※出来高も調整したい場合AdjFactor(調整係数)
2) 日付を「新しい順(降順)」に並べ替える
ここが一番のポイントです。CumAdj を「上から下へ」計算できるように、Date を 降順 にします。
3) 累積調整係数 CumAdj を作る
まず表計算ソフトに、次のような表を作ります(例は分割 1:2 が途中で1回だけ起きるケース)。
| 行 | A:Date | B:C(調整前) | C:Vo(調整前) | D:AdjFactor | E:CumAdj(累積) | F:AdjC(自分で計算) | G:AdjVo(自分で計算) |
|---|---|---|---|---|---|---|---|
| 2 | 2024-01-12 | 500 | 1,200,000 | 1.0 | |||
| 3 | 2024-01-11 | 480 | 2,400,000 | 0.5 | |||
| 4 | 2024-01-10 | 980 | 1,100,000 | 1.0 |
ここでの CumAdj は「その行より新しい日付にある AdjFactor を全部掛け合わせた値」にします。
(権利落ち日の AdjFactor は、**その日より前(古い日付)**に効かせたいので、1行下(古い行)に効くイメージです)
セル式(例)
- E2(最新日):
1 - E3以降(下へコピー): 「1つ上(より新しい日付)の
CumAdj」×「1つ上のAdjFactor」E3に入れる式:=E2*D2- これを最終行までコピー
この例だと、権利落ち日 2024-01-11 の AdjFactor=0.5 が、1つ古い 2024-01-10 の CumAdj に反映され、0.5 になります。
| 行 | A:Date | B:C(調整前) | C:Vo(調整前) | D:AdjFactor | E:CumAdj(累積) | F:AdjC(自分で計算) | G:AdjVo(自分で計算) |
|---|---|---|---|---|---|---|---|
| 2 | 2024-01-12 | 500 | 1,200,000 | 1.0 | 1.0 | ||
| 3 | 2024-01-11 | 480 | 2,400,000 | 0.5 | 1.0 | ||
| 4 | 2024-01-10 | 980 | 1,100,000 | 1.0 | 0.5 |
4) 調整済み終値(例:AdjC)を計算する
価格(O/H/L/C)は、調整前価格 × CumAdj で計算します。
F2(下へコピー):=B2*E2
| 行 | A:Date | B:C(調整前) | C:Vo(調整前) | D:AdjFactor | E:CumAdj(累積) | F:AdjC(自分で計算) | G:AdjVo(自分で計算) |
|---|---|---|---|---|---|---|---|
| 2 | 2024-01-12 | 500 | 1,200,000 | 1.0 | 1.0 | 500.00 | |
| 3 | 2024-01-11 | 480 | 2,400,000 | 0.5 | 1.0 | 480.00 | |
| 4 | 2024-01-10 | 980 | 1,100,000 | 1.0 | 0.5 | 490.00 |
5) 調整済み出来高(例:AdjVo)を計算する(必要な場合)
出来高は価格と逆で、分割 1:2 の場合に過去の出来高を2倍にして連続性を持たせるため、調整前出来高 ÷ CumAdj で計算します。
G2(下へコピー):=C2/E2
※ CumAdj が 0 のケースは通常ありませんが、念のためExcelでは =IF(E2=0,"",C2/E2) のようにしてもOKです。
ライツイシューの AdjFactor は出来高の調整に使いません。 価格(O/H/L/C)には株式分割・株式併合・ライツイシューのすべての調整係数を適用しますが、取引高(Vo)にはライツイシューに係る調整係数を適用していません。ライツイシューの係数は理論権利落ち価格に基づく価格の連続性補正であり、既存株式数の単位変更を伴わないため、出来高には適用しない仕様です。
出来高用の累積係数は、権利落種類(ExRT)が「3:ライツイシュー」の日の AdjFactor を 1 とみなして別に累積してください(価格用の CumAdj とは別列にします)。
| 行 | A:Date | B:C(調整前) | C:Vo(調整前) | D:AdjFactor | E:CumAdj(累積) | F:AdjC(自分で計算) | G:AdjVo(自分で計算) |
|---|---|---|---|---|---|---|---|
| 2 | 2024-01-12 | 500 | 1,200,000 | 1.0 | 1.0 | 500.00 | 1,200,000 |
| 3 | 2024-01-11 | 480 | 2,400,000 | 0.5 | 1.0 | 480.00 | 2,400,000 |
| 4 | 2024-01-10 | 980 | 1,100,000 | 1.0 | 0.5 | 490.00 | 2,200,000 |