library(MASS)
library(survival)
library(fitdistrplus)
library(openxlsx)
library(zoo)
library(xts)
library(TTR)
library(quantmod)
data <- read.xlsx("C:/pc/Desktop/weibull/data.xlsx")
n <- length(data$Date)
# 计算returns
data$returns[2:n] <- diff(log(data$Close))
# 转换日期格式
data$Date <- as.Date(data$Date)
# Price的时序图
plot(data$Date, data$Close, type = "l", xlab = "Date", ylab = "Price")
# returns的时序图
plot(data$Date, data$returns, type = "l", xlab = "Date", ylab = "returns")
# 使用Weibull分布法估计股票180天周期95%置信水平的VaR
periods <- 180
confidence <- 0.95
n <- length(data$returns)
var_seq <- rep(NA, n - periods)
for (i in (periods + 1):n) {
var_seq[i - periods] <- -qweibull(0.95, shape = 1, scale = sd(data$returns[(i-180):(i-1)]))
}
# 画出VaR时序图
plot(var_seq, type = "l", xlab = "Date", ylab = "VaR")
R代码:采用 Weibull 分布法估计一只股票180天周期95%置信水平的VaR
于 2023-05-31 10:42:44 首次发布