Your SlideShare is downloading. ×
0
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

とある金融屋の統計技師が時系列解析してみた

10,272

Published on

第33回R勉強会@東京(#TokyoR)の資料

第33回R勉強会@東京(#TokyoR)の資料

Published in: Technology
0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,272
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
74
Comments
0
Likes
20
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. とある金融屋の統計技師が 時系列解析してみた ~To my dear wife, Phoenix~ 第33回 勉強会@東京(#TokyoR) @teramonagi
  • 2. 2 本資料は個人的な勉強会のために作成したもの です。本情報の内容については万全を期しており ますが、その内容を保証するものではありません。 これらの情報によって生じたいかなる損害につい ても、情報提供者は一切の責任を負いません。な お、本資料における意見、見解等はすべて筆者の 個人的なものであり、筆者の属する組織の意見、 見解等ではないことをあらかじめご了承ください。 CAUTION
  • 3. 自己紹介 • ID:@teramonagi 3
  • 4. とある弁当屋の統計技師 4 データサイエンティスト 日本が誇る 最強の 使い 石田基広氏著 発売予定:2013/9/26 税込価格:1,365円 共立出版
  • 5. とある弁当屋の統計技師 丸善出版に心配されるヤヴァさ5 データサイエンティスト
  • 6. とある弁当屋の統計技師 6 データサイエンティスト • “とある弁当屋”で、データサイエンティスト が活躍する統計の入門書! • データの要約、(単|重|ロジスティック)回帰 モデルまでの基本をしっかりカバー! • 更に、これらの内容をがっつり勉強するた めのサポートサイトも開設(予定)! • この秋、これを買わずしてデータ サイエンティストは語れない •今すぐ予約だ!
  • 7. その他、同著者のおススメ本 7 ~初心者向け~ とりあえずR言語への とっかかりとなる一冊 ~中・上級者向け~ 辞書的に手元に 置いておきたい一冊
  • 8. 8 本題へ
  • 9. 本資料の概要 • (重)回帰分析の係数が(時系列 データに関して言えば)、分析に使 用するデータ期間に応じて相当動く という事を理解する • どの程度ズレ得るのかを 実際にやってみる 9
  • 10. まずはデータのダウンロード • 米国金融市場より –米国債10年金利 –S&P500指数 –IBMの株価 –Pacific Gas & Electricの株価 を取得 10
  • 11. まずはデータのダウンロード 11 # quantmodパッケージのインストール install.packages(“quantmod”) library(quantmod) # quantmod0.4系だとauto.assign=TRUEがいる # 0.5系からはなくてもOKらしい # 10年国債金利(アメリカ), S&P500(アメリカの株価指数, IBM, PCGの株価を取得 # 今回はアメリカ市場データを用いている # …からのデータのマージ&欠損(NA)の除去 data <- na.omit( merge( getSymbols(“DGS10”, src=“FRED”, auto.assign=FALSE), getSymbols(“SP500”, src=“FRED”, auto.assign=FALSE), getSymbols(“IBM”, src=“yahoo”, auto.assign=FALSE, from=“2003-01-01”)[,6], getSymbols(“PCG”, src=“yahoo”, auto.assign=FALSE, from=“2003-01-01”)[,6] )) colnames(data) <- c(“T10Y”, “SP500”, “IBM”, “PCG”) head(data) ※裏では時系列処理のxtsパッケージ等も呼ばれてます
  • 12. まずはデータのダウンロード 12 > head(data) T10Y SP500 IBM PCG 2003-01-02 4.07 909.03 68.98 10.56 2003-01-03 4.05 908.59 69.90 10.41 2003-01-06 4.09 929.01 71.56 10.92 2003-01-07 4.04 922.93 73.63 10.63 2003-01-08 4.00 909.93 72.08 10.93 2003-01-09 4.19 927.58 74.48 11.02
  • 13. データの変換(変化率・差分) 13 #データの変換関数群。変化率(ROC) or 差分(diff) converter <- list( function(x){diff(x)}, function(x){ROC(x, type="discrete")}, function(x){ROC(x, type="discrete")}, function(x){ROC(x, type="discrete")} ) #dataの各列に対して各convertを適用し,data.frameとして整形 data.converted <- na.omit( do.call("cbind",lapply( 1:length(converter), function(i) {converter[[i]](data[,i])} ) ) )
  • 14. データの変換 14 > head(data.converted) T10Y SP500 IBM PCG 2003-01-03 -0.02 -4.840e-04 0.013337 -0.014204 2003-01-06 0.04 2.247e-02 0.023748 0.048991 2003-01-07 -0.05 -6.544e-03 0.028926 -0.026556 2003-01-08 -0.04 -1.408e-02 -0.021051 0.028222 2003-01-09 0.19 1.939e-02 0.033296 0.008234 2003-01-10 -0.03 -1.078e-05 0.007787 0.000000
  • 15. そもそもなぜ変換がいるのか? 15TJOssanのサイトを見て下さい ※ http://tjo.hatenablog.com/entry/2013/08/16/095536 より
  • 16. そもそもなぜ変換がいるのか? 16 http://www.slideshare.net/teramonagi/r-7066155より 拙著でよければ、あるいはこちら
  • 17. x Density T10Y -0.05 0.05 0.10 0.38*** 0.30 *** -0.10 0.00 0.05 0.10 -0.40.0 0.13 *** -0.050.10 x Density SP500 0.72*** 0.55*** x Density IBM -0.050.10 0.37*** -0.4 -0.2 0.0 0.2 -0.100.05 -0.05 0.05 0.10 x Density PCG 相関構造の可視化(概要把握) 17 # 相関構造の可視化(psychパッケージのpairs.panels関数も似た感じ) install.packages("PerformanceAnalytics") library(PerformanceAnalytics) chart.Correlation(data.converted, histogram=TRUE)
  • 18. 回帰モデル 株価変化率 || α+β×SP500変化率+γ×金利変化 18 株価変化率が、どう金利変化に依存する のかを評価したい(γを評価したい)
  • 19. ローリング回帰とは 時系列データ (時間方向) 時系列データ全体 回帰分析1 回帰分析4 回帰分析2 回帰分析3 各回帰分析期間に対し、回帰係数を算 出、回帰係数の時系列変化を取得する
  • 20. ローリング回帰 20 # windowサイズ250(営業日)でのローリング回帰(IBM, PCG) # …からの回帰係数(切片・SP500・10年金利)取得 size.window <- 250 coefs.pcg <- rollapplyr( data.converted, size.window, function(x){ coef(lm(PCG~SP500+T10Y, data=x)) }, by.column = FALSE) names(coefs.pcg) <- c("PCG.intercept", "PCG.SP500", "PCG.T10Y") coefs.ibm <- rollapplyr( data.converted, size.window, function(x){ coef(lm(IBM~SP500+T10Y, data=x)) }, by.column = FALSE) names(coefs.ibm) <- c("IBM.intercept", "IBM.SP500", "IBM.T10Y") ※裏では時系列処理のxtsパッケージ等も呼ばれてます ※rollapplyrはxtsパッケージの機能
  • 21. 結果の表示 with rCharts 21 # rChartsのインストール install.packages("devtools") library(devtools) install_github('rCharts', 'ramnathv') library(rCharts) # γのPLOT,数が多いので500個だけ coefs.plotted <- merge(coefs.pcg, coefs.ibm) coefs.plotted <- coefs.plotted[floor(seq(1, nrow(coefs.plotted), length.out=500)),] coefs.plotted <- na.omit(data.frame(date=as.character(index(coefs.plotted)), coefs.plotted)) m1 <- mPlot(x="date", y=c("PCG.T10Y","IBM.T10Y"), type='Line', data=coefs.plotted) m1$set(pointSize = 3, lineWidth = 2) m1 ※出力はhtml+javascriptでインタラクティブでびゅーてぃふるなグラフが作成可能
  • 22. 回帰係数γの時系列変化表示 22
  • 23. とある弁当屋の乱子氏による解説 23 一般にPCGに代表される電力・ガスの公益関連 株は巨大設備・施設等の固定資産が多く、その 支払いを有利子負債でファイナンスしているわ。 従って金利が低下した場合は支払利息が減って 業績面でプラス(株価上昇材料)となり、逆に金 利が上昇した場合は支払利息が増えて業績面 でマイナス(株価下落材料)となる傾向があるわ。 γはその傾向を反映してマイナスになっているの ね。 一方、IBMは特段強く金利からの影響は受けて いないように見えるわね。
  • 24. 24 乱子すげぇ!!! わかりやすい!!! 買うしかない!!!
  • 25. Enjoy!!! 25

×