メインコンテンツへスキップ

参照

検証の方法論

過去データの検証は、前提の置き方次第で結果が変わります。Zephris が生存者バイアス・約定の現実性・統計的な確からしさ・計算の前提・計算の検証をどう扱っているかを、できるだけ隠さずに説明します。読み手が結果を過信せず、自分で判断できるようにするためです。

このページの読み方

対応状況と限界を一組で読む

「対応している」という記述だけでなく、近くにある「残る限界」まで確認してください。

現在の扱い

何を扱い、何をまだ完全には扱えないか。

状態を採点した表ではありません。検証結果を読む前に確認する前提と、その前提でも残る差を並べています。

各項目は「現在の扱い」と「残る限界」を一組にし、観点ごとに縦に並べています。

検証対象の偏り
状態
一部対応
現在の扱い
ユニバースは既定で検証開始時点の構成銘柄に固定し、後から採用された銘柄を先回りで含めません。
残る限界
過去に上場廃止となった銘柄まで完全に復元する仕組みは、現時点では限定的です。
確認できる場所
ユニバース設定・検証履歴
条件判定と約定
状態
計算へ反映
現在の扱い
条件は当日のデータで判定し、次の取引日始値で約定します。売買停止や価格欠損で実行できない日は、現在の計算方式では次に取引できる日の始値まで注文を持ち越します。一部の条件では更新前の方式が使われ、その場合は注文を取り消します(取り消したことを結果に注意として表示するのは、単一銘柄の検証だけです)。
残る限界
実際の板、注文サイズ、日中の流動性は、日足データだけでは完全に再現できません。
確認できる場所
検証条件・結果
標本数とばらつき
状態
注意を表示
現在の扱い
取引回数がおおよそ30回未満なら低サンプルの注意を表示し、条件や期間を変えた比較を促します。
残る限界
指標に絶対的な合格点はなく、結果は対象期間や銘柄、パラメータに依存します。
確認できる場所
検証結果
コスト・税・配当
状態
設定で反映
現在の扱い
取引コスト、価格のずれ、税を設定でき、J-Quants Premiumでは配当の受取または再投資を選べます。
残る限界
実際の手数料体系、課税、流動性、再投資価格が同じになることは保証しません。
確認できる場所
コスト条件・計算前提
計算の検証
状態
自動テストで検証
現在の扱い
分割・配当・税・手数料などの金額計算を、入力と期待結果をあらかじめ固定した自動テストで継続的に検証しています。
残る限界
開発者自身による検証であり、第三者機関による監査や他のツールとの突き合わせではありません。
確認できる場所
本ページ・更新履歴
新株予約権の無償割当
状態
検証を中止(現在の計算方式)
現在の扱い
J-Quants は2026年6月29日から、新株予約権の無償割当(ライツ・イシュー。株主に新しい株を買う権利を無償で配ること)も株価の調整に含めています。現在の計算方式では、これを株式分割・併合と区別し、該当銘柄を保有したまま権利落ち日をまたぐ検証は、理由を示して中止します。保有していない期間の権利落ちでは、株数を変えずに検証を続けます。一部の条件で使われる更新前の計算方式では中止せず、調整後の株価のまま計算を続けます。
残る限界
配られた権利の価値は計算していないため、現在の計算方式では、保有したまま権利落ち日をまたぐ期間の結果は出せません。更新前の計算方式では、権利落ちによる値下がりが調整後の株価で打ち消されるため、配られた権利の価値を受け取ったのと同じ扱いになり、注意も表示しません。2026年6月29日より前に取得した株価データでは、この調整が反映されていない場合があり、その場合はどちらの計算方式でも、権利落ちによる値下がりが損益に表れます。株価調整の種類の情報は、2026年8月10日に追加されました。この情報を含まないデータでは、現在の計算方式は調整の比率から株式分割・併合かどうかを判定し、確認できない株数の変更を保有したまままたぐと、内容を確認できないとして中止します。
確認できる場所
検証結果・更新履歴

実装や仕様の変更は更新履歴で確認できます。

01 偏り

生存者バイアスへの対応と残る限界

