Inc.BLOGブログ2019.10.29RapidMinerRapidMinerによるポートフォリオのリスク管理(上)皆さん、こんにちは!KSKアナリティクスの周です。株式相場の世界では、「卵は一つのカゴに盛るな」とよく言われている通り、リスクを分散させるために複数の株式を購入することがあります。この株式を分散して持っておく組み合わせのことをポートフォリオと言います。最適なポートフォリオを見つけてみましょう!今回作成したプロセスは、主に三つの部分で成り立っています。ポートフォリオのボラティリティ――標準偏差5社でポートフォリオを構築し、2017年10月以降のデータを使ってシミュレーションを行います。データの取得は前回のブログをご覧ください。株式ごとの時価総額も取得し、それぞれの平均を計算しておきます。データの説明と読み込みでは、データを確認しましょう。Attributesの設定について紫の枠内の設定が必要です。各オペレーターの設定ピンク色の円は各オペレーター名を表し、紫の枠内のパラメータを設定する必要があります。各オペレーターの設定ここまで実行すると、結果は以下のようになります。オレンジ枠が元データ、右の緑枠が各株式の日次収益率を表します。オレンジ枠の一行目以前のデータが存在していないため、緑枠一行目の値は正しくありません。株式の収益ごとに重み付けを行います。すべての株に重み付けされた収益を合計して、ポートフォリオの収益がでます。ここでは、分かりやすくするために、ポートフォリオのパフォーマンスを収益率で表します。Python:累積計算(ポートフォリオの収益率計算)Join:結果まとめプロセス:既定重み付けのポートフォリオ統一重み付けのポートフォリオ時価総額で重み付けのポートフォリオサブプロセスを展開すると、以下のようになっています。既定重み付けのオペレーターの設定を例として見ていきましょう。各株式の重みをマクロに入力します。Pythonで累積計算(ポートフォリオの収益率計算)、とデータ形の整理します。Joinで整理した結果を一つのグラフにまとめます。各株式の日次収益率ポートフォリオの日次収益率は以下になります。この図から、三つの提案の中で水色のパフォーマンスがやや優れています。引き続き既定重みのポートフォリオのボラティリティ(Volatility)を計算してみましょう。Python:標準偏差――ポートフォリオのボラティリティプロセス:3のサブプロセスを展開します。相関性マトリックスは、複数株式間の収益の間の線形関係を検討できます。マトリクスの各要素は、それぞれの株式ペアに対して相関係数を算出します。正の相関係数は正の相関関係があること,相関係数が負の値の場合には負の相関関係があることを意味します。共分散マトリックス相関係数は株式間の線形関係しか表せない、収益の変動が分からないが、共分散マトリックスには含まれています。ポートフォリオのボラティリティ――標準偏差ボラティリティーは、一般的に価格変動の度合いを表します。一般的にボラティリティーを標準偏差で数値化し、またその商品のリスクの度合いとして捉えています。以下の公式で、算出することができます。・:ドット積では、今回のプロセス全体を展開しましょう~こんな感じになります。実行すると、それぞれの結果を紫枠内のタブをクリックして確認することができます。ここまでで収益とボラティリティの計算が出来ました!でも投資の目線から、儲けをできるだけ最大化したい、ボラティリティを小さくしたいですね。どのような組み合わせが一番いいのでしょう?次回、一緒にRapidMinerを使って探索しましょう~++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++もしRapidMinerに興味があるなら、是非今度のハンズオンに参加してみましょう!また、ご質問等ありましたら下記の連絡先までご連絡ください。