相関係数算出ツール株式版 取扱説明書(改訂版)

記事
マネー・副業

0.重要確認事項


KFシステム研究所が提供する各種ツール(以下本品)をご利用いただくに当たり、下記確認事項をよくご覧の上、順守いただきますようお願い申し上げます。

・本品の著作権は、KFシステム研究所並びにKフローが有します。第三者への販売ならびに供与等は、ご遠慮ください。

・本品並びに関連品のご使用に際して生じるいかなる損害に対しても、KFシステム研究所並びにKフローは一切の責任を負いません。また、本品はトレードで収益を上げることを約束するものではありません。必ず自己責任にてご利用願います。

・本品及びその派生物を、有償無償を問わず、第三者に開示することは禁止しておりますが、運用結果の公開や新規ロジック等の開発につきましては、自己責任において自由に行って構いません。

・本品の実行にはインストール版のMicrosoft Excel 2003以降が必要です。Web版Excelや他社製Excel互換ソフトでは動作を保証できませんのでご注意ください。なお、本品を動作させるためには、マクロの実行を許可する必要があります。

・Excel2007以降で本品を使用する場合は、原則として「互換モード」をご利用ください。それ以外のモードで保存した場合、本品を起動できなくなる場合があります。

・本品はExcel2003上で開発し、動作確認を行なっています。上記の条件を満たす限り、直近のExcelバージョンでも動作いたしますが、演算速度が2割程度以上遅くなる場合があります。何卒ご承知置きくださいますよう、お願い申し上げます。

・一部マクロにおいて、シートの切り替えなどの度に再計算が行われる場合があります。シートの状態によっては、非常に時間が掛かる場合がありますが、それを避けたい場合は、「オプション」の「数式」にて、「計算方法の設定」の"ブックの計算"の「手動」にチェックを入れてください。

・Excel2013以降では、ブックが開かれるプロセスが変更になりました。それ以前では、エクセルを起動する度に新規プロセスが使用されていましたが、2013以降では既存プロセスが使用されるようになりました。そのため、例えばシステムの最適化演算を行なう場合、従来は新たにエクセルを起動してシステムを読み込めば、個々のプロセスで実行されましたが、2013以降では同一プロセス内で実行されてしまい、処理が著しく停滞する場合があります。新規プロセスでエクセルを実行するためには、Altキーを押しながら起動するか、起動時に-xオプションを付ける必要があります。詳しくはWebやエクセルの解説書等をご覧ください。

2022年2月19日 KFシステム研究所 Kフロー


1.はじめに


相関係数算出ツール株式版(以下、本ツール)は、登録した銘柄の株価推移を分析し、各銘柄間の相関係数を一覧表示すると共に、それらの散布図や株価チャートの比較表示を行うためのツールです。

銘柄間の相関関係は、裁定取引におけるペアを見つけたり、複数銘柄でポートフォリオを組む際の指針として有用であるとされています。

例えば、強い相関関係にある2つの銘柄において、規格化した株価同士が一時的に大きく乖離した場合、それはいずれ収束すると考え、一方を買い建て、他方を売り建てる戦術が裁定取引です。

また、弱い相関関係にある複数の銘柄同士でポートフォリオを組むことにより、単独で株式を保有するよりもリスクを低下させることができます。

各銘柄間の相関係数の求め方は、株価同士を直接比較するか、月次や週次、あるいは日次の株価騰落率(リターン)を比較する方法が一般的です。

株価同士を直接比較する場合は、通常、株価の全体的なトレンドを反映した結果になります。例えば、A銘柄が上昇トレンド、B銘柄が下降トレンドにある場合は、逆相関になりますが、共に上昇トレンドもしくは下降トレンドにある場合は、正相関になります。
そのため、日々の株価の動きを判断する用途には向きません。

一方、株価騰落率を比較する場合は、各銘柄の株価の個々の動きが反映されます。しかし、各要素を個々に吟味すると、相関係数と日々の株価騰落率との関係が非常に判り難い、ということが分かります。

もちろん、相関係数の大小や符号によって、その意味するところはあるのですが、必ずしも日々の株価推移との関係が明確であるとは言えません。

