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