相关链接:Q:在多因子框架中如何传递自定义变量给因子公式模型
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;