上場廃止になった銘柄や、当時の構成銘柄を検証から外すと、「生き残った銘柄だけ」を見て結果が良く見えてしまうことがあります。これを生存者バイアスといいます。近い問題に、当時のトレーダーがまだ知り得なかった未来のデータを参照してしまうルックアヘッドバイアスもあります。

Zephris のユニバース検証では、構成銘柄の解決方針を選べます。既定では「検証開始時点の構成銘柄で固定」して評価し、その後に入れ替わった銘柄を先回りで取り込まないようにしています(=ルックアヘッドを抑える方向)。

一覧を見て選んだ銘柄だけを固定し、そのリストで過去を検証すると、当時はまだ選べなかった情報が銘柄選びに混ざります。これを選択バイアスといいます。対象銘柄の画面で選んだ固定リストは銘柄を入れ替えないため、過去の各時点で同じ銘柄を選べたことを再現するものではありません。

「この対象で戦略を設定」で市場区分などの元の対象定義を引き継いでも、偏りが自動でなくなるわけではありません。現在その市場にいる銘柄だけを起点にすると、当時の構成や後に上場廃止になった銘柄が抜けることがあります。これを現在の対象構成による偏りといい、構成銘柄の解決時点と元データの網羅範囲を併せて確認する必要があります。

ただし、過去に上場廃止となった銘柄まで完全に復元して検証する仕組みは、現時点では限定的です。生存者バイアスを完全に取り除けるわけではない点は、結果を読むときに留めておいてください。

確認すること

構成銘柄をいつの時点で解決したか、上場廃止銘柄をどこまで含められたか。

02 約定

条件判定と約定の前提

「いつ・いくらで売買できたか」を現実に近づけるため、Zephris は次の前提で計算します。

  • 約定タイミング:シグナルが出た日の次の取引日始値で約定したものとして計算します(=その日の終値で判断し、次の取引日に約定。後知恵での約定を避けます)。
  • 約定できない日:注文を実行する日の価格が、売買停止やデータ欠損などで取得できないときは、現在の計算方式では次に取引できる日の始値まで注文を持ち越します。一部の条件では更新前の計算方式が使われ、その場合は注文を取り消します。取り消したことを結果に注意として表示するのは、単一銘柄の検証だけです。
  • スリッページ:想定価格から不利な方向(買いは高く、売りは安く)に適用します。実際のずれは銘柄の流動性や注文サイズで大きく変わります。
  • 判定に使うデータ:日足の四本値(始値・高値・安値・終値)と出来高です。テクニカル条件の多くは終値を基準にしますが、一部の条件は始値・高値・安値・出来高も参照します。利食い・損切りは日中の高値・安値で判定します。
  • 条件の判定当日のデータ(多くは終値)
  • 約定価格次の取引日始値
  • 始値がない日次に取引できる日まで持ち越す(更新前の方式では取り消し)
  • 利食い・損切り日中高値・安値で判定

03 標本とばらつき

標本数と条件感度

検証結果の数値は、たまたまその期間・その銘柄で出た一例です。次の点に注意して読みます。

  • 取引回数が少ない(おおよそ 30 回未満)と、勝率や平均リターンは大きくぶれます。 Zephris は低サンプルの注意を結果画面に併記します。シャープレシオについては、観測日数がおおよそ 30 営業日以上あるとき、誤差の幅(信頼区間)を併記します。
  • 各指標に絶対的な良し悪しの基準はありません。期間や銘柄を変えて何度か検証し、近い設定でも結果が大きく崩れないか(頑健性)を見るほうが確かです。
  • 多くのパラメータを総当たりで試して「過去だけに最も合った値」を選ぶと、過去成績は良いのに将来は通用しない過剰フィットになりがちです。「ピンポイントの最良値」より「広い範囲で安定した値」を選ぶほうが頑健です。

低サンプル

取引回数だけでなく期間も見る

少ない観測から得た割合は、数件の違いで大きく動きます。

過剰フィット

一点の最大値を採用理由にしない

近い条件や別期間でも挙動が大きく崩れないかを確かめます。

生成サンプル / 条件感度

条件感度の例(生成サンプル)

短期移動平均だけを変更

「短期 / 長期」は株価を平均する日数(移動平均の長さ)です。検証した期間ではありません。