本ツールでは、これらの問題点を鑑み、従来の騰落率を用いる方法に加え、株価推移における回帰直線からの実際値の乖離(残差)を求め、それら同士の相関係数を求める方法を新たに開発し、採用しています。

この方法の利点は、株価推移のうねりを比較することができるため、全体的には正相関でありながら、個々の局面においては逆相関になる銘柄を、効率よく抽出することが可能となることです。
その結果、相関係数が負(逆相関)になる銘柄の組み合わせが、数多く得られるようになります。

株価そのものを分析対象とする場合、いわゆる値が飛ぶ状態が続くと、株価推移がいびつになってしまいます。特に、株価水準が1桁以上変化するような状況では、正確な分析が困難です。

そこで、株価の騰落率を累計し、それに対して回帰分析を行うことで、騰落率単独で分析を行うよりもよりセンシティブであると同時に、株価推移単独に見られる株価水準の急変の影響も受け難くなります。

本ツールでは、これら3つの分析方法を備えています。これにより、より多くの角度から株式相関分析を行うことができます。
その結果に基づいて、銘柄同士の最適な組み合わせを見出すことにより、リスクを低減した株式投資が可能になるのです。

投資の世界では、今、FIRE(ファイア:Financial Independence, Retire Early)が注目されています。これは、従来のような億り人を目指すといった類ではなく、持続可能な投資を継続的に行い、早期リタイアを目指すという動きです。

私が提唱するシステムトレードもまた、FIREに適していると考えますが、もっと簡単に投資を継続したいという場合には、本ツールを用いた株式ポートフォリオの構築で、いわば個人投資信託を実践することができるでしょう。

証券口座と初期資金、そして継続資金と情熱があれば、FIREを目指すことが可能です。それに本ツールを加えることで、ちょっとだけリスクを低減できるようになります。
本ツールが、皆さまのお役に立てることを期待いたします。


2.相関係数算出ツール株式版の使用方法


①株価データの準備


株価データは、KFシステムクリエイター標準形式(KFSC形式)のエクセルファイルをご用意ください。同形式のファイルは、同梱のKFデータマネージャで作成することが出来ます。
次図に示す形式の株価データファイルを、KFデータマネージャ上で修正することにより、KFSC形式の株価データファイルが生成されます。

取説01a.png

用意するエクセルファイルは、Sheet1のA1セルに証券コード+銘柄名、B2セルに「単元株数」と入力し、C2セルに単元株数を設定してください。また、B4セルに「日付」、C4セルに「始値」、D4セルに「高値」、E4セルに「安値」、F4セルに「終値」、G4セルに「出来高」、H4セルに「調整後終値*」と入力し、それぞれのセルの下に各データを昇順(日付の古い順)で配置してください。

なお、調整後終値が存在しない場合は、F列にある通常の終値をコピーしてください。また、シート名は、必ずエクセル標準の「Sheet1」のままにしてください。
このファイルをKFデータマネージャ上で修正することにより、日付データが統一され、分割修正がなされた、KFSC形式の株価データファイルが得られます。データの修正方法につきましては、「KFデータマネージャ取扱説明書」をご覧ください。

相関係数算出ツールでは、その性質上、全ての銘柄において、必ず株価データファイルの日付を揃える必要があります。取得直後の株価データは、銘柄によっては、売買が成立しないなどの理由で、日付が欠落する場合がありますが、KFSC形式では欠落したデータを前日データで補完することで、全銘柄の日付を統一しています。

KFデータマネージャでは株価データの取得も可能ですが、取得には1銘柄当たり数分程度の時間が掛かります。そのため、手元に既に時系列の株価データがある場合は、そちらを流用した方が時間の節約になります。
また、KFデータマネージャは、何らかの事情等により、今後、株価取得や更新が出来なくなるかもしれません。あくまで本ツールの「おまけ」であることをご承知おき下さい。

②株価データの登録


相関係数算出ツールを開いてください。初期状態では、次図に示す銘柄登録シートのみ存在します。ここに、KFSC形式の株価データファイルを登録していきます。

取説02a.png

G6セルに、株価データファイルがあるフォルダ名をフルパスで入力します。末尾には必ず「\」を付けてください。
続いて、C列に証券コード、G列に株価データファイル名、H列に銘柄名を設定します。各列の9行目以降に、行間を空けずに入力してください。

