内部代码对照表(136):
申万行业代码与申万行业指数代码是一一对应的关系,其关系可通过天软的股票.内部代码对照表进行查询,可直接通过天软的接口:StockIndustryIndexID
具体数据说明:FAQ:
内部代码与证券代码对照表
StockIndustryIndexID
定义: StockIndustryIndexID(IndustryId:VarChar,EndT:DateT)
说明: 获取指定代码内部对应的证券代码
参数:
IndustryId: VarChar 代码
endt: DateT 截止日期
通过StockIndustryIndexID相互转换:
申万行业代码得到对应的申万行业指数代码
例:
return StockIndustryIndexID("SWHY230000",20210426T);//SW801040
申万行业指数代码得到对应的申万行业代码
例:
return StockIndustryIndexID("SW801041",20210426T);//SWHY230100
常见应用:
应用一:获取科创板股票的申万行业指数
由于目前为止,科创板还未被纳入申万行业指数中,所以要获取科创板对应的申万行业指数,只能通过申万行业分类的方式,然后再转换成申万行业指数,(实际不属于申万行业指数成份)
A:获取股票申万行业代码->股票申万行业指数->申万行业指数名称
参考:FAQ:
Q: 如何查询个股在指定日所属申万行业分类代码及名称
例:获取科创板股票在20210805的申万一级行业指数代码及名称
endt:=20210805t;
stocks:=GetAbkbyDate("科创板",endt);
setsysparam(PN_Date(),endt);
rt:=array();
for i,v in stocks do
begin
stock:=v;//stocks[i];
hyid:=spec(StockSWIndustryID1(),stock);
if ifString(hyid) and hyid<>'' then
begin
zsid:=StockIndustryIndexID(hyid,endt);
zsname:=spec(base(750000),zsid);
end
else begin
zsid:='';
zsname:='';
end;
rt[i,"代码"]:=stock;
rt[i,"名称"]:=stockname(stock);
rt[i,"申万一级行业指数代码"]:=zsid;
rt[i,"申万一级行业指数名称"]:=zsname;
end
return rt;
部分结果:
应用二:获取指定日所有A股所对应的申万一级行业指数,即便不是该行业指数成份股
由于,像科创板、新股,即将退市等这种股票没有被纳入行业指数内,直接提取获取不到对应的行业指数。
在实际应用中,可能需要知道个股对应的行业的一些收益情况作为参照,所以,本应用中实现对个股提取其对应申万行业指数代码。
即:1、有行业指数的,直接取;
2、无行业指数,取行业编码后再转行业指数;
3、若连行业编码也没有的,返回空字符串。(一般刚上市的股票可能存在这个问题)。
实现代码:
endt:=today();
stocks:=GetAbkbyDate('A股',endt);
setsysparam(PN_Date(),endt);
rt:=array();
for i,v in stocks do
begin
stock:=v;//stocks[i];
setsysparam(pn_stock(),stock);
zsid:=StockSWIndustryIdLv1();//行业指数代码
if not ifString(zsid) or zsid='' then //行业指数不存在时:行业编码转行业指数
begin
hyid:=StockSWIndustryID1();
if ifstring(hyid) and hyid<>'' then
zsid:=StockIndustryIndexID(hyid,endt);
else zsid:='';
end
rt[i,"代码"]:=stock;
rt[i,"名称"]:=stockname(stock);
rt[i,"申万一级行业指数代码"]:=zsid;
end
return rt;