調整済み株価の計算方法
ファイルダウンロードで取得できる株価データには、調整済み株価の値が収録されていません。 APIによるデータ取得ではなく、ファイルを取得する場合、提供する調整係数から調整済み株価をご自身で算出するための手順です。
調整前の株価(O/H/L/C/Vo)に加えて、
株式分割・併合を反映するための調整係数 AdjFactor が含まれます(例:株式分割 1:2 の場合、権利落ち日に AdjFactor = 0.5)。
このページでは、APIが返す AdjFactor を使って 自分で調整済み株価(調整後終値など)を計算する手順を、表計算ユーザー向けに説明します。
前提(ここで作る「調整済み」の意味)
- 目的: 株式分割・併合による株価の段差(見かけのギャップ)をならし、時系列比較しやすくする
- 対象: 本APIの株価調整は 株式分割・併合のみ(配当など一部コーポレートアクションは対象外)
計算の考え方
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です。
| 行 | 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 |