【データを読み解く】 講師 田中 周二
2014.11.13
第4回 金融1.はじめに
いよいよ私の話も最終回です。今回は、金融をとりあげます。お金の話ですね。日本 は一昨年から安倍首相になってアベノミクスという金融政策を繰り広げています。株 価は上がり、為替レートは円安に振れました。今後、予断を許しませんが、ひとまず は景気回復の入り口まできたと考える人が増えてきました。ところで、金融とはお金 の貸し借りや投資のことですので、金利市場や株式市場、為替市場のデータを分析す ることになります。まずは、為替の話から始めましょう。
2.為替レート
為替レートとは、異なる通貨同士を交換するときの換算率のことを言います。例えば、
1
ドルが100
円というときには、1
ドルを銀行に持ってゆくと日本円の100
円と取 り替えてくれるということです。海外旅行に行くときには、円高の時期に行くと海外 のお土産やホテル代が安くなるように感じられます。逆に円安になると高く感じます。企業の場合には輸出企業の場合には円高になると同じものが海外から見ると高くなる ので製品の競争力が落ち、輸出しにくくなります。逆に輸入企業の場合には海外のも のが安く買えるので消費者にとっては助かります。主要通貨は米国のドルと、欧州の ユーロがあり、日本円との為替レートである円ドルレートや円ユーロレートは毎日テ レビで放送されています。為替取引は、全世界の銀行間の取引によって行なわれます が、実際には外為ブローカーと呼ばれる業者が媒介します。
まずは為替レートのデータを見ることにしましょう。カナダのブリティッシュコロ ンビア大学の
Sunnder School of Business
が運営するhttp://fx.sauder.ubc.ca/data.html
ではいろいろな通貨の組み合わせで過去の為替 レートをデータとしてダウンロードできます。円ドルレートを2011
年1
月から2013
年10
月末までの962
日分とって名前を”yenUSdollar.csv”
としました。これ をグラフにすると真ん中あたりで大きく円高に振れ、2013
年になって大きく円安方 向に振れて90-100
円で安定化しているように見えます。このデータを見て、ブラウ ン運動の経路に似ていると思うかもしれません。日次の変化率が仮に正規分布に従っていれば近似的にブラウン運動とみなしてよいでしょう。しかし、実際の変化率の分 布を描くと正規分布より裾の厚い分布になっていることが分かります。これを視覚的 に見るのに便利なのが
QuantilePlot
です。データが直線上に乗れば正規分布とみな せますが両端で大きく外れているので明らかに正規分布より裾の厚い分布です。正規 分布かどうかをいろいろな統計量から包括的な検定を行うコマンドはH
=DistributionFitTest[data,Automatic,”HypotheticalFitData”]
とし、H
[“HypotheticalDataTable”,All]
とすると, Anderson-Darling,Cramér-von Mises, Jarque-Bera ALM,Pearson Chi-squared, Shapiro-Wilk
の各方法で検定してくれま す。いずれも検定統計量は極めて小さいため正規分布という仮説は棄却されます。為 替レートの時系列としての性質も気になります。今日と昨日の為替レートの変動には 弱い負の相関(-0.0084)
があることが分かります。3.金利の期間構造
次は金利です。金利は貸借期間によって異なることが知られています。
1
年間借り入 れるのと10
年間借り入れるのでは10
年の方が一般には1
年当たりの金利水準が高 くなります。金利が存在する一つの理由としては、貸す側から見るとある期間に何か を買ったり投資しようとする資金を寝かせるわけですから、その対価として報酬を受 け取るものと考えることができます。そうすると長い期間貸し出すということはそ れだけ高い報酬を受け取りたいということになります。この期間ごとの金利水準は期 間を横軸にとるとある時点では右上がりの曲線になります。これをイールドカーブと 言います。日本国債のイールドカーブの月次データを”JGB.csv” (2004
年4
月~2013
年1
月)
として準備しました。年限は3
カ月、6
カ月、後は0.5
年きざみで30
年までです。イールドカーブの変動を見るために、すべての時点のイールドカー ブを図に描きました。右上がりの曲線が106
本重ね書きされて帯状に表されます。この間、短期の金利は途中で少し上昇したことを除き、概ねすべての金利水準がなだ らかに下降しています。この様子を、年限
1
年、10
年、20
年、30
年の金利水準の 動きを見たものが時系列グラフです。このグラフを見ると、長期の金利同士は連動し て動いているように見えます。これを見るために1
年と10
年、10
年と20
年,20
年 と30
年の相関係数を計算してみると、それぞれ0.545,0.888,0.845
となっており 観察を裏付けています。このイールドカーブから債券価格を計算してみましょう。金 利の期間構造(R
t)が与えられると、元本を100
円とし、利息(
クーポン)
を毎年2
円 ずつ受け取ることのできる満期が10
年の債券の価格はどうなるでしょうか?式で表すと
P= 2
( 1+r
1) + 2
(1 +r
2)
2+…+ 102
( 1+r
10)
10 となります。これは、tsirに各年限の金利レートを入れておけば以下のコードで各年の割引関数が計算できるのでキャッシュフ ローとの内積をとれば計算できます。
discount = Exp[-Table[i*Log[1 + tsir[[i]]], {i, 1, 10}]]
Total[cf*discount]
また債券の平均的な利回りを知りたければ
FindRoot
により内部収益率が計算できま す。FindRoot[TimeValue[Cashflow[Join[cf1]], r, 0] == 0, {r, 0.01}]
4.株式の収益率とポートフォリオ
次は株式市場です。株式は株式会社が発行する証券です。これを投資家が購入し、あ る期間に株式配当
D
tを受け取ると同時に、株価P
tが上昇すると値上り益を享受する ことができます。ただし、株式を売らない限り、その利益は実現しません。従って、ある銘柄の株式の例えば
1
カ月間の収益率はR
t= P
t+1+ D
tP
r−1
と表すことができま
す。ここでは
1952
年1
月からの2011
年末までの月次の株式収益率のデータを証券 経済研究所のCD-ROM
より入手しました。銘柄は、新日鉄、パナソニック、セイ コーの3
銘柄です。この3
銘柄の算術平均、幾何平均と標準偏差をまず計算します。マーコビッツの考えた証券のリスクとリターンの関係についての主張は、リスクを標 準偏差と考えると、リスクの高い証券ほどリターンは高いということです。計算結果 を見ると
,
以下の表のようになります。新日鉄 パナソニック セイコー
算術平均
1.116
%1.439
%1.287
%幾何平均
0.737 1.022 0.623
標準偏差
8.840 9,194 11.841
新日鉄とパナソニックでは当てはまりますがセイコーと他の
2
銘柄の関係は違ってい るようですね。(ただ、直近の10
年を考えると違った結果になります。)次に、株価の変動の様子を見ましょう。まずは時系列ですが、どの銘柄も非常に大き く振れており、標準偏差が
10%
前後ということが実感できますね。ヒストグラムで 見ても-40%
から60%
と上昇・下降の幅は極めて大きいことが分かります。マーコ ビッツは銘柄を分散したポートフォリオで運用した方がリスクが減らせるというこ とを主張しました。そこで、3
つの銘柄を分散してポートフォリオを作って結果を見 ることにしましょう。それぞれの投資比率をvar=(x
1,x
2, x
3)
としてポートフォリオ の分散V=var’Avar =Σρ
ijx
ix
jを最小化するvar
を求めます。A
は分散共分散行列[Cov(R_i,R_j)]
です。5.株式オプション
オプションとは選択権と訳されていますが、金融デリバティブの一種です。多くの金 融商品や商品(穀物や家畜、石油など)に対し、オプション取引が存在し、盛んに取 引されています。中でも日本では日経平均という株価指数を原資産とする日経平均オ プションが盛んに取引されています。オプションの仕組みや記号については、別に説 明するとしてここではヨーロッパ型のコールオプションの公式として有名な
Black- Sholes
式を紹介します。Call= SN (d
1)− Ke
−rtN (d
2), Put =− SN (−d
1)+Ke
−rtN (−d
2) d
1=( log ( S /K )+( r+ σ
2/2 )t )/ σ √ t ,d
2=d
1−σ √ t
日経平均のオプションは大阪証券取引所で取引されており、例えば
4
月2
日の株価が12000
円だったときの行使価格13000
円のコール価格は8
円,
プット価格は1010
円 でした。ところが12500
円のコール価格は60
円、プット価格は555
円でした。このときの
Black=Shokes
モデルから逆算されるσ
をインプライドボラティリティと言います。これを
Mathematica
で求めてみましょう。入力は
t=1/12,r=0.001,K=13000,12500
、S=12000
とします。次の関数で求め ます。ImpliedVolEuroCall [price_,strike_,maturity_,rate_,optionPrice]:=
volatility/.FindRoot[priceeEuroCall[price,strike,volatility,mturityT,rate]==opti
onPrice,{volatility,0.2}]
【課題1】株式のポートフォリオでリターンの制約条件を
1.2
から始めて徐々に高め ていったときのリスクがどうなるかを計算し図に描いてみよ(得られた曲線を効率的 フロンティアと呼んでいる)。【課題