取説02b.png

ファイル名には、必ずKFSC形式の株価データファイルを設定してください。同ファイル名をダブルクリックすると、株価データファイルを開くことが出来ます。もしも開かない場合は、フォルダ名かファイル名が違っていますので、再度確認してください。

なお、同フォルダとは異なるフォルダにある株価データを登録する場合は、F列にそのフォルダ名を記載します。F列は通常、非表示になっています。E列とG列とを選択した状態で右クリックし、表示されるメニューで「再表示」を選択してください。

取説02c.png

取説02d.png

フォルダ名入力後、F列を選択した状態で右クリックし、「表示しない」を選択すると、再び非表示にできます。

取説02e.png

証券コード名は、重複しないように設定してください。なお、何らかの理由で同一銘柄を複数登録する必要がある場合などは、末尾に「a」などの記号をつける等して区別してください。
証券コード名は、あくまで銘柄を特定するための記号であり、設定内容は任意です。

銘柄名は、登録した株価データファイル上の銘柄名とは、必ずしも同じである必要はありません。相関分析結果のチャートにおいて、証券コード+銘柄名で項目名を表示するために利用します。
そのため、あまり長くなりすぎると、チャート表示に支障を来たす場合があります。

G5セルの代表市場名欄には、登録した銘柄の大分類名を記載します。内容は任意で構いません。
A列のNo.欄には、連番を記載します。また、隣のB列は相関係数算出時に自動設定されますので、何も入力しないでください。
D列の分析対象欄は、特に理由がない限り「株価」のままにしてください。ただし、この項目は動作に何ら影響を与えませんので、任意に設定しても問題ありません。

E列のタイプ欄では、分析する株価の種類を選択します。セルをクリックして表示されるリストから、「始値」、「高値」、「安値」、「終値」を選びます。 通常は、「終値」を選択してください。特別な理由がある場合に限り、他の種類を選ぶようにします。

取説02f.png

株価データの登録に関し、最初に設定を行う項目は以上です。

③実行内容の設定


続けて、相関係数算出における実行内容の設定を行います。以降では、各項目の設定を有効にする場合には"1"を、無効にする場合には"0"を設定します。設定項目を次図に示します。

取説03a.png

株価データを新規に本ツールに取り込む場合は、データ新規取得欄であるB3セルに"1"を設定します。
また、相関係数算出元データを、株価残差、騰落率、騰落率残差の3通りから選択します。全て選択しても構いませんし、いずれか1つもしくは2つを選択しても大丈夫です。選択するには、B4、B5、B6各セルの値を"1"もしくは"0"に設定してください。

株価残差は、株価推移の回帰直線からの乖離を表します。同値は通常、回帰直線を中心にほぼ対称に分布します。それが上方にある時は正、下方にある時は負の値となります。
この残差同士の相関を分析するということは、株価推移の類似性を判定するということです。

騰落率は、株価が前日から何%増減したかを示します。騰落率間の相関分析は、一般的な株価分析として広く用いられています。
しかし、相関関係が明確に表れにくいという難点があります。

騰落率残差は、騰落率累計の回帰直線からの乖離を表します。株価残差と類似していますが、株価推移が株価水準の変動の影響を直接受けるのに対し、騰落率累計ではその影響を低減できる場合があります。
最初の内は、これら3つの指標の全てで相関分析を行い、それぞれの特徴をつかむことが重要です。

I列とJ列では、ファイル名欄に登録した銘柄を実際の相関分析に適用するかどうかを決定します。分析を行う場合は"1"、行わない場合は"0"を設定します。①(I列)は相関分析における第一銘柄、②(J列)は第二銘柄が対象であり、互いに独立して設定することができます。

なお、データ新規取得時に①と②の値が共に"0"の場合は、その株価データの散り込みは行いません。そのため、新規取得時には少なくともいずれかが"1"となるように設定してください。
通常は、特段の理由がない限り、全ての銘柄について、①と②共に"1"を設定します。

相関係数算出ツールの初期設定は以上です。銘柄登録に当たり、行の増減はコピー&ペーストにて行ってください。特に、E列、I列、J列にはリストが設定されていますので、全ての行を削除するといったことがないよう、ご注意ください。

