获取沪深300成分股单日收盘价

获取沪深300成分股单日收盘价

首先获得沪深300成分股中各股票名称(沪深300成分股获取网站),导入R中得到数据框。

使用pedquant包获取日收盘价数据:

library(pedquant)
library(tidyverse)
library(readxl)
library(lubridate)
library(writexl)
index_data <- read_xls("000300cons.xls") #导入沪深300成分股名称等信息
index_name <- index_data %>%
  select(`日期Date`, `成分券代码Constituent Code`, `交易所Exchange`) %>% #选择所需变量
  mutate(code = if_else(`交易所Exchange` == "深圳证券交易所", #对股票代码进行改写,使其符合pedquant包中函数所需格式
                        paste(`成分券代码Constituent Code`, "SZ", sep = "."),
                        paste(`成分券代码Constituent Code`, "SS", sep = ".")),
         date = ymd(`日期Date`)) %>%
  select(5, 4) #选择所需变量

# 通过pedqaunt包获取股票信息的函数 ----------------------------------------------------
price_get <- function(code, date){
  get <- md_stock(code, from = date, to = date, adjust = TRUE, source = "163")
  get_t <- tibble(get[[1]]) #获得股票信息数据框
  get_t$close #提取出所需变量,此处为收盘价close
  }
index_price <- index_name %>%
  mutate(close = map2_dbl(code, date, price_get)) #获取各股票收盘价
write_xlsx(index_price, "沪深300成分股收盘价11_25.xlsx") #导出数据结果

此程序缺点:因为是股票数据逐支下载,程序耗时较长。

如需获得多日数据,略加修改源代码即可实现:

如:在数据框中添加endate列,并在自定义函数中将to = date 改为endate,或根据需要直接在函数中指定。
程序所用数据及源代码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值