FAQ > 金融建模 > 建模问题 > 行业与板块

Q:getbk(stockname('SH000300'))取不到板块成份股的问题    

  • A:该指数名称的问题已经处理,即后面不再有空格,用户可直getbk(stockname("SH000300"))进行使用

    20170816日编写的历史版本说明:
    stockname('SH000300')得到的板块名为'沪深300 ',后面有个空格,该指数名称来自于上交所。而天软的板块为’沪深300’是没空格的,所以用户如果直接用stockname("SH000300")获取的指数名称来取板块,是取不到对应的板块成份股。解决方法有:
    1、使用的时候可用trim去掉空格来提取数据,例如:

    bk:=stockname("SH000300");
    //用bk获取当前板块成分股
    return  getbk(trim(bk));
    //设置“沪深300”为当前板块名称,获取板块数据
    setsysparam(pn_bk(),trim(bk));
    return  Bk_NetEquityReturn(20160630,0,0,0,0);
     

    2、用深交所代码获取的沪深300指数SZ399300名称,没有空格"沪深300",可以直接获取成分股或设置板块名称,如:

    bk:=stockname("SZ399300");
    //用bk获取当前板块成分股
    return  getbk(bk);
    //设置“沪深300”为当前板块名称,获取板块数据
    setsysparam(pn_bk(),bk);
    return  Bk_NetEquityReturn(20160630,0,0,0,0);