硬骨の研究者という雰囲気を醸し出す藍崎さんに、自由自在に語っていただく企画です。
今回は、平均回帰戦略とペアトレードについて、縦横無尽に解説していただきます。
藍崎@システムトレーダー氏プロフィール
クオンツから定量分析を学んで生き残りたい個人トレーダー。システムトレードをする傍ら、MT5でEA開発も行う。よく使うのはMQL5、Python、R、Excel VBA。
平均回帰戦略とペアトレード
平均回帰戦略とは、買われすぎている局面で売り、売られすぎている局面で買うような逆張りの戦略のことを指します。価格の推移がランダムウォークではなく、平均回帰性があるときに仕掛けることが重要です。今回は平均回帰性を見つけるための手段について考えていきます。
ペアトレードは定量戦略の分野で非常に有名で、代表的な平均回帰戦略の1つと言えます。この戦略は、買われすぎ売られすぎを単一の銘柄で評価せず、相関関係にある別の銘柄と相対評価で行います。単一の銘柄よりも、複数銘柄の相対価格のほうが、取引可能な平均回帰性を見つけられるのではないかと考えます。
図1は相関関係にあるペアのうち、相対評価で買われすぎている銘柄をショート、売られすぎている銘柄をロングしたときのトレードのイメージです。
相関性と優位性
ペアトレードは相関性が高い取引可能な銘柄の組み合わせ(ペア)であれば必ず優位性が発生する戦略というわけではありません。むしろほとんどのペアで優位性は見つからないでしょう。複数の銘柄の価格差(スプレッドとも呼ばれます)にランダムではない何かしらの特徴があるときに優位性があるトレードを仕掛けることができます。銘柄Aをロング、銘柄Bをショートしたときの評価損益は過去データから計算可能ですが、この評価損益自体に平均回帰性のような利用可能な特性があるかどうかが大切です。
共和分によるペアトレード
ペアトレードに向いた相場傾向を数値化する上でよく利用されるものに共和分があります。ペアとなる2つの銘柄を回帰したとき回帰直線(図2の赤線)に近いほど、相対評価で買われすぎでも売られすぎでもない状態、離れるほど、買われすぎや売られすぎを示すことになります。重要なのは、買われすぎ売られすぎを示すタイミングでペアトレードを仕掛けることにエッジがあるのかということです。分布の各データ(図2の青点)から回帰直線との差を残差と言います。つまり、残差が0から離れているときにペアトレードを仕掛けることにエッジがあるのかが知りたいわけです。
図3はペアの価格(青線とオレンジ線)とペアを回帰したときの残差を時系列に並べてつなげた線(緑線)です。残差が回帰直線に重なるときは0となり、プラスの値は回帰直線より上にデータがある状態、マイナスの値は回帰直線より下にデータがある状態を示します。買われすぎ売られすぎをシグナルに仕掛けても良さそうかどうかの判断は、この残差時系列がランダムよりも元の位置に戻ってきやすい傾向にあるかどうかが鍵となります。共和分検定は、この傾向の有無を調べる仕組みとなっています(共和分は厳密には残差時系列の定常性を示します)。
注意するべきは、共和分の関係にあるペアは将来的にも共和分の関係が続くという保障はないということなので、アウトオブサンプルでの共和分を見つけることができているかが戦略の評価ポイントとなります。
関係性の時間変化
図4は相関関係にあるペアの短期間の回帰直線(Rolling regression)を示しています。回帰直線は時間と共に変化し続けていることが分かります。(※2)Stefan Jansen著 “Machine Learning for Algorithmic Trading”(Chapter10)では価格間の関係の時間変化を追跡する必要性についても述べられています。残差をペアトレードのシグナルとする場合、関係性の変化を考慮する必要がありそうです。
(※1)Karlsen JLS, Mjøen MB (2015) “Forecasting The Norwegian Krone Exchange Rate Using The Oil Price” https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/2382625
(※2)Stefan Jansen (著) Machine Learning for Algorithmic Trading: Predictive models to extract signals from market and alternative data for systematic trading strategies with Python, 2nd Edition (Packt Publishing)
FX雑誌「外国為替」vol.13
発売:2024年10月22日(火)
定価:980円(本体891円)