投資の世界では伝統的にチャートをみたりといったテクニカル分析がよく用いられますが、こういった分析をするときに多くの方は既存の証券会社が提供するテクニカル分析ツールやYahoo Financeといった無料の株価分析ツールなどを利用しておられる方も多いことかと思います。これらのツールはよく開発されていてメンテナンスの手間いらずで使いやすかったりととても便利なツールなのですが、近年のIT化が進んでいる時代、みんなが見ている情報を同じように使っていてもアルファ(市場平均を上回るリターンのこと)を見つけることは難しいでしょう。
そこでそういったみんなが使っている分析ツールに加えて、自分自身のオリジナルのデータ分析を行って投資判断をすることが重要になってきます。多くの場合、プログラミングの知識が必要になってきますが、近年はプログラミングを行う環境設定などのハードルは下がってきて、特に専門知識がなくても独自の分析を無料でできる環境が整っています。以下はjupyterlab (python)というツールがwindowsやMacで無料で使えるのでささっと以下のようなコードを書いてYahoo Financeから株価のデータを取得するコードを書いてみます。
# Import the yfinance. If you get module not found error the run !pip install yfinance from your Jupyter notebook
import matplotlib.pyplot as plt
import yfinance as yf
# アップルとグーグルの株価の取得
data1 = yf.download('AAPL','2000-01-01','2023-05-01')
data2 = yf.download('GOOG','2000-01-01','2023-05-01')
# Import the plotting library
import matplotlib.pyplot as plt
%matplotlib inline
# アップルとグーグルの株価の描画
plt.plot(data1['Adj Close'],label='APPLE.Inc')
plt.plot(data2['Adj Close'],label='GOOGLE.Inc')
plt.ylabel('Stock Price (USD)',fontsize=14)
plt.xlabel('Date',fontsize=14)
plt.legend(prop={'size':16}, loc='best')
plt.show()
2000年の時点でアップルの株を少しでも買っていたら一体今いくらになってたんだろう。。。なんて思われますね。これ、行動経済学でいうhind-sight bias (後知恵)といわれるもので、要するにその時点では正しいと判断できなかったことでも、後からこういう風に振り返った時にあぁしておけばよかった!という風にあたかもその時なんとかすればできたんじゃないかというように錯覚してしまうことってよくありますよね。
株価をプロットするだけでは面白くもなんともないので、次に例にあげたアップルとグーグルの株価の相関関係の推移について分析してみましょう。なんじゃそれ?って思われる方もいらっしゃるかもしれませんが、今どきのプログラミング言語は非常に便利なので以下の数行で簡単に分析できてしまいます。
# アップルとグーグルの株価のデータをジョイン
joined_data = data1.reset_index()[['Date','Adj Close']].rename(columns={'Adj Close':'Adj Close Apple'}).merge(data2.reset_index()[['Date','Adj Close']].rename(columns={'Adj Close':'Adj Close Google'}),on='Date',how='left')
#1年毎のローリング相関係数を計算
window_size = 255 # Assuming 255 trading days in a year
rolling_correlation = joined_data['Adj Close Apple'].rolling(window=window_size).corr(joined_data['Adj Close Google'])
#1年毎のローリング相関係数をプロット
plt.plot(joined_data['Date'],rolling_correlation)
注)簡単のため1年ごとの株価データに対して相関係数を計算してプロットしております。もしwindow_sizeを短くしたり長くしたりするとまた違った結果がでることもあります。ここが分析の面白いところなのでもし興味があられる方はいろんなパターンを試してみてください。
上記の例では、基本的にアップルとグーグルの株価は正の相関関係があるように思えますが、面白いことに2010年から2016年頃には必ずしもそうではなくて、アップルが上がるとグーグルが下がる?(もしくはその逆)だった時期もあることが見受けられます。
こういった独自の分析を加えることで、一般のテクニカル分析ツールではすぐには見えてこない部分を自分でカスタマイズすることができるようになります。
相関係数とは
相関係数は、2つの変数間の関係の強さと方向を示す統計量です。具体的には、2つの変数がどれだけ一緒に変動するかを測る指標です。
相関係数は、-1から1の範囲の値を取ります。-1に近づくほど強い負の相関があり、1に近づくほど強い正の相関があります。また、0に近い値は相関がほとんどないことを示します。
相関係数を計算することで、例えば2つの変数が強い相関を持つ場合、一方の変数の値が増えると他方の変数の値も増える傾向があることがわかります。逆に、相関係数が低い場合は、2つの変数の間にはほとんど関連性がないと言えます。
相関係数は統計分析やデータ解析の中で広く使用され、変数間の関係を理解するために役立ちます。ただし、相関関係があるからといって必ずしも因果関係があるわけではないことに注意が必要です。
いかがでしょうか。プログラミングと聞くとなんかハードルが高そうな印象を持たれる方も多いかもしれませんが、今ではそのハードルもどんどん下がってきています。他の投資家とデータ分析で差を付けたいもしくは、独自の視点をどんどん投資判断に入れたい方はぜひプログラミングによる分析もやってみられることをおススメします。
コメント