記事一覧
g20 cli 推移
2024/6データ
デルタ
last(diff(cli_g20),21) %>% plot(.,type='h')
SPX 四半期理論価格モデル
EPSを利用する場合ケース1
eps+各種マクロデータ+OECDによるG20 composite leading indicator を説明変数とした。
G20 composite leading indicatorは10ヶ月前の値との差を説明変数として使用する。
上記の結果生成されたオブジェクトを利用して任意のデータを利用して予測値を計算する。
lmdf <- data.frame(sp
#SPX 月次収益率統計モデル その2
データの準備
TERM <- "1972::2024-02"merge(g20=diff(cli_g20)[TERM],usa=diff(cli_usa)[TERM],g7=diff(cli_g7)[TERM])-> wmerge(w,nfci=as.vector(diff(to.monthly(NFCI)[,4])[TERM]),spx=as.vector(monthlyReturn(GSPC
dplyr filter select reframe summarise
ソースコード
quarterlyReturn(GSPC)["1950::2021"] %>% matrix(.,nrow=4) %>% t() -> mcbind(m,(quarterlyReturn(GSPC)["1951::2022"] %>% matrix(.,nrow=4) %>% t())) -> mcbind(m,(quarterlyReturn(GSPC)["1952::2023"
大統領選挙年の2月3月収益率について
大統領選挙が行われる年の2月および3月の収益率をそれ以外の年と比較する。果たして大統領選挙年に当該月のパフォーマンスは悪いと言えるのか。
ソースコード
monthlyReturn(GSPC)["::2023"] %>% matrix(.,nrow=12) %>% t() -> ww[seq(3,74,4),] %>% apply(.,2,mean)w[-1*seq(3,74,4),] %>%
NFCI vs. SPX 月次収益率 with VIX &CLI png facet
VIXを利用して分類した場合 facet_wrap 使用
NFCI月間変化値とS&P500月次収益率の関係はすでに検証済みだが、これをVIX<20の場合とそれ以外に分けて分析する。
コード
TERM <- "2007::2024-01"w <- data.frame(fci=(diff(to.monthly(NFCI)[,4]))[TERM],spx=(monthlyReturn(GSPC)
scale palette スケールとパレット viridis ggplot2
組み合わせ
Table 12.1: Discrete fill and color scalesFill scale Color scale Descriptionscale_fill_discr
#SPX 月次収益率統計モデル matplot predict
データの準備
TERM <- "1972::2024-02"merge(g20=diff(cli_g20)[TERM],usa=diff(cli_usa)[TERM],g7=diff(cli_g7)[TERM])-> wmerge(w,nfci=as.vector(diff(to.monthly(NFCI)[,4])[TERM]),spx=as.vector(monthlyReturn(GSPC
ISMとCLI(composite leading indicator )の関連について - その2 NFCIを加えた場合
データの用意
TERM <- "2014-10::2023-10"merge(cli_g20[TERM],cli_usa[TERM],ism_mfg[TERM],ism_svc[TERM]) -> wcolnames(w) <- c("g20","usa","ismmfg","ismsvc")cbind(w,to.monthly(NFCI)[,4][TERM]) -> wcbind(w,diff
Fear & Greed Index
構成要素
momentum
net new 52week highs/lows
breadth
put/call ratio
volatility
difference stock and bond returns
junk bond spread
3四半期にわたって7%以上の収益率があった場合の向こう3四半期収益率過去実績
データ
quarterlyReturn(GSPC) -> wfor(i in seq(3,296,1)){if(w[i-2]>0.07 && w[i-1]>0.07 && w[i]>0.07 && w[i+1] < 0.07 ){print(w[(i-2):(i+3)])} } quarterly.returns1954-06-30 0.084261241954