RPS 計算機とアルゴリズムの詳説
相対価格強度を正確に計算するには?

著者:RPS Stock 量化投資リサーチチーム  |  更新日時:2026年8月  |  所要時間:約 10 分
RPS Stock 量化リサーチチーム
グローバル株式の相対価格強度(RPS)研究に注力しています。本稿では RPS Stock プラットフォームが中国A株、米国株、香港株、日本株の 20,000+ 銘柄を計算するための基礎コアアルゴリズムのロジックと Python コード例を公開します。

📌 TL;DR — コア結論

RPS(相対価格強度)は単一銘柄だけで計算できる指標ではなく、必ず全市場の全銘柄同一周期の騰落率データでソートする。計算式:RPS = (上回った銘柄数 / 総銘柄数) × 100。正確性を担保するため、新規上場(上場期間が周期に満たない銘柄)や取引停止銘柄を除外する必要があります。

一、RPS の核心計算式

RPS の本質は銘柄横断のパーセンタイル順位(Percentile Rank)計算プロセスは三つの中核的なステップに分かれます:

Step 1: 涨幅 = (今日の終値 - N日前の終値) / N日前の終値

Step 2: 全市場の有効銘柄を「騰落率」で低い順に並べ替える

ステップ 3: RPS = (現在の銘柄の順位 / 総有効銘柄数) × 100

計算例

仮に現在の中国A株市場に 5000 銘柄が存在するとします:

  • 贵州茅台の過去 250 取引日の騰落率が 50% であった。
  • 5000 銘柄を騰落率で低い順に並べると、4500 銘柄の騰落率が 50% 未満であることが分かった。
  • したがって贵州茅台の順位は 4500 位である。
  • 贵州茅台の RPS250 = (4500 / 5000) × 100 = 90。

これは、貴州茅台が過去一年間で市場全体の銘柄のうち90%を上回るパフォーマンスを示したことを意味します。

二、RPS計算における三つの重要な落とし穴

多くの投資家は Excel や通达信を使って自分で RPS を計算しようとしますが、その結果が William O'Neil のオリジナルデータと一致しないことがしばしばあります。原因は以下の三つの落とし穴です:

1. サンプル空間の罠(分母の問題)

誤ったやり方:全市場の全銘柄をそのまま分母にする。
正しい方法:上場日数が N 日に満たない新規上場銘柄(次新股)を除外する必要がある。例えば RPS250 の計算では、上場 250 取引日未満の銘柄を除外する。除外しないと新規上場銘柄の連続ストップ高が上位ランクを著しく汚染する。

2. 取引停止と復権(調整)の罠

誤ったやり方:原始の終値をそのまま使って計算してしまう。
正しい方法:必ず使用する:前復權(Forward Adjusted)価格。また、長期取引停止銘柄については、N 日前が取引停止であった場合は直近の取引日の価格を遡って取得するか、サンプルから除外する。

3. 期間定義の罠(自然日 vs 取引日)

誤ったやり方:N 日が自然日を指す。
正しい方法:N 日は必ず取引日(Trading Days)RPS250 は過去 250 取引日(約 1 自然年)を表し、過去 250 カレンダー日ではない。

三、Python による量的計算コード例

以下は Python と Pandas を用いて全市場の RPS を計算するコアロジック(擬似コード)です:

import pandas as pd def calculate_rps(df, period=250): # df は列を含む: 'ticker', 'date', 'close_adj' (前復權終値) # 1. 指定期間の騰落率を計算 (N日前の終値 -> 今日の終値) df['pct_change'] = df.groupby('ticker')['close_adj'].pct_change(periods=period) # 2. 無効データを除外 (上場期間が period 日未満の新規銘柄は NaN を生成する) valid_df = df.dropna(subset=['pct_change']).copy() # 3. 日付ごとにグループ化し、全市場で横断的に百分位順位を計算する # rank(pct=True) は 0.0 から 1.0 の百分位値を直接返す valid_df['rps'] = valid_df.groupby('date')['pct_change'].rank(pct=True) * 100 # 4。小数点以下は二桁に揃えて表示します valid_df['rps'] = valid_df['rps'].round(2) return valid_df

四、なぜ自分で計算せず RPS Stock を使うのか?

コアアルゴリズムは数行に過ぎませんが、世界市場の相対価格強度(RPS)を毎日正確に算出するには膨大な作業が必要です:

  1. データ取得コストが高い:毎日、中国A株、米国株、香港株、日本株合わせて20,000+銘柄のリアルタイムの価格情報と復権因子を取得する必要があります。
  2. データクリーニングが煩雑:上場廃止銘柄、取引停止銘柄、株式分割・併合、配当による復権処理などの取り扱いが極めて煩雑です。
  3. 計算リソースの消費が大きい:複数周期(20/50/90/120/250)での行列計算はサーバーのメモリとCPUに高い要求を課します。

