FAQ > 金融建模 > 建模问题 > 股票相关

Q:如何通过股票简称找到对应的A股代码?    

  • A:可以通过A股代码及其简称的对照表反向查询股票简称的证券代码。参考以下代码实现。
    实现范例
    实现模型:获取指定股票简称的A股代码
    function tsdn_getnamestock(codename);
    begin
    {
      说明:获取指定股票简称的A股代码,
         先获取A股与其简称对照表,再获取指定简称的A股代码,
         对照表的简照包括:盘后简称,基本信息表的中文简称,名称变更表的变更前后名称
      参数:
        codename:string,股票简称
      返回:string,A股代码
    }
      namestocks:=getsysparam("tsdn-namestocks");
      if not istable(namestocks) then
      begin
        stocks:=getbk("A股;暂停上市;终止上市;即将上市");
        rt:=array();
        for i,stock in stocks do
        begin
          jc:=array(spec(base(10004),stock));
          tmp1:=spec(InfoArray(14),stock);
          names:=array(stockname(stock)) union2 jc union2 tmp1[:,"变更前名称"] union2 tmp1[:,"变更后名称"];
          rt&=select thisrow as "名称",stock as "代码" from names end;
        end
        rt:=select ["名称"],array2str(sselect ["代码"] from thisgroup end) as "代码"
          from rt group by ["名称"] end;
        namestocks:=NormalTabletoStrSubscript(rt,"名称");
        SetSysParam("tsdn-namestocks",namestocks)
      end
      return namestocks[codename,"代码"];
    end

    调用范例
    return tsdn_getnamestock("大鹏工业");//BJ920091