こんにちは、ウチダです。
最近は株式をほとんど売却して、金・銀・仮想通貨を買い集めています。
株式を売却したのは、自分なりの分析を通して、すごく割高だと感じたためです。
特にGAFAMに代表されるグロース株は割高に感じています。
今回はその分析に使用した、グロース株とバリュー株を比較したチャートの作り方を紹介します。
グロース株は超割高!?Pythonで投資を分析しよう

投資の勉強をする時は、YouTubeでバフェット太郎さんの動画をよく見ています。
株式投資がテーマの時に、グロース株とバリュー株を比較するチャートが出てきました。
5:55あたりです。
バリュー株としてIVX(S&P Value Index Cash)、グロース株としてIGX(S&P Growth Index Cash)をが出てきます。
IVXをIGXで割った指標を使って、株式市場のトレンドを読み取るシーンがあります。
これを見て、同じチャートを作りたい!と思い、今回はPythonのプログラミングでチャレンジしました。
プログラミング言語Pythonを使って独自の分析チャートを作成しよう!

Pythonはデータ分析に強いプログラミング言語です。
コードがシンプルで分かりやすいため、誰でも無料で身につけることができます。
今回はバリュー株指数をグロース株指数で割った独自の指数を作成します。
ただ、バフェット太郎さんと同じ指数を使いたいのですが、データが見つかりませんでした。
そこで、Yahoo Financeにあった類似の指数を使うことにしました。
バリュー株指数にはiShares S&P 500 Value ETF(IVE)、グロース株にはiShares S&P 500 Growth ETF(IVW)を使います。
#ライブラリのインポート
from pandas_datareader import data
import pandas as pd
from pylab import mpl, plt
import numpy as np
import datetime
plt.style.use('seaborn')
mpl.rcParams['font.family'] = 'serif'
%matplotlib inline
#日付
start = '2000-01-03'
end = datetime.date.today()
#グロース株
ivw_df = data.DataReader('IVW', 'yahoo', start, end)
ivw_open = ivw_df['Open']
ivw_close = ivw_df['Close']
ivw_high = ivw_df['High']
ivw_low = ivw_df['Low']
#バリュー株
ive_df = data.DataReader('IVE', 'yahoo', start, end)
ive_open = ive_df['Open']
ive_close = ive_df['Close']
ive_high = ive_df['High']
ive_low = ive_df['Low']
#バリュー株/グロース株の指数を作る
ratio_df = pd.DataFrame()
ratio_df['Open'] = ive_open / ivw_open
ratio_df['High'] = ive_high / ivw_high
ratio_df['Low'] = ive_low / ivw_low
ratio_df['Close'] = ive_close / ivw_close
#空欄の削除
ratio_df.dropna(inplace=True)
#グラフ作成用のモジュールをインポートする
#conda install -c conda-forge cufflinks-py
import cufflinks as cf
import plotly.offline as plyo
plyo.init_notebook_mode(connected=True)
#グラフデータを入力する
qf = cf.QuantFig(
ratio_df, #データ
title='Value to Growth ratio', #グラフタイトル
legend='top', #凡例の場所
name='Value/Growth' #凡例に表示する名前
)
#グラフの表示と保存
plyo.iplot(
qf.iplot(asFigure=True), #グラフを表示する
image='png', #png形式で保存する
filename='valuegrowth' #保存するファイル名
)
作成したグラフがこちらです。

この指標は上昇すると、バリュー株が大きく上昇していることを意味します。
下落はグロース株が大きく上昇していることを意味します。
2000年から2008年まではバリュー株が大きく伸びた期間でした。
バリュー株がグロース株を大きくアウトパフォームしていました。
しかし、それ以降はグロース株が大きく伸び続けました。
特にGAFAMに代表される巨大テック企業が成長した期間です。
2021年10月時点でも、グロース株が強いように感じます。
では、指標は今後どうなるのか?
移動平均を見て考えます。
今後の株式市場のトレンドはどうなる?Pythonで分析しよう
#移動平均を計算する
ratio_df['SMA1'] = ratio_df['Close'].rolling(window=50).mean()
ratio_df['SMA2'] = ratio_df['Close'].rolling(window=200).mean()
#グラフに表示するデータを用意する
ratio_date = ratio_df.index
ratio_close = ratio_df['Close']
ratio_sma1 = ratio_df['SMA1']
ratio_sma2 = ratio_df['SMA2']
#グラフを表示して保存する
plt.figure(figsize=(20, 10))
plt.plot(ratio_date, ratio_close, lw=2, label = 'Close', color='g')
plt.plot(ratio_date, ratio_sma1, lw=2, label = 'SMA50', color='b')
plt.plot(ratio_date, ratio_sma2, lw=2, label = 'SMA200', color='r')
plt.legend(loc=1, fontsize=18)
plt.xlabel('year', fontsize=18)
plt.ylabel('ratio', fontsize=18)
plt.tick_params(labelsize=18)
plt.savefig("valuegrowth_SMA2.png")
作成したグラフはこちら。

チャートには50日と200日の単純移動平均線を追加しました。
2020年以降、W字型のチャートを作っているように見えます。
ダブルボトムは上昇トレンドへの転換点とも言われます。
(参考:ダブルトップ&ダブルボトム)
今後はバリュー株の上昇に期待できるかもしれません。
バリュー株に投資するなら今のうちだと思います。
Pythonで投資の分析をするなら、この本がおすすめです。
ここまで読んでいただきありがとうございました。^^