spx vs. vix vs. 金利 vs. ドル指数

概要

spx vs. vix vs. 金利 vs. ドル指数 を全てまとめたデータセットを作る。
取引日の差異に注意する。

データ準備

d <- intersect(index(diff(TNX[,4])[!is.na(diff(TNX[,4]))]), index(diff(NDX[,4])[!is.na(diff(NDX[,4]))]))
# w <- merge(diff(GSPC[,4])[as.Date(d)] ,diff(TNX[,4])[as.Date(d)],diff(VIX[,4])[as.Date(d)],diff(DXY[,4])[as.Date(d)])
w <- merge(dailyReturn(GSPC)[as.Date(d)] ,diff(TNX[,4])[as.Date(d)],diff(VIX[,4])[as.Date(d)],diff(DXY[,4])[as.Date(d)])
colnames(w) <- c('spx','tnx','vix','dxy')
m <- data.frame(w,s=cut(w$spx,breaks=c(min(w$spx),-0.01,0,0.01,max(w$vix)),labels=c('a','b','c','d'),include.lowest = T))
df <- m

Vix daily change vs. DXY daily change.

#  vix vs. ドル指数
p <- ggplot(df, aes(x=vix,y=dxy,color=s))
p <- p + geom_point(alpha=1,size=1)
p <- p + scale_color_discrete(name='spx daily return',label=c('less than -0.01','between -0.01 and 0','between 0 and 0.01','more than 0.01'))
p <- p + theme_dark()   
p <- p + xlab("vix daily change") + ylab("dxy daily change")                                                 
p <- p + annotate("text", x=last(df$vix),y=last(df$dxy), label = "◇",family = "HiraKakuProN-W3",alpha=1,color='red')
# p <- p + stat_smooth(aes(x=vix,y=spx),method = loess, formula = y ~ x,se=T)
plot(p)

Vix daily change vs. TNX daily change

# vix vs. 金利
p <- ggplot(df, aes(x=vix,y=tnx,color=s))
p <- p + geom_point(alpha=1,size=1)
p <- p + scale_color_discrete(name='spx daily return',label=c('less than -0.01','between -0.01 and 0','between 0 and 0.01','more than 0.01'))
p <- p + theme_dark()   
p <- p + xlab("vix daily change") + ylab("tnx daily change")                                                 
p <- p + annotate("text", x=last(df$vix),y=last(df$tnx), label = "◇",family = "HiraKakuProN-W3",alpha=1,color='red')
# p <- p + stat_smooth(aes(x=vix,y=spx),method = loess, formula = y ~ x,se=T)
plot(p)

TNX daily change vs. SPX

# 金利 vs. spx
p <- ggplot(df, aes(x=tnx,y=spx,color=vix))
p <- p + geom_point(alpha=1,size=0.1)
p <- p + theme_grey()   
p <- p + xlab("tnx daily change") + ylab("spx daily change")                                                 
p <- p + annotate("text", x=last(df$tnx),y=last(df$spx), label = "◇",family = "HiraKakuProN-W3",alpha=1,color='red')
p <- p + stat_smooth(aes(x=tnx,y=spx),method = lm, formula = y ~ x,se=T)
p  <- p + scale_color_gradient2( low = "#FF0000",mid="#00FF00" , high = "#0000FF",midpoint=0)
# p <- p + stat_smooth(aes(x=vix,y=spx),method = loess, formula = y ~ x,se=T)
plot(p)


DXY daily change vs. TNX change.

p <- ggplot(df, aes(x=vix,y=tnx,color=s))
p <- p + geom_point(alpha=1,size=1)
p <- p + scale_color_discrete(name='spx daily return',label=c('less than -0.01','between -0.01 and 0','between 0 and 0.01','more than 0.01'))
p <- p + theme_dark()   
p <- p + xlab("vix daily change") + ylab("tnx daily change")
p <- p + annotate("text", x=last(df$vix),y=last(df$tnx), label = "◇",family = "HiraKakuProN-W3",alpha=1,color='red')
# p <- p + stat_smooth(aes(x=vix,y=spx),method = loess, formula = y ~ x,se=T)
plot(p)

VIX vs. VIX daily Change

d <- intersect(index(diff(TNX[,4])[!is.na(diff(TNX[,4]))]), index(diff(NDX[,4])[!is.na(diff(NDX[,4]))]))
# w <- merge(diff(GSPC[,4])[as.Date(d)] ,diff(TNX[,4])[as.Date(d)],diff(VIX[,4])[as.Date(d)],diff(DXY[,4])[as.Date(d)])
w <- merge(dailyReturn(GSPC)[as.Date(d)] ,diff(TNX[,4])[as.Date(d)],diff(VIX[,4])[as.Date(d)],diff(DXY[,4])[as.Date(d)])
colnames(w) <- c('spx','tnx','vix','dxy')
m <- data.frame(w,s=cut(w$spx,breaks=c(min(w$spx),-0.01,0,0.01,max(w$vix)),labels=c('a','b','c','d'),include.lowest = T))
df <- m
df <- data.frame(df,v=VIX[,4][as.Date(d)] ) 
colnames(df)[dim(df)[2]] <- 'v'

p <- ggplot(df, aes(x=vix,y=v,color=s))
p <- p + geom_point(alpha=1,size=1)
p <- p + scale_color_discrete(name='spx daily return',label=c('less than -0.01','between -0.01 and 0','between 0 and 0.01','more than 0.01'))
p <- p + theme_dark()
p <- p + xlab("vix daily change") + ylab("vix")
p <- p + annotate("text", x=last(df$vix),y=last(df$v), label = "◇",family = "HiraKakuProN-W3",alpha=1,color='red')
# p <- p + stat_smooth(aes(x=vix,y=spx),method = loess, formula = y ~ x,se=T)
plot(p)

この記事が気に入ったらサポートをしてみませんか?