最近、物価上昇に続いて、ドル高も止まらないですね〜!
本当にどこまで上がるんだろう。。。
皆様こんにちは。データサイエンティストのヒロキです。
今回このブログでは、ドル円と相関が高いと言われている日米金利差の相関係数を計算し、グラフでその関係性を可視化したいと思います。
下記のようなスキルが身につきます。
- ・ドル円と日米金利差のデータをYahoo financeやFREDからダウンロードする方法
- ・ドル円と日米金利差の相関係数を計算する方法
- ・ドル円と日米金利差のデータをグラフで可視化する方法
実際に手を動かすことで、ニュース記事を見ているよりしみじみできますし、
期間などを変更して、計算したりグラフを描いたりすることができるのでおすすめです。
一緒に手を動かしてやってみましょう^^
ドル円と日米金利差のデータをダウンロード
Yahoo FinaceやFREDからデータをダウンロードするやり方は、過去の記事
Yahoo Financeからデータをダウンロードする方法
や
FREDからダウンロードする方法
をご覧ください。
ドル円と日米金利差のデータをYahoo financeやFREDからダウンロードするには下記コードを実行すれば大丈夫です。
%入力パラメータです。取得したい時系列データの名前と始まりと終わりの日付を指定します。
start_date = '9/5/2020'; %mm/dd/yyy beginning of date range for historical data
end_date = '9/5/2023'; %mm/dd/yyy ending of date range for historical data
%fredDataへseriesで指定した経済指標のデータを格納します。(コピペするだけでOK)
US10 = get_fred_data(start_date, end_date, 'DGS10');%US10年国債
JP10 = get_fred_data(start_date, end_date, 'IRLTLT01JPM156N');%JPN10年国債
%YahooFInanceからデータを取得
USD = hist_stock_data('05092020','05092023',append('JPY=X'));
これでデータが取得できました。
ドル円と日米金利差の相関係数を計算
相関係数とは何か?という方は過去の記事(相関係数とは?)をご覧ください。
今回はドル円と日米金利差の相関係数を計算してみたいと思います。
下記コードを実行します。
%日本とアメリカの金利さを計算するためのマージ
t1=US10;
t2=JP10;
% [t1 t2] = synchronize(t1,t2,'union');
TT = synchronize(t1,t2,'union');
% del=t1-t2;%<-これが求めたかった日米長期金利差
del=TT.data1_t1-TT.data1_t2;%<-これが求めたかった日米長期金利差
tDel=timetable(TT.t,del);
% tUSD=timeseries(USD.Close,datestr(USD.Date));
tUSD=timetable(USD.Date,USD.Close);
% [tUSD del] = synchronize(tUSD,del,'union');
USDJP = rmmissing(synchronize(tUSD,tDel,'union'));
x=USDJP.Var1_tUSD;
y=USDJP.Var1_tDel;
t=USDJP.Time;
r=corrcoef(x,y)
相関係数は、、、、
97%
!!!
かなり相関高いですね!!
ドル円と日米金利差のデータをグラフで可視化
下記コードを実行してみてください。
yyaxis left
plot(t,x,'-b')
ylabel('USD [JPY]')
ylim([60 150])
yyaxis right
plot(t,y,'-r')
ylabel('日米長期金利差[%]')
legend('USD','日米長期金利差')
ylim([-1 5])
このようなグラフが得られるはずです。
相関係数の高さがしみじみできますね^^
それでは今日はこの辺で。
Love&Respect
ヒロキ🐶