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

Q:如何提取申万行业在指定日每个行业的权重    

【简述】官方权重数据提供的是指数每个成份股的权重数据,若需要行业占比,取成份股对应的行业,然后按行业进行统计即可得
  • 例如:获取申万一级行业在申万A指中每个行业的权重占比

         Endt:=20200904T;
         Index:='SW801003';
         GetBkWeightByDate(Index,Endt,t);
         setsysparam(pn_date(),Endt);
         t:= select *,spec(StockSWIndustryIdLv1(),['代码']) as '行业代码'  from t end;
         return select ['行业代码'],stockname(['行业代码']) as '行业名称',
          sumof(['比例(%)']) as '行业比例(%)' 
          from t group by ['行业代码'] end;

    //返回结果如下:
    行业代码行业名称行业比例(%)
    SW801080电子8.942847
    SW801880汽车2.910021
    SW801780银行6.479452
    SW801180房地产3.345570
    SW801770通信2.078025
    SW801170交通运输2.423890
    SW801890机械设备4.185616
    SW801790非银金融8.538243
    SW801050有色金属2.813996
    SW801750计算机5.618160
    SW801150医药生物10.838857
    SW801040钢铁0.758261
    SW801740国防军工1.999296
    SW801140轻工制造1.477035
    SW801760传媒3.186447
    SW801160公用事业2.635129
    SW801010农林牧渔2.671604
    SW801710建筑材料1.591582
    SW801210休闲服务1.012510
    SW801110家用电器2.955468
    SW801200商业贸易1.244429
    SW801030化工5.416251
    SW801730电气设备4.584661
    SW801230综合0.464447
    SW801130纺织服装0.616761
    SW801020采掘1.015868
    SW801720建筑装饰1.738958
    SW801120食品饮料8.456602