應用統計子主題B

動機

  • 想了解長期利率和短期利率對債卷價格的影響

程式說明

  • 載入必要套件和抓取股票資料
rm(list=ls(all=TRUE))

# 設置開始日期為 "1990-01-01"
start = "1990-01-01"

# 設置結束日期為當前日期
end = Sys.Date()

# 股票代號為 "^GSPC",從 Yahoo 資料源中獲取股票數據
stock_ticker = "^GSPC"
stock = quantmod::getSymbols(stock_ticker,
                             from=start,
                             to=end,
                             src="yahoo",
                             auto.assign=FALSE) 
  • 將股票數據框的列名更改為指定的名稱
colnames(stock) = c("Open", "High", "Low", "Close",
                    "Volume", "Adjusted")

-短期利率代號為 “DGS2”,從 FRED 資料源中獲取短期利率數據 -長期利率代號為 “DGS10”,從 FRED 資料源中獲取長期利率數據

short_rate_ticker = "DGS2"
short_rate = quantmod::getSymbols(short_rate_ticker,
                                  src="FRED",
                                  auto.assign=FALSE)
long_rate_ticker = "DGS10"
long_rate = quantmod::getSymbols(long_rate_ticker,
                                 src="FRED",
                                 auto.assign=FALSE)

# 將短期利率和長期利率都除以 100,將利率轉換為百分比
short_rate = short_rate/100
long_rate = long_rate/100
  • 將股票調整後的收盤價和利率差值合併為一個數據框
# 將股票調整後的收盤價和利率差值合併為一個數據框
data = merge(stock$Adjusted, short_rate,long_rate)

# 刪除含有缺失值的列
data = na.omit(data)
  • 使用dygraph套件並使用雙y軸,在下面增加一個時間選擇器
library(dygraphs)

# 創建 dygraph 物件
fig1 = dygraph(data, main="SP500 and DGSs") %>%
  
  # 不畫 x 軸的格線
  dyAxis("x", drawGrid=FALSE) %>%  
  
  # y 軸標籤設置為 "SP500"
  dyAxis("y", label="SP500") %>%
  
  # y2 軸標籤設置為 "DGS"
  dyAxis("y2", label="DGS") %>%
  
  # SP500 數據系列,顏色為藍色,放在 y 軸上
  dySeries("Adjusted", label="SP500", color="blue", axis="y") %>%
  
  # 數據系列,顏色為紅色,放在 y2 軸上
  dySeries('DGS2', label='DGS2', color="red", axis="y2") %>%
  
  dySeries('DGS10', label='DGS10', color="#008000", axis="y2") %>%
  
  # 繪製第一個陰影區域,從 2000-02-11 到 2000-12-26,顏色為淺粉色
  dyShading(from="2000-02-11", to="2000-12-26", color="LightPink") %>%
  
  # 繪製第二個陰影區域,從 2006-06-08 到 2007-03-20,顏色為淺藍色
  dyShading(from="2006-06-08", to="2007-03-20", color="rgb(173,216,230)") %>%
  
  # 繪製第三個陰影區域,從 2022-07-06 到 2023-05-15,顏色為淺綠色
  dyShading(from="2022-07-06", to="2023-05-15", color="#90EE90") %>%
  
  # 設置 x 軸和 y 軸的線條顏色為海軍藍、設置網格線的顏色為淺藍色
  dyOptions(axisLineColor="navy", gridLineColor="lightblue") %>% 
  
  # 添加範圍選擇器
  dyRangeSelector()

結果

結論

  • 長期利率對債券價格的影響:
    1. 當長期利率上升時,現在發行的新債券的利率會增加,這使得債券的利率變更有吸引力。因此,舊債券的價格會下降,以反映新債券的更高利率。
    2. 長期利率上升也會使投資者更加傾向於投資於新發行的債券,因為它們可以獲得更高的利率收益,這進一步加壓了舊債券的價格。
    3. 長期利率上升會導致現有債券的價格下降。
  • 短期利率對債券價格的影響:
    1. 短期利率上升時,對債券價格的影響通常較小。這是因為短期債券的到期日較短,投資者更容易在到期後重新投資於新的債券,以獲得更高的利率收益。
    2. 由於短期債券的到期日較短,其價格對利率變動的敏感性較低,因此即使短期利率上升,對短期債券的價格影響也相對較小。
  • 長期利率和短期利率的變動都會對債券價格產生影響,但對長期債券的影響更大。投資者在考慮投資於債券時,需要密切關注利率變動情況,並根據自己的投資目標和風險偏好做出適當的選擇。