見出し画像

【Python】3ステップで米国株チャート

記事は無料で読めます。

Pythonを使えば、下記の3ステップで下のチャートが取得できます。
 1.Googleコラボ(リンク)にアクセス。
 2.コードコピペ。
 3.実行ボタンクリック。
実質、5分もかからないんじゃないかな?


画像1

では、やっていきましょう。

1.Googleコラボにアクセス。

Googleコラボにアクセス、リンクはこちら

画像2

上記の様な画面が開くので「ノートブック新規作成」をクリック。

画像10

「+コード」をクリックし、入力欄を追加し2つ用意する。
この破線部分にプログラムのコードを入力する。

2.コードコピペ

1つ目の欄に下記のコードをコピペする。

pip install yfinance

2つ目の欄に下記のコードをコピペする。

import yfinance as yf
import datetime
import matplotlib.pyplot as plt
%matplotlib inline

start = datetime.date(2020,3,23)#コロナ底
end = datetime.date.today()

codelist = ["VUG","VTV","VBK","VBR"]

data = yf.download(codelist, start=start, end=end)["Adj Close"]
df_all=(1+data.pct_change()).cumprod()
df_all.rename(columns={'VBR':'Small Value','VTV':'Large Value','VBK':'Small Growth','VUG':'Large Growth'},inplace=True)

df_all.plot(figsize=(8,4.5),fontsize=15,linewidth=2,alpha=0.5)
plt.legend(fontsize=10)  

x1 = "2020-10-29" #転換点1
plt.axvline(x1,color='gray',linewidth=1 )
x1 = "2021-02-13" #転換点2
plt.axvline(x1,color='gray',linewidth=1 )
x1 = "2021-03-29" #転換点3
plt.axvline(x1,color='gray',linewidth=1 )

plt.title("Growth vs Value  ,  Small vs Large",color='gray', fontsize=25)
plt.show()

3.実行ボタンクリック

赤の破線のように、コードをコピペします。

画像10

次に、左上の「→」ボタンを上から順に2つクリックします。
すると・・・

4.実行結果

画像5

上記のチャートが取得できたと思います。

ここから更に、「開始日付」や「Tickerシンボル」をいじれば、いろいろと分析できると思います。(後述)

今回、下記を参考にさせて貰いました。ありがとうございます!

5.少しチャートについて解説

せっかくなので、少しチャートの解説をしてみようかと思います。
期間:コロナショックの底、3月23日以降。
対象:下記4つ。
 ・Small Growth:VBK
 ・Small Value:VBR
 ・Large Growth:VUG
 ・Large Value:VTV

チャート見ていると、いくつか転換点がある様に見えます。

画像6

コロナショックからの回復局面の初期は、グロース株が優勢で株価が上がっているように見えます。

そして、大統領選挙のリスクオフで調整した10/29以降は、スモール株が優勢で株価が上がっているように見えます。最低賃金の引上げや独占禁止法等、政策面でラージ株は不利だと思われたのかもしれません

次に、2/13に転機が訪れているように見えます。グロース株が軟調になっているのにも関わらず、バリュー株は継続して上昇しています。その結果、相対的にバリューが優勢になっています。

そして、期が変わる直前の3/29からすべての株価が反発しています。
2/13を起点として見ると、スモールグロースが少し弱く見えますが、それ以外は最高値を更新しています。

2/13まで、好調過ぎたスモールグロースが調整しているだけのように見えます。確かな事は分かりませんが、業績が強い事が確認できれば、また上昇するように思います。

しかし、2/13に何が起きたのでしょうか?
下記の様に、コードを書き換えて、期間を絞って、TLT(長期債券)を加えて、グロース株の推移を見てみましょう。

start = datetime.date(2020,10,29) #期間を絞る
end = datetime.date.today()

codelist = ["VUG","VBK","TLT"] #グロースに絞ってTLTを追加

実行すると、下記の様なチャートが取得できました。

画像7

1月の後半ぐらいから、TLT(長期債券)が下がっています。つまり金利が上がっている状態です。この金利上昇を警戒して、グロース株が下落しています。上昇の早かった(バリュエーションが高かった)小型グロース株の方が、金利上昇の影響が大きく、大きな調整になっています。

そして、期が変わった4月から債券が買われて、金利が安定してきているように見えます。

このように、金利の状況を見るために債券などを合わせてみておくのもいいかもしれませんね。(まぁ、直接金利の推移を見るのがベストですが。)

もう一点、最近、GAFAMをはじめとする大型グロース株の好決算を受けて、見直されていますが、大型グロース株は去年の8月末につけた高値から見ると、やっと調整が終わって、上昇している状態に見えます。

画像8

この期間、業績は悪くなかったように思います。最近になって、「やっぱりGAFAMだ!」と言っている人もいますが、良く見極めずに、感情の赴くままに、後追いで高値を追っていくと危険な様に思います。

長期間の調整期間があったわけですから、その時期にこそ、仕込むべきだったように思います。

今は、小型グロース株が軟調ですが、軟調な時期にこそ、業績を見ながら、金利上昇を警戒しながら、仕込むべきだという気がします。(確かな事はわかりませんが・・・)

まぁ、この様な循環物色テーマ変遷感情のコントロールを考えずに投資できるという意味では、やっぱりインデックス投資は優秀なのかもしれませんね。

おつかれさん「缶コーヒー1杯、ご馳走してあげよう」という太っ腹な方がいれば、よろしくお願いします!
(本編はココまでで、課金しても雑談しかありません。)

課金しなくても、参考になったら
「ハートボタン」クリックや「リツイート」をお願いします。
読んで貰える可能性が増えるので嬉しいです。

やる気が出ます。


6.追記(2022/06/23)

Yahoo Finance(yfinance)が使えない場合の他の回避策として、参照先を変更した修正版を記載しておきます。(コモディティ系等、ティッカーが変わるようなのでお気を付けください。)

import datetime
import pandas_datareader.data as web
import matplotlib.pyplot as plt
%matplotlib inline

start = datetime.date(2020,3,23)#コロナ底
end = datetime.date.today()

codelist = ["VUG","VTV","VBK","VBR"]

data = web.DataReader(codelist, 'stooq', start, end)["Close"]
# 出力されるデータ順がyahooと異なるため追記(2021/07/04)
data.sort_index(ascending=True,inplace=True)

df_all=(1+data.pct_change()).cumprod()
df_all.rename(columns={'VBR':'Small Value','VTV':'Large Value','VBK':'Small Growth','VUG':'Large Growth'},inplace=True)
df_all.plot(figsize=(8,4.5),fontsize=15,linewidth=2,alpha=0.5)
plt.legend(fontsize=10)  
plt.title("Growth vs Value  ,  Small vs Large",color='gray', fontsize=25)
plt.show()

実行例

画像9

ここから先は

164字

¥ 100

この記事が気に入ったらチップで応援してみませんか?