11月になり、今年の投資成績の着地点が見えてくる中、どのようなアセットクラス、投資対象がどのような値動きをしたかをまとめます。また、来年の投資戦略についてもデータを基にした投資判断、決定ができればと思います。
2022/03/18追記:最新のデータを自動取得し、実行するようにしました。こちらが最新のデータとなります。
今年のアセットクラス(ETF評価)毎の現在のパフォーマンス
今年のアセットクラス(ETF評価)のボラティリティとリターンの関係
2022/01/05年初から2022/12/28を見るとこのようになります。
今年は前半に石油関係とコモディティ(ゴールド)を持っていたかどうかで結果が分かれましたね。昨年はテスラとモデルナを持っていれば安泰だった事の揺り戻しのような展開でした。
酷いというか見るに堪えないのはアーク(ARKK)やビットコイン関係ですね。ARKKはこうなる宿命かとは思っていましたが、思っている以上に下げていますね。短期・中期・長期債券ETFも下げて、SOXも良いところなし、、、といった感じです。
2022/02/24のロシアによるウクライナ侵攻から、そしてその前からリスクマネーは手を引っ込めていて、いい所無し、、そんな感じです。
2022/01/05年初から2022/0318の値動きをパーセントでの累積で見るとこのようになります。
また、このデータは投資カテゴリーにて表示されるようにしています。
2021/12/11追記:以前の記事と合わせて、直近6カ月・直近一カ月の動向、気になる銘柄のみ抽出する方法も記述しました。
円ドルのコードをJPYUSD=Xとしていましたが、正確にはJPY=Xでした。コードの方は訂正させていただきました。スクリーンキャプチャはその時点の結果を尊重し、そのままになっています。
本記事の目的
以下のようなツイートを行いました。
今年の各資産の値動きを確認し、来年の投資戦略策定の参考にしたいと思います。
また、”感覚的に強い・弱い、勢いがあるらしい”ではなく、データを確認することで、世界では何が起こっているのか、どのような投資主体がどのようなどのような状況にあるのかの理解の参考になるかと思います。
データの取得
今回のデータハYahoo! US USのサイトから
米国株
SPY:S&P500連動ETF
QQQ : NASDAQ100指数連動ETF
DIA : ダウ指数連動ETF
IWM : 米国の小型株で構成される指数(ラッセル2000)連動ETF
ARKK : キャシー・ウッド氏率いるアーク・インベストメント・マネジメントのイノベーションに焦点を当てたETF
債券
SHY : 米国国債 1-3年 ETF
IEF : 米国国債 7-10年 ETF
TLT : 米国国債 20年超 ETF
コモディティ
DBC : インベスコ DB コモディティ インデックス トラッキング ファンド
USO : WTI原油連動ETF
GLD : 金地金との連動ETF
SLV : 銀ETF
新興国
BKF : BRIC ETF
通貨
BTC-USD : ビットコイン(BTC/USD)
ETH-USD : イーサリアム(ETH/USD)
JPY=X : 円ドル
指数
^SOX : SOX指数(フィラデルフィア半導体株指数)
^N225 : 日経225
を対象とします。データ期間は昨年末から現在(2021/11/14)までとします。
Pythonによる分析
今回も以前同様使用するツールはGoogle Colaboratoryのpythonを使います。無料で、簡単に行うことができます。Google Colaboratoryについては以前書いた記事をご参照いただければと思います。
実際のコードとやっていること
コードは以下の通りです。
!pip install yfinance --upgrade --no-cache-dir
import datetime
import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd
pd.options.display.float_format = '{:.4f}'.format
start_D="2020-12-30"
end_D = datetime.date.today()
codelist = [
"SPY","QQQ","DIA","IWM","ARKK",
"SHY","IEF","TLT",
"DBC","USO","GLD","SLV",
"BKF",
"BTC-USD","ETH-USD","JPY=X",
"^SOX","^N225"
]
data2 = yf.download(codelist, start=start_D, end=end_D)["Adj Close"]
display(data2.head().append(data2.tail()))
df_all=(1+data2.pct_change()).cumprod()
display(df_all.head().append(df_all.tail()))
df_all.plot(figsize=(8,6),fontsize=18)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
plt.grid(True)
plt.show()
df_Y=data2.groupby([lambda x: x.year]).last()
df_Y_pct=100*df_Y.pct_change()
display(df_Y,df_Y_pct.dropna())
データを取得し、パーセント変化率を求めグラフへとプロットを行います。
イーサリアム(ETH-USD)とビットコイン(BTC-USD)が非常に大きな上昇をしているようです。実際にどのような値動きだったのか、確認してみます。
display(df_Y_pct.dropna().sort_values(by=[2021],ascending=False,axis=1).T)
df_Y_pct.dropna().sort_values(by=[2021],ascending=False,axis=1).T.plot.bar(figsize=(15,4),fontsize=18)
plt.legend(loc='center left',bbox_to_anchor=(1, 0.5), fontsize=18)
plt.grid(True)
plt.show()
イーサリアム(ETH-USD)は昨年末740だったものが4600、価格としては6倍などになったようです。
ビットコイン(BTC-USD) も29000が64000、同じく価格としては2倍、これも大きく上昇したようです。
暗号資産関係はその法的根拠など、ファンダメンタルなどいろいろ意見がありますが、値動きという意味から考えれば、トレーダーとしては見逃すことのできない資産クラスになってきているようです。
またETFという派生商品も出てきて、投資などにあまり縁のなかった多くの一般の方にも注目されてきているようにも感じています。
ここまで大きな上昇をすると、対数で変化率の分析を行う必要ありますが、逆に他の銘柄群との比較が際立つので、ここでは敢えて、パーセントだけで行ってみました。
効率的フロンティア
効率的フロンティアの考え方をもとに、リスクとリターンの分析を行います。
具体的には以下の記事を参考にしてください。
今回のコードでは以下の通りです。
df_D=data2.pct_change()
df_Dex=data2.drop(["BTC-USD","ETH-USD"], axis=1).pct_change()
import seaborn as sns
plt.rc("legend", fontsize=18)
import warnings
warnings.filterwarnings('ignore')
def check(df_check):
out_analyse=pd.DataFrame(index=df_check.columns)
out_analyse["return"]=250*df_check.mean()
out_analyse["volatility"]=16*df_check.std()
out_analyse["sharpR"]=out_analyse["return"]/out_analyse["volatility"]
# ボラティリティ、リターン、シャープレシオ チェック
plt.style.use('seaborn-dark')
ax= out_analyse.plot.scatter(x='volatility', y='return', c='sharpR',
cmap='RdYlGn', edgecolors='black', figsize=(8, 4), grid=True,sharex=False,s=100)
for i,(x,y) in enumerate(zip(out_analyse["volatility"],out_analyse["return"])):
ax.annotate(str(out_analyse.index[i]),(x,y))
plt.show()
check(df_D)
check(df_Dex)
今回の例ではイーサリアムとビットコインがあまりにもボラティリティが大きく、かつリターンも大きいので、その二つを除外したものだけでもプロットしてみました。
また、この二つがあまりにも大きな動きでしたので、他の銘柄の値動きが小さく感じてしまいますが、USOという原油や、SOX半導体指数も強い動きでした。
また、S&P500のボラティリティとリターンのバランスであるシャープレシオは非常に高いものがあります。インデックス投資は王道、投資初心者だけでなく、本質的な戦略として支持されるのもうなずけますね。
2021/12/11追記分: 直近6カ月・直近一カ月の動向、気になる銘柄のみ抽出する方法
直近6カ月・直近一カ月の動向、気になる銘柄のみ抽出する方法をご紹介します。
これについては以前紹介した 【コピペで動く!】20行で資産運用モデル作成 長期、中期、短期の3区分の期間チャートをPythonで作成 【違いをみつけろ!】を利用します。
実際のコードは以下のようになります。
def SidePlot3(df_all,zone1_start,zone2_start):
import matplotlib.dates as mdates
import numpy as np
dateformat=mdates.DateFormatter('%y/%m/%d')
plt.rcParams["font.size"] = 18
fig, axs = plt.subplots(1,3, figsize=(20, 8),sharey=False)
for code in df_all.columns :
axs[0].plot(df_all[code].index,(1+df_all[code]).cumprod(),linewidth = 3.0)
axs[0].axvline(x=zone1_start,linewidth=2,color="b")
axs[0].axvline(x=zone2_start,linewidth=2,color="r")
axs[0].axhline(y=1,linewidth=2,color="r")
axs[0].grid(True)
axs[0].xaxis.set_major_formatter(dateformat)
for code in df_all.columns :
axs[1].plot(df_all[code][zone1_start:].index,(1+df_all[code][zone1_start:]).cumprod(),linewidth = 3.0,label=code)
axs[1].axhline(y=1,linewidth=2,color="r")
axs[1].grid(True)
axs[1].axvline(x=zone2_start,linewidth=2,color="r")
axs[1].xaxis.set_major_formatter(dateformat)
for code in df_all.columns :
axs[2].plot(df_all[code][zone2_start:].index,(1+df_all[code][zone2_start:]).cumprod(),linewidth = 3.0,label=code)
axs[2].legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
axs[2].axhline(y=1,linewidth=2,color="r")
axs[2].grid(True)
axs[2].xaxis.set_major_formatter(dateformat)
fig.autofmt_xdate()
###ここまでが3枚のチャートを表示する関数です。
import numpy as np
from dateutil.relativedelta import relativedelta
#t1 = np.datetime64("2020-10-29")
#t2 = np.datetime64("2021-02-13")
t1 = datetime.date.today() - relativedelta(months=6)
t2 = datetime.date.today() - relativedelta(months=1)
df_pct=data2.pct_change()
SidePlot3(df_pct,t1,t2)
relativedelta(months=1) という関数を使うことで一カ月前の日付を取ってくることができます。今回の例では1カ月前と6カ月前の日付となります。
また、興味ある銘柄のみ表示したい場合は以下のようにして絞り込むことができます。
df_pct=data2[["ARKK","GLD","QQQ","SPY","TLT","USO"]].pct_change()
SidePlot3(df_pct,t1,t2)
直近どのような値動きなのか、簡単に確認できます。
2021/12/11追記終わり
来年以降の戦略
仮想通貨関係に全額かけるというような投資はできませんが、ポートフォリオの5%程度は入れておかないと”持たざるリスク”というようなものを感じる存在感のある資産になってきたようです。半減期など、需給的なものも踏まえ、強い展開も視野に入れる必要があるかもしれません。
投資余力、ドローダウン耐性など、人によって違いますので、断定的なことは言えませんが、2021年の値動きという部分では、非常に象徴的な値動きだったように思われます。
ディスクレーマー
投資に関する免責事項情報の提供・作業代行を目的としており、投資勧誘を目的とするものではありません。
---
Pytho,投資関係に関する記事をご紹介します。
コメント