使用R语言下载中国证券市场上四家上市公司的股票历史日交易数据股票自选时间从2011年1月4日至2022 年 12月31日每日交易数据包括日期、最高价、最低价、开盘价和收盘价这四列。利用股票收盘价计算四只股票在这时间段内的对数收益率。对四只股票的收益率数据进行描述性统计分析包括均值、最大值、最小值、方差、偏度、峰度和Jarque-Bera统计量并画出四只股票在2016年至2022年收益率的时序图
首先,你需要使用R语言来下载四家上市公司的股票历史日交易数据。你可以使用quantmod包来获取股票数据。以下是一个示例代码来下载股票数据:
library(quantmod)
# 定义股票代码
symbols <- c("股票1", "股票2", "股票3", "股票4")
# 下载股票数据
getSymbols(symbols, from = "2011-01-04", to = "2022-12-31", src = "yahoo")
# 提取收盘价数据
close_prices <- data.frame(
"股票1" = Cl(股票1),
"股票2" = Cl(股票2),
"股票3" = Cl(股票3),
"股票4" = Cl(股票4)
)
接下来,你可以使用收盘价数据来计算四只股票的对数收益率。以下是一个示例代码:
# 计算对数收益率
returns <- data.frame(
"股票1" = diff(log(close_prices$股票1)),
"股票2" = diff(log(close_prices$股票2)),
"股票3" = diff(log(close_prices$股票3)),
"股票4" = diff(log(close_prices$股票4))
)
然后,你可以对收益率数据进行描述性统计分析。以下是一个示例代码:
# 描述性统计分析
statistics <- data.frame(
"均值" = apply(returns, 2, mean),
"最大值" = apply(returns, 2, max),
"最小值" = apply(returns, 2, min),
"方差" = apply(returns, 2, var),
"偏度" = apply(returns, 2, skewness),
"峰度" = apply(returns, 2, kurtosis),
"Jarque-Bera统计量" = jarque.test(returns)$statistic
)
最后,你可以使用ggplot2包来画出四只股票在2016年至2022年收益率的时序图。以下是一个示例代码:
library(ggplot2)
# 提取2016年至2022年的收益率数据
returns_2016_to_2022 <- returns["2016/2022"]
# 转换数据为长格式
returns_long <- data.frame(
date = as.Date(index(returns_2016_to_2022)),
stock = rep(colnames(returns_2016_to_2022), each = nrow(returns_2016_to_2022)),
return = as.vector(returns_2016_to_2022)
)
# 绘制时序图
ggplot(returns_long, aes(x = date, y = return, color = stock)) +
geom_line() +
labs(title = "股票收益率时序图", x = "日期", y = "收益率") +
theme_minimal()
希望以上代码能帮助到你。请注意替换代码中的股票代码和日期范围以适应你的需求
原文地址: https://www.cveoy.top/t/topic/hR1s 著作权归作者所有。请勿转载和采集!