StrategyQuantX 初心者向け解説「IS/OOSとData Range Partsの基礎」

SQXの使い方

はじめに

StrategyQuantX (SQX) は、EA(自動売買戦略)を構築・評価・進化させるための強力なツールです。その中でも「Data range parts」の設定は、戦略の信頼性を評価するうえで非常に重要な要素です。

本記事では、初心者の方向けに、Data range parts で設定される区分(IST / ISV / OOS / NoTrade)を正確に理解し、どのように使い分けるかをわかりやすく解説します。

ただそうはいっても、かなりむずいです。

理解してとしてもどう使いこなせばいいのかの課題は残ります(;^_^A

なので用語と仕組みだけでもこの記事で理解しれ貰えれば幸いです。

また耳学習が得意な方はISとOSSについてのラジオをお聞きください。


データ分割の基本:なぜ分けるのか?

EAが「過去に勝てた」だけでなく、「未来にも通用するか」を確認するには、ヒストリカルデータを複数の期間に分けて検証する必要があります。

SQXでは、以下のような3段階の分割が一般的に推奨されています(参考:SQX公式ブログ):

  • IST(In Sample Training):EAの構築・最適化に使う学習用データ
  • ISV(In Sample Validation):ISTで最適化された戦略が汎化しているかをチェック
  • OOS(Out of Sample):未知の未来データとして戦略の本番テストに使う

さらに、NoTradeという区分もあり、これは戦略に使わない「無効領域」として設定できます。


各データパートの役割と色分け

区分カラー概要
IST(In Sample Training)白 / 赤背景戦略の構築・遺伝的最適化の対象となる区間
ISV(In Sample Validation)ISTで最適化した戦略の“汎化性”を検証する区間
OOS(Out of Sample)未知データとして戦略の実用的な耐性を測るための区間
NoTradeテストや最適化に一切使用しない除外期間

BuilderにおけるData rangeの基本動作

Builderでは、特別な設定をしなければ、全データがIST(In Sample Training)として使われます

そのため、初心者が最初にEAを量産する段階では、データを分割せず

「全期間をそのまま使う」

方法で問題ありません。

ただし、より本格的に戦略を検証していく段階(RetesterやWalk Forwardを使う段階)では、あらかじめデータを「IST」と「OOS(Out of Sample)」に分割しておくことが有効です。こうしておくと、未知のデータに対する戦略の強さをより客観的に確認できます。

つまり最初はシンプルに全データを使い、慣れてきたら分割を活用する

このステップアップの考え方が理想的です。


Retesterでの活用:70/30ルールのすすめ

実際の運用においては、以下のような構成が最も基本的で使いやすいです。

  • IST:70%(最適化に使用)
  • OOS:30%(未知データでの検証)

この2分割だけでも、過剰最適化された戦略を弾くのに非常に有効です。
(※この70/30構成はSQX公式が明示的に推奨しているわけではありませんが、実務上広く採用されている慣例的な設定です)

さらに一歩踏み込む場合は、Most used configs(よく使われる設定)にある、

  • IST:50% / ISV:20% / OOS:30% という3分割構成

なんかもよく、
これにより「学習 → 検証 → 評価」の三段階構成が完成します。


Walk Forwardでの応用(IS/OOSの活用)

Walk Forward Optimizerとは、ヒストリカルデータを区切って「最適化(IS)」と「検証(OOS)」を繰り返すテスト手法です。
一定期間のデータでEAを最適化し、その直後の期間で性能を検証する流れをスライドさせながら繰り返すことで、戦略が「未知のデータ(未来)」でも通用するかを確認できます。

この方法では、IS(またはIST)とOOSがセットで必ず使われます
通常のOptimizerではIS/OOSは直接使われませんが、Walk Forward Optimizerは特別にこの仕組みを利用します。

初心者が必ずしも使う必要はありませんが、戦略の「未来への強さ」を確認する応用的な検証手法として覚えておくと良いでしょう。

(参考:https://strategyquant.com/doc/strategyquant/types-of-robustness-tests-in-sqx)


実務的なおすすめ

ユーザーレベル推奨構成理由
初心者IST:100%(未設定)Builderで大量生成に集中。Retesterで分割すればよい
中級者IST:70% / OOS:30%基本的な性能検証に最適なバランス
上級者IST:50% / ISV:20% / OOS:30%汎化性能を含めた精密チェックが可能

まとめ

  • IST:EAの学習用として、遺伝的アルゴリズムなどで使われる
  • ISV:過剰最適化を避けるための中間検証区間
  • OOS:実戦環境を想定したテスト領域
  • NoTrade:意図的に評価から除外したい期間

初心者のうちはまず「全データ=IST」で戦略を量産 → Retesterで分割評価 という流れで問題ありません。だんだんとISVやWalk Forwardを活用することで、より実戦に耐えるEA選別が可能になります。

参考公式URL
Types of robustness tests in SQX
https://strategyquant.com/doc/strategyquant/types-of-robustness-tests-in-sqx

Data parts – what they are and how they could be used?
https://strategyquant.com/blog/training-validation-test-periods