調整済み株価の計算方法

調整前の株価(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:DateB:C(調整前)C:Vo(調整前)D:AdjFactorE:CumAdj(累積)F:AdjC(自分で計算)G:AdjVo(自分で計算)
22024-01-125001,200,0001.0
32024-01-114802,400,0000.5
42024-01-109801,100,0001.0

ここでの CumAdj は「その行より新しい日付にある AdjFactor を全部掛け合わせた値」にします。 (権利落ち日の AdjFactor は、**その日より前(古い日付)**に効かせたいので、1行下(古い行)に効くイメージです)

セル式(例)

  • E2(最新日): 1
  • E3以降(下へコピー): 「1つ上(より新しい日付)の CumAdj」×「1つ上の AdjFactor
    • E3 に入れる式: =E2*D2
    • これを最終行までコピー

この例だと、権利落ち日 2024-01-11AdjFactor=0.5 が、1つ古い 2024-01-10CumAdj に反映され、0.5 になります。

A:DateB:C(調整前)C:Vo(調整前)D:AdjFactorE:CumAdj(累積)F:AdjC(自分で計算)G:AdjVo(自分で計算)
22024-01-125001,200,0001.01.0
32024-01-114802,400,0000.51.0
42024-01-109801,100,0001.00.5

4) 調整済み終値(例:AdjC)を計算する

価格(O/H/L/C)は、調整前価格 × CumAdj で計算します。

  • F2(下へコピー):
    • =B2*E2
A:DateB:C(調整前)C:Vo(調整前)D:AdjFactorE:CumAdj(累積)F:AdjC(自分で計算)G:AdjVo(自分で計算)
22024-01-125001,200,0001.01.0500.00
32024-01-114802,400,0000.51.0480.00
42024-01-109801,100,0001.00.5490.00

5) 調整済み出来高(例:AdjVo)を計算する(必要な場合)

出来高は価格と逆で、分割 1:2 の場合に過去の出来高を2倍にして連続性を持たせるため、調整前出来高 ÷ CumAdj で計算します。

  • G2(下へコピー):
    • =C2/E2

CumAdj が 0 のケースは通常ありませんが、念のためExcelでは =IF(E2=0,"",C2/E2) のようにしてもOKです。

A:DateB:C(調整前)C:Vo(調整前)D:AdjFactorE:CumAdj(累積)F:AdjC(自分で計算)G:AdjVo(自分で計算)
22024-01-125001,200,0001.01.0500.001,200,000
32024-01-114802,400,0000.51.0480.002,400,000
42024-01-109801,100,0001.00.5490.002,200,000

Was this page helpful?