④相関係数算出


全ての設定が完了したら、右上にある「相関係数算出」ボタンを押します。すると相関係数算出や株価データ演算の各シートが追加されます。
処理の完了まで非常に時間が掛かりますので、マウスカーソルがポインタに変わるまで手を触れずにお待ちください。

取説04a.png

処理時間は、登録銘柄数や分析期間、パソコンのCPU性能やメモリ容量、データ保存用HDDやSSDの速度によって、大きく異なります。
また、エクセルのバージョンによっても違ってきます。

一例ですが、登録銘柄数94銘柄、分析期間11年、Core i5 3570(3.40GHz)、実装RAM8GB、USB3.0外付けSSD保存にて、全項目取得で3~5分程度です。
実行の度にかなりのバラツキが生じます。また、エクセル2003よりも最新エクセルの方が時間が掛かります。

⑤分析結果の評価


分析結果は、相関係数1~3の各シートに表示されます。相関係数1は株価残差、同2は騰落率、同3は騰落率残差の場合を表します。
表示項目は同一ですので、以降では株価残差(相関係数1)の場合についてのみ説明します。

取説05a.png

分析期間は、テスト期間、運用期間、全期間の3つに区分され、各期間毎に相関係数が求められます。テスト期間は、全銘柄における開始日の内、最も新しい開始日から直近日の概ね1年前まで、運用期間はテスト期間の翌日から直近日までの凡そ1年間、全期間はそれらの総期間です。

これらの期間は、各株価データを元に自動的に設定されますが、テスト期間の終了日は後で手動で変更することができます。変更すると、相関係数が再計算され、再表示されます。
なお、テスト期間や運用期間はあくまで便宜上のものであり、明確な意味があるわけではありません。

同シートの8行目以降は、相関分析結果を示す相関係数表です。表の縦軸は第一銘柄、横軸は第二銘柄を示し、両者が交わるセルがそれらの相関係数を表しています。 相関係数の目安については、出典によってやや異なるため、ここでは明記しません。各自にてご判断ください。

相関係数表内の数値をダブルクリックすると、その組み合わせの相関分布チャートが表示されます。例えば、2264森永乳業と1821三井住友建設の全期間における相関分布は、次図のように表示されます。

取説05b.png

これから、両者が弱い逆相関の関係にあることが分かります。

チャートを閉じるには、チャート外縁部を左クリックして同チャートを選択し、右クリックで表示されるメニューから「クリア」を選択するか、キーボードで「Delete」キーを押してください。

また、同セルを右クリックすると、両者の株価チャートと回帰直線が表示されます。チャートの閉じ方は、相関分布チャートの場合と同様です。

取説05c.png

これにより、互いの株価推移間の関連性が明確になります。もしもこれらの銘柄同士でポートフォリオを組む場合は、2264森永乳業が1単位に対して、1821三井住友建設を6もしくは7単位組み合わせれば良いことが分かります。

それにより得られる合成銘柄は、元となる銘柄よりも株価推移のバラツキが抑えられることが期待できます。なお、合成銘柄については、同梱する「株価データ合成ツール」で作成することができます。

相関係数表の末尾には、各行及び列の最小値や、各銘柄のEER及びRSQ(決定係数)を表示しています。

取説05d.png

最小値は、比較的強い逆相関関係にある銘柄同士を見つけるのに役立ちます。EERは回帰直線の傾き(正負)や残差の大きさの判定に、RSQは株価推移のバラツキの判定に用います。
良好な組み合わせを得るには、EERが共に正でRSQが大きく、逆相関の関係にある2つの銘柄を見つけることが必要です。

また、強い正相関の関係にある銘柄同士では、一方を買い他方を売る、裁定取引が有効となる場合があります。一方のEERが負の値を取る場合は、比較的長期に渡って運用できるかもしれません。
これらの条件は、分析期間によって大きく異なりますので、様々な期間で検討を行う必要がります。

相関係数表では、セルのクリックにより、各チャートの表示以外にも、各銘柄の株価データを表示することができます。証券コード欄をダブルクリック、もしくは右クリックすることにより、そのコードの株価データファイルが開きます。開いたファイルを閉じるには、エクセル上の「閉じる」操作を行ってください。

⑥相関係数の再分析


