バックテストにおける事前調整は、国内と海外では異なるアルゴリズムです。

数日前に、ある人がかなり昔の貴州茅台の「調整前価格(前復权価格)」を持ってきて質問をしてきました。正直なところ、私も最初は少し戸惑いました。同じく「前復権」を見てみると、

この記事はただ一つのことを行います。それは、この2つの指標を切り分けることです。混乱しないよう、まず私の見解から述べます:国内で主流のチャートソフトにおける「前復権」は、取引所が決定した除権・除息参考価格に沿ってローソク足(K線)を平滑化しているように見えるのに対し、海外で一般的に使われる adjusted close は、累積乗数を使って「配当再投資」による総利回りを表現しているようです。どちらも「前復権」と呼ばれますが、回答している質問はまったく異なるのです。

A株の前行調整において、最初に問われるのはKラインの接続方法だ

国内のこの算出基準(または、考え方)を用いる場合、公開されている参照ポイントは実は見つけるのが難しくありません。深セン取引所が除権除息に関する参考価格の公式を提供しています:

$$
\text{除権(配当)基準価格} = \frac{(\text{前日終値}-\text{現金配当})+\text{割当価格}\times\text{株式変動比率}}{1+\text{株式変動比率}}
$$

東方財富百科に記載されている「正確な複利調整(または『正確な再調整』)」の事前計算式は、基本的な考え方がこれと同じ系統です。

$$ P'=\frac{(P-D)+K\times r}{1+r} $$

ここで、$P$ は調整前の価格、 $D$ は一株当たりの現金配当金、$K$ は配当や新株の価格、$r$ は流通株式の変動比率です。この式で最も重要な点、それは割り算があるかどうかではなく、現金配当が一定額を差し引かれていくという点です。

したがって、企業の活動が現金配当のみとなり、送付や新株発行がない場合、この公式はそのまま〜に単純化します。

$$ P'=P-D $$

この件の結果は非常に直接的です。上場時期が早く、累積配当が多いA株(中国本土の株式)の場合、もし歴史的な価格を遡って計算した場合、実際にマイナスになる可能性があります。東方財富などのサイトで、このような極めて初期の負の値を目にすることがありますが、必ずしも計算ミスとは限りません。むしろ、単に国内で一般的なこの「事前調整(前複権)」の定義を採用し続けているだけかもしれません。

現在、私はこれを「グラフィカルな連続性を優先する」という観点として捉える方が良いと思っています。例えば、今日ソフトを開いたとき、現在の価格が動かず、過去のローソク足(Kライン)が下に押しやられると、チャートがつながりやすく、テクニカル指標もより見やすくなります。これは銘柄分析において非常に有用ですが、当然ながら総リターンの系列

港美株の調整後終値について、まず総収益(トータルリターン)はどのように計算しますか

Yahoo! の公式な Adjusted close の定義は非常に明快です。これは、株の分割と配当の両方で調整を行います。さらに、配当乗数は「配当が価格に占める比率」に基づいて算出されます。公式にはまた、これを行う主な目的の一つが負の過去の株価を避けることであると明確に記されています。

式で表現すると、一般的な考え方としては、まず各企業の行動に乗数(係数)をかけるというものがあります。

  • 株分割倍率: 例えば `2-for-1` の場合、過去価格に `0.5` を乗じます。
  • 配当乗数: `m=1-D/C_{t-1}`

ここで、$D$ は一株当たりの現金配当であり、$C_{t-1}$ は配当落ち前の終値です。その後、以降の全ての企業行動の乗数を連続的に掛け合わせることで、累積調整係数 $F_t$ を得ます:

$$ F_t=\prod_{j>t}(s_j\times m_j) $$

したがって、調整後価格は次の通りです:

$$
P_t^{adj}=P_t\times F_t
$$

この書き方(手法)の意味は明確です。これは、「もし配当金も引き続きこの銘柄に再投資し続けた場合、総収益がどうなるか」を近似的に示しています。したがって、リターン計算、長期バックテスト、時系列での比較を行うのに本質的により適しています。国内で一般的な、現金配当金を履歴価格から直接差し引く算出方法は、見た目はローソク足を修正しているように見えますが、その骨子は全く異なります。

補足させていただきますが、6月の旧記事では、Yahoo / yfinance の adjusted データと Tushare の qfq が、「完全に同じもの」のように述べられておりましたが、これは厳密ではありません。より正確に言えば:これらは同じ系統(ファミリー)に属し、どちらも乗数型またはファクター型の調整ですが、正規化のアンカーポイントが必ずしも一致するわけではない、ということです。

調整係数は萬能の翻訳器ではない

問題は実際、この点にあります。多くの人は「復権因子」という言葉を見るだけで、全ての市場が因子の列として抽象化でき、その後 price * factor で計算できると(と思い込んで)しまいます。この考え方は、香港や米国株で一般的に用いられている調整後終値(adjusted close)のシステムでは基本的に成り立ちますが、国内の事前復権(pre-adjustment)システムではそうとは限りません。