🚀 出来上がった相対価格強度(RPS)の計算結果を無料でご利用いただけます

当方ですべての面倒な作業を代行しています。毎営業日の終値後に世界20,000+銘柄の5大周期のRPSランキングを自動更新します。

今すぐ本日の RPS ランキングを確認する →
↑

簡潔な回答:当サイトの RPS スコアはどのように理解すべきか?

当サイトの公開ページに表示される RPS20、RPS50、RPS120、RPS250 は異なる観察ウィンドウの相対価格強度のスコアで、数値が高いほど同一市場の当該時点で利用可能な銘柄プール内で相対的に上位に位置することを示します。これは研究・銘柄スクリーニングに用いるもので、将来のリターン、目標株価、売買シグナルを予測するものではなく、投資助言ではありません。

実際の調査では、まず市場と観察ウィンドウを選択し、各ウィンドウの RPS を出来高、ファンダメンタルズ、流動性と照合してください。完全な範囲、データスナップショットと制約は以下参照。 RPS 方法論。

RPS 計算機のよくある質問

RPS オンライン計算機の計算結果はランキングページと一致しますか?

一致します。計算機と四市場のランキングページは同一の算定方法を採用しています:指定期間(50/120/250取引日)の期間騰落率の全市場内における百分位を RPS 値とし、0–99 を取ります。基準サンプルは当日の有効な終値データで、中国A株 5,212、米国株 8,996、香港株 2,787、日本株 3,708(2026-08-13 データスナップショット)。したがって同一銘柄は計算機とランキングページで同じ結果になるはずで、クロスチェックに利用できます。

なぜ同一銘柄の RPS を異なる市場間で直接比較できないのか?

RPS は各市場内の銘柄横断のパーセンタイル順位であり、分母はその市場のサンプル総数です。中国A株のサンプルは約 5,212 銘柄、米国株は約 8,996 銘柄であり、サンプル規模や業種構成の違いにより同じ数値が示す相対的位置は異なります。例えば米国株の RPS 90 は約 8,096 銘柄に勝っていることを意味しますが、中国A株の RPS 90 は約 4,691 銘柄に勝っていることを意味します。市場を跨いだ比較には業種内ランキングや絶対騰落率を用いるべきです。

RPS を計算するにはどれだけの履歴データが必要ですか?

RPS50は最低でも50取引日が必要で、RPS120は120取引日、RPS250は250取引日が必要です。上場後に履歴が不足する銘柄は、長期間のRPSを算出できません。当サイトの四市場における履歴は2021年11月まで遡っており(約1,140取引日)、累計14,807,564本の日足データがあり、三つの周期の完全な計算を支えるのに十分です。具体的なカバレッジ状況はデータカバレッジ資料をご参照ください。

RPS はどの程度で強勢株とみなされますか?

William O'Neil は CANSLIM 体系の中で RS が 80 を上回る銘柄を推奨しています。市場慣例では RPS ≥ 90 を強勢、RPS ≥ 95 を極めて強いと見なします。RPS は遅行指標であり、既に発生した相対的騰落率を反映するもので将来の値動きを予測するものではありません。高 RPS 銘柄は引き続き大きな下落リスクを伴うため、業種分布、出来高、損切りルール等と併せて用いる必要があります。

計算機はどの市場と期間をサポートしていますか?

中国A株、米国株、香港株、日本株の四市場をサポートし、合計 21,308 銘柄をカバーします。期間は 50、120、250 取引日をサポート。中国A株のデータは無料公開、米国株・香港株・日本株のランキングデータは Premium 会員権限が必要です。計算方法と算定口径の詳細は RPS 方法論ページを参照してください。

計算機の基準サンプルと入出力仕様

以下の表は RPS オンライン計算機が四市場で用いる基準サンプル規模と利用可能な期間を示します。基準サンプルは当日の有効な終値を持ち、百分位順位に参加可能な証券数を指します。証券プール規模にはまだ十分な履歴がない銘柄や取引停止中の銘柄も含まれるため基準サンプルよりやや大きくなります。データスナップショット日:2026-08-13。

市場 証券プール規模 基準サンプル(日平均) 業種分類 利用可能な期間 アクセス権限
中国A株 5,344 5,212 47 50 / 120 / 250 無料
米国株 9,210 8,996 49 50 / 120 / 250 Premium
香港株 2,819 2,787 13 50 / 120 / 250 Premium
日本株 3,721 3,708 33 50 / 120 / 250 Premium
合計 21,094 20,703 142 3つの期間 —

計算口径と方法論ページ完全に一致します。サンプルの境界とデータソースは以下参照:データカバレッジアーカイブ編集基準は以下参照:研究説明。