銘柄登録シートにおいて、データ新規取得欄を"0"に設定することで、取得済み株価データを保持したまま、相関係数表を再集計することができます。 株価データ取得済みの銘柄は、B列に"済"が表示されますが、この状態でI列やJ列の設定を変更した場合、「相関係数算出」ボタンを押すことにより、それを反映した相関係数表が作成されます。

取説06a.png

取説06b.png

なお、登録銘柄シートのB列には、データ新規取得時に取得状態に応じて、"済"の他に"未"および"×"の表示がなされます。
"未"はデータ新規取得時にI列およびJ列が共に"0"の場合に表示され、株価データは取り込まれません。一方、"×"は株価データファイルが開けない場合に表示されます。登録したファイル名もしくはフォルダ名を確認してください。

取説06c.png

取説06d.png

データ新規取得時にはB列の表示はクリアされますが、株価データを保持したまま相関係数算出を行う場合は、B列の表示はクリアされません。
そのため、株価データの取得状況を常に確認することが出来ます。

株価データを保持した状態でも、株価残差や騰落率、騰落率残差いずれかの、相関分析対象を選択しての相関係数算出は可能です。ただし、その場合は株価データシートへの変更はなく、演算時間短縮等の効果は低減します。

例えば、騰落率を"0"に設定して相関係数算出を実行した場合、相関係数2シートは消えませんが、その中の相関係数表は作成されません。
それにより、多少なりとも演算時間やファイル容量を削減することが出来ます。

取説06e.png

一方、データ新規取得時には、相関分析対象の選択により株価データシートの情報量が異なります。そのため、いずれかの設定が"0"の状態でデータ新規取得を行うと、再分析時にはその条件での集計しかできません。
例えば、データ新規取得時に株価残差しか分析しなかった場合、再集計時には同じ条件の分析しか行えません。

銘柄登録シートのG3およびG4セルは、通常、システム制御用として用いますが、この値を変更することで、分析の開始日や終了日を変えることができます。この値は、株価データシートの行番号を示します。
G3セルが開始日、G4セルが終了日に相当しますが、通常はこのレンジ内で変更してください。変更した値を元に戻す場合は、項目名冒頭にある二重丸をクリックします。

取説06f.png

開始行を初期値より小さくすると、開始日を遡ることができますが、それ以前のデータが存在しない銘柄については、相関係数やチャート表示が正常に行われません。 そのため、分析対象銘柄をよく確認した上で、変更するようにしてください。

⑦結果固定


銘柄登録シート右上の「結果固定1」ボタンを押すことで、分析結果を固定して保存することができます。それにより、ファイル容量を削減したり、チャート表示等の処理速度を向上させたりすることができます。
本処理を行ってもチャート表示は可能ですが、日付の変更はできなくなります。

取説07a.png

また、「結果固定2」ボタンを押すと、銘柄登録シートと相関係数シートのみ保存します。各銘柄間の相関係数は確認できますが、チャート表示はできません。
ファイル容量を大幅に削減し、相関係数のみ保存しておきたい場合に有効です。

結果固定を解除するには、いずれの場合もデータ新規取得を実行してください。相関係数再算出では、結果固定は解除できませんのでご注意ください。


3.おわりに


相関係数算出ツール株式版を用いることで、リスクを相殺できる銘柄の組み合わせを、容易に得ることができるようになります。
これを株価データ合成ツールで合成することにより、あたかも1つの銘柄であるかのように運用することができます。

この合成銘柄は、それ自身が単一銘柄であるかのように振る舞うため、KFシステムクリエイターに組み入れてシステム運用することができます。
また、相関係数算出ツールに登録することにより、新たな銘柄を組み入れることが可能です。

合成銘柄数を増やすことで、よりリスクを低減した運用が可能となります。更に、トレーディングシステムに組み入れて運用することにより、相場の急変時にも対処しやすくなります。

本ツールだけでは資産増加を加速する機能はありません。しかし、資産変動を抑制し、安定した運用が行える可能性は増大します。
さらに、トレーディングシステムと併用することで、資産増加を加速することができるかもしれません。

本ツールが、ご利用者の資産拡大の一助となれば幸いです。

2021年4月30日 KFシステム研究所 Kフロー


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す