理由は複雑ではありません。国内で用いられているこの精確な再加重公式は、実は純粋な乗法ではなく、アフィン変換なのです:

$$ P'=\frac{1}{1+r}P+\frac{Kr-D}{1+r} $$

つまり、本質的には:

$$ P'=aP+b $$

現金配当が発生する場合、定数項 $b$ はゼロではありません。複数の企業アクションが積み重なると、得られるのは単一の累積倍率ではなく、仿射変換(affine transformation)を連積・連加した一連のものになります。この場合、個別の「調整係数」では不十分であり、少なくとも現金配当、割り当て価格、株式変動比率などのイベント情報、あるいは等価な $(A, B)$ パラメーターが必要となります。

したがって、答えは明白です:「調整係数」という概念は、この2つのスキームでは直接適用することはできません。

  • 海外で一般的に用いられている調整後終値(adjusted close)のシステムにおいて、除却係数が中心的な対象となります。
  • 国内のこの正確な調整システムでは、係数は「株式分割/配当金」といった部分的な比率変化しかカバーできず、現金配当に遭遇すると、単一の係数では対応できません。

これが、国内ソフトウェアの事前調整価格とYahooの調整後終値を同じ水準で無理に比較すると、結果的にますます混乱してしまう理由です。

Tushare はどちらの側に立っているのか

この問題については、公式サイトで非常に明確に記述されています。TushareのA株調整後価格データのドキュメントが示す式は以下の通りです:

$$ \text{前復権} = \frac{\text{当日終値} \times \text{当日調整係数}}{\text{最新調整係数}} $$

同じページには、さらに以下の二点が明記されています:

  • 設定された end_date に基づいて動的に権利調整を行います。
  • 「配当再投資」モデルを採用しています。

これらの2文で定義は十分です。TushareのA株におけるqfqは、概念的には海外の乗数/ファクター型の調整後終値に近く、東方財富社の正確な再評価前の再評価手法とは異なります。 ただ、独自に正規化の方法を維持しています。それは常に「本日」をアンカーとするのではなく、今回のクエリウィンドウのend_dateを基準とするものです。

したがって、Tushareの位置付けは一文にまとめることができます:

  • 東方財富(Oriental Fortune)のものとは、同一の事前調整(前複権)定義ではありません。
  • Yahooのものに似ていますが、数値が一点たりとも完全に一致するわけではありません。

Tushareは、その後、香港株や米国株に対しても調整係数(复权因子)と調整済みデータインターフェースを追加しました。公式の説明もやはり price * adj_factor = 調整価格 です。これは、その製品設計の考え方が、本質的には掛け合わせの係数を用いる派生であることをさらに示しています。

バックテストに戻る:まずは評価基準を定め、その後で是非を議論する

このことを理解すれば、多くの議論は自然と消えていくでしょう。

もしお探しのものが「〜」の場合:

  • 国内の相場ソフトのスクリーンショットに合わせる
  • 現在価格が一定で、過去のローソク足と滑らかにつながっている
  • 「A株」の文脈における「前調整グラフ」(ぜんふくけん)を見る

ですから、国内(中国)で用いられているこの精度の高い調整基準を使用すべきです。

もしあなたがお求めなのが:

  • バックテスト収益率
  • 配当再投資による総利回り
  • 長期的な戦略評価

それならTushareのqfqやYahooのAdjusted closeのような乗数ファクター(積算)基準を使うべきです。

6月の旧記事ですが、最大の問題は完全に間違っていたことそのものではなく、この2つの定義を「唯一の標準」として混ぜこぜにしてしまった点にあります。今振り返ってみて本当に記憶しておくべきなのは、「比例法が絶対正しく、加減法が絶対間違っている」ということではなく、むしろ: そもそも、あなたは画像編集をしているのか、それとも収益を計算しているのか。 という二つの問題を先に分けていないと、後続のバックテスト結果やローソク足(K線)の比較、さらには「なぜマイナス値が出てくるのか」といったこともすべて絡み合ってしまいます。

参考資料

執筆上の注記

元のプロンプト

$blog-writer ここの内容を分析してください:https://chatgpt.com/share/69e653e4-2814-83ea-bd7d-4233343ca9cf。また、過去記事27について、バックテストデータはどこで入手できますか?まず、国内で一般的に使用される前修正(pre-adjusment)の計算式を整理し、次に海外で一般的に使用される前修正の計算式を整理してください。除権係数(または調整要因)の概念は、両方のスキームで共通して利用できますか?Tushare のデータはどの方式に属するものですか?

ライティングの構成案の要約

金融ITプログラマーのいじくり回しと日常のつぶやき
Hugo で構築されています。
テーマ StackJimmy によって設計されています。