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

Q:如何判断指定股票是否注册制上市    

  • A:根据交易所相关公告:
    1、上交所在2019年7月22日,首批科创板公司上市交易,实施注册制,即科创板股票都为注册制上市。
    2、深交所创业板在2020年8月24日,首批注册制公司上市。
    3、2021年11月15日,北京证券交易所(以下简称北交所)开市即实行注册制。
    4、2023年2月1日,全面实行股票发行注册制改革正式启动。
       2023年2月17日,中国证监会发布全面实行股票发行注册制相关制度规则,自公布之日起施行。证券交易所、全国股转公司、中国结算、中证金融、证券业协会配套制度规则同步发布实施。
       即,所有股票(上交所,深交所主板,新三板)都由核准制转为注册制。
       主板首批注册制上市的日期为2023年4月10日。
       新三板通过注册制上市的目前还没有(后面跟踪后会补上)。

    判断该股票是否为注册制上市股,可按上面的规则,通过上市日来判断,仅供用户参考。
    具体实现如下:
    第一步,封装判定模型isStockRS:
    Function isStockRS(); //指定股票是否注册制上市
    begin
       bk:=base(10028);
       case bk of
        "科创板":return 1;
        "创业板":begin
             fd:=base(12017);
             if fd>=20200824 then return 1;
            end
        "主板":begin
             ssd:=base(10027);
             if ssd="北京证券交易所" then return 1;
             fd:=base(12017);
             if fd>=20230410 then return 1;
           end
        "新三板":begin
             fd:=base(12071);//挂牌日
             return 0;//有案例之后再补上
             //if fd>=20230410 then return 1;
           end
        else begin //其它板
          fd:=base(12017);
          if fd>=20230410 then return 1;
        end
       end;
       return 0;
    end

    第二步,调用该模型进行判断
    应用一:判断单个股票
    setsysparam(pn_stock(),"SH601061");
    return isStockRS();//返回1,

    应用二:判断多个股票
    return select thisrow as "StockID",spec(base(12017),thisrow) as "上市日" ,
           spec(isStockRS(),thisrow) as "是否注册制上市"
           from getbk("上证A股;深证A股") end;