生成データ上の期間:2021–2023。実在銘柄を使わない生成サンプルを、検証画面と同じ計算エンジンで事前計算した結果です。買い持ち基準は2021/01/05の始値で買い、2023/12/29の終値で精算しています。将来の成果を示すものではありません。終値で条件を判定し、次の取引日始値で売買します。元手100万円・1株単位、期間末の保有分は終値で精算します。手数料・税・配当・スリッページは含めません。

同じ生成データの買い持ちの累積リターンは +21.3% です。「買い持ちとの差(pt)」は、各条件の累積リターンから +21.3% を引いた差です(単位は % ではなく pt)。

短期移動平均を変えた4条件の生成サンプル結果
短期 / 長期累積リターン買い持ちとの差(pt)最大下落率取引回数
15 / 75(既定)+8.5%−12.8pt−12.2%6
21 / 75+9.3%−12.0pt−11.1%5
27 / 75+14.0%−7.3pt−10.3%5
30 / 75+14.0%−7.3pt−12.1%5

短期の日数だけを変えても、損益や下落、売買回数が変わります。ここだけで条件を選ばず、別の期間でも確かめます。この差自体が、次に確かめるべき情報です。

04 計算前提

コスト・税・配当

  • コスト・税:取引コストとスリッページを結果に反映します。税は、譲渡益に一律 20.315% の簡易計算、カスタム税率、または税を考慮しない(税引前表示)から選べます。
  • 配当:J-Quants Premium 契約時に、受け取り(支払日に現金へ反映)または再投資(支払日以降の最初の取引日の始値で同じ銘柄を買い増し)を選べます。一部の条件では更新前の計算方式が使われ、その場合は受け取りを決済時にリターンへ加算し、再投資は権利落ち日に同じ銘柄を買い増したものとして計算します。Free / Light / Standard では売買損益のみで計算します。
  • これらはあくまで検証のための前提です。実際の運用では、約定価格・手数料・税・流動性などが想定と異なり得ます。

05 検証

計算の検証(自動テスト)

ここまでに説明した前提が「実装でもそのとおり動いているか」を、Zephris は自動テストで継続的に確認しています。とくに金額の計算については、入力データと期待結果をあらかじめ固定したゴールデンテストという方式を使っています。

  • 対象:株式分割・併合の調整(新株予約権の無償割当は含みません)、配当の受取と再投資、譲渡益税(総平均法による取得単価と円未満の丸め)、取引コストとスリッページ、積立(資金追加)、およびこれらを組み合わせた複合ケース。
  • 方法:合成した株価データに対して、期待される金額・株数を手計算で書き下し、計算エンジンの出力と照合します。金額・株数は原則として完全一致(円未満の端数を含む)で確認し、浮動小数の計算が絡む一部の値(手数料、内部収益率などの比率)は、あらかじめ定めた許容誤差または範囲で確認します。期待値と判定基準はテスト内に固定しているため、基準を超える差が生じるとテストで検出されます。
  • 更新時の突合:2026年7月23日の計算方式の更新では、手数料・税・配当・積立を含まず、対象期間の価格データがすべて取引可能で、調整前価格と株式分割などを反映した調整後価格との差が、あらかじめ定めた相対許容差以内である限定ケースについて、約定日・約定価格・取引回数などを新旧の計算方式で項目別に比較しました。項目ごとに、完全一致、許容誤差内、計算方法の違いから想定される差、比較対象外を区別し、計算上の意味が異なる項目は、無理に「一致」とは扱っていません。手数料・税・配当・積立など、計算方法を意図的に変更した部分は、変更後の期待値を手計算で固定したテストで確認してから切り替えました。

ただし、これらは開発者自身が用意した検証であり、第三者機関による監査や、他のバックテストツールとの突き合わせではありません。また、自動テストが確かめるのは「決めた前提のとおりに計算しているか」であり、前提そのものの妥当性や限界は、このページの各節で説明しているとおりです。

次に確認する

定義を確認し、個別の疑問を解消してから、同じ前提を使う検証画面へ進めます。

判断について

検証結果は、判断材料の一つです。

Zephris は投資助言を行いません。過去データの検証は、将来の成果を保証するものではありません。検証結果は、ご自身の判断材料の一つとしてご利用ください。