1044 2

[作业] 用R通过wind提取指数成分股信息 [推广有奖]

  • 1关注
  • 0粉丝

已卖:45份资源

博士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
1289 个
通用积分
4.0804
学术水平
1 点
热心指数
6 点
信用等级
0 点
经验
401 点
帖子
284
精华
0
在线时间
194 小时
注册时间
2006-4-2
最后登录
2025-2-2

楼主
马克思主义哲学 发表于 2023-2-8 17:09:46 |AI写论文
50论坛币
我是R新手。麻烦大家帮忙看看我代码错在哪里了?

//先定义一个指数代码向量(本来有90只我只是简化为3只)

Indexlist<-list("H30597.CSI", "399276.SZ" , "399293.SZ")


//下面这个针对单个指数的代码是正确的,直接从wind代码生成器上生成的。比如提取指数399293.SZ在2月7日的成分信息:所在行业、代码、行业名称、、成分个数、权重

w_wset_data<-w.wset('constituentsindustrydist','windcode=399293.SZ;enddate=2023-02-07;industry=citicindustrygroups;field=code,name,count,weight')
print(w_wset_data)


现在问题是如何写循环提取全部指数的信息?

我这个循环代码肯定是错的,请问如何修复?

for (i in Indexlist){

  w_wset_data<-w.wset('constituentsindustrydist','windcode=i;enddate=2023-02-07;industry=citicindustrygroups;field=code,name,count,weight')
  
}

最佳答案

abelus 查看完整内容

可能有人喜欢这种代码方式
关键词:wind Win IND 成分股 Index

沙发
abelus 发表于 2023-2-8 17:09:47
  1. require(tidyverse)
  2. idx.lst %>%
  3.   map(function(idx){
  4.   istr <- sprintf('windcode=%s;enddate=2023-02-07;industry=citicindustrygroups;field=code,name,count,weight',
  5.           istr)
  6.   dat <- w.wset('constituentsindustrydist',istr)$Data
  7.   dat$idx <- idx
  8.   dat
  9. }) %>%
  10.   reduce(rbind)
复制代码

可能有人喜欢这种代码方式
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
abelus 发表于 2023-2-10 08:51:31
  1. for(idx in idx.lst){
  2.     wstr <- sprintf('windcode=%s;enddate=2023-02-07;industry=citicindustrygroups;field=code,name,count,weight', idx)
  3.     dat <- w.wset('constituentsindustrydist', wstr)$Data
  4. }
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-11 01:22