Pedquant-数据提供商-开源-01006


Pedquant是一个开源的R包,可用于从多种数据源下载股票数据。以下是使用Pedquant获取A股数据的方法:

  1. 安装Pedquant包:在R环境中,可以使用install.packages("Pedquant")安装发布版本,也可以使用devtools::install_github("shichen xie / ped quant")从GitHub安装开发版本。
  2. 加载相关库和包:在获取数据前,需加载pedquant包及可能用到的其他辅助包,如tidyversereadxllubridatewritexl等。代码示例如下:
library(pedquant)
library(tidyverse)
library(readxl)
library(lubridate)
library(writexl)
  1. 准备数据:若要获取沪深300成分股数据,可先从相关网站下载沪深300成分股名称等信息的文件(如.xls格式),然后导入R中得到数据框。代码示例如下:
index_data <- read_xls("000300cons.xls")
  1. 处理股票代码格式:对成分股数据框中的股票代码进行处理,使其符合pedquant包中函数所需格式。例如,如果成分股数据中有“交易所”列,可根据交易所信息将股票代码改写为“代码.交易所代码”的形式,如“600000.SS”表示上证的股票,“000001.SZ”表示深证的股票。代码示例如下:
index_name <- index_data %>%
  select(`日期Date`, `成分券代码Constituent Code`, `交易所Exchange`) %>%
  mutate(code = if_else(`交易所Exchange` == "深圳证券交易所",
                        paste(`成分券代码Constituent Code`, "SZ", sep = "."),
                        paste(`成分券代码Constituent Code`, "SS", sep = ".")),
         date = ymd(`日期Date`)) %>%
  select(5, 4)
  1. 获取股票数据:使用md_stock函数来获取股票数据。可指定股票代码、日期范围、是否调整数据以及数据源等参数。示例代码如下:
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 
}
index_price <- index_name %>%
  mutate(close = map2_dbl(code, date, price_get))

上述代码中,price_get函数用于获取单个股票在指定日期的收盘价。md_stock函数从163数据源获取股票数据,map2_dbl函数将price_get函数应用到index_name数据框的codedate列上,以获取每个股票在对应日期的收盘价。

  1. 导出数据:将获取到的数据导出为文件,如Excel文件,以便进一步分析和使用。代码示例如下:
write_xlsx(index_price, "沪深300成分股收盘价11_25.xlsx")