Recommended
PDF
PDF
PPTX
PDF
[DL輪読会]Progressive Growing of GANs for Improved Quality, Stability, and Varia...
PDF
PPTX
PDF
PPTX
PDF
なぜ研究者の名寄せが必要か ~ 世界の動向と研究者リゾルバー ~
PDF
PDF
PDF
PDF
クラシックな機械学習入門:付録:よく使う線形代数の公式
PDF
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
PDF
PPTX
PDF
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
PDF
PDF
PPTX
PPTX
PDF
PDF
PDF
[DL輪読会]Deep Learning 第15章 表現学習
PPTX
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
PDF
PPTX
PDF
PPTX
PDF
時系列解析の使い方 - TokyoWebMining #17
More Related Content
PDF
PDF
PPTX
PDF
[DL輪読会]Progressive Growing of GANs for Improved Quality, Stability, and Varia...
PDF
PPTX
PDF
PPTX
What's hot
PDF
なぜ研究者の名寄せが必要か ~ 世界の動向と研究者リゾルバー ~
PDF
PDF
PDF
PDF
クラシックな機械学習入門:付録:よく使う線形代数の公式
PDF
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
PDF
PPTX
PDF
【DL輪読会】How Much Can CLIP Benefit Vision-and-Language Tasks?
PDF
PDF
PPTX
PPTX
PDF
PDF
PDF
[DL輪読会]Deep Learning 第15章 表現学習
PPTX
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
PDF
PPTX
PDF
Similar to とある金融屋の統計技師が時系列解析してみた
PPTX
PDF
時系列解析の使い方 - TokyoWebMining #17
PDF
PDF
PPTX
PPTX
PDF
対応分析研究会第19回v1.0.pdf前回(18回)の内容を整理します。 • それを踏まえて、解釈、疑問点を列挙
PDF
PDF
Time series analytics_ch01
More from Nagi Teramo
PDF
PDF
PDF
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
PDF
続わかりやすいパターン認識11章(11.1 - 11.4)
PDF
PDF
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
PDF
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
PDF
PDF
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
PDF
Tokyo.R 白熱教室「これからのRcppの話をしよう」
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
Reproducebility 100倍 Dockerマン
PDF
可視化周辺の進化がヤヴァイ~rChartsを中心として~
PDF
Trading volume mapping R in recent environment
PDF
とある金融屋の統計技師が時系列解析してみた 1. 2. 3. 4. 5. 6. 7. 8. 9. 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. 16. 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. 19. 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. 23. 24. 25.