FAQ > 金融建模 > 数据提取 > 指数历史成份股

Q:如何得到历史A股    

  • A:
    2022-06-06更新:
    解决板块中有“中小企业板”报错的问题,逻辑为:
    指定日取”中小企业板“:
    在2021年4月6日之前:返回历史指定日”中小企业板“;
    在2021年4月6日之后:返回空

    2022-01-12更新:
    'A股'板块新增包括北交所上市的成份股。
    即,支持板块'A股'、深证A股','上证A股','北证A股','创业板','科创板'中一个或多个板块的提取
    2021-04-05更新:
    由于中小企业板合并入主板,所以合并后该函数不支持提取“中小企业板”。
    相关公告说明:http://www.tinysoft.com.cn/TSDN/message/messagepage.tsl?id=160


    2019-08-21更新:
    1、该函数已升级为同名公用函数,用户可选择删除用户函数后直接调用该公用函数。
    后面若有升级,只维护公用函数,此处不再更新说明。
    注:只支持板块'A股'、深证A股','上证A股','中小企业板','创业板','科创板'中一个或多个板块的提取,不支持其它板块。
    应用范例如下:

    //2020-2-10日在市A股列表
    return getAbkbydate('A股',20200210T);


    2019-8-13更新:
    1、升级支持中小企业板增加003、004代码段

    2019-7-23更新:
    1、GetAbkByDate与GetAbkByEndT函数升级更新:判断的板块以当时的AllABk()所包括的板块为准,避免以后频繁更新此函数。
    以2019-7-23日为当前时间:
    AllABk()当前的板块包括'深证A股;上证A股;中小企业板;创业板;科创板',即本次更新支持了'科创板'。
    换言之,目前函数能获取到的板块范围为"深证A股;上证A股;中小企业板;创业板;科创板"五个板块中的一个或多个。
    2、两个函数升级支持第一个参数为'A股':包括AllABk()中所有板块
    以2019-7-23日为当前时间,则与设置'深证A股;上证A股;中小企业板;创业板;科创板'有同样功能。

    注:用户函数如果是以前的版本,本次更新中的两个功能都是不支持的,所以有该类需求,请重新下载附件后保存为用户函数使用。

    函数说明:
    附件:getabkbydate.fun
      应用场景:如果是用来选股或者交易,可参考函数:getabkbydate(BkName,endt);
      说明:该函数是通过判断endt日股票是否上市交易及其所属板块来得到历史A股,可判断包括板块:深证A股;上证A股;中小企业板;创业板等。
      参数:
      BkName:字符串,板块名称,多个板块用;分隔,只支持公用函数AllABk()中包含的板块。
      endt:日期,指定日。
      返回:指定日指定板块的成份股
      范例:

    //得到2011年4月1日的所有A股
    return getabkbydate('深证A股;上证A股;中小企业板;创业板',20110401T);

      注:该函数剔除了当日没上市、已退市、暂停上市的股票。得到的是还在交易所挂牌的股票,即会包括当日停牌的票。

    附件:getabkbyEndT.fun
      应用场景:如果需要对每个时点的所有A股的财务数据做统计等,则必须得到当时实际的所有股票,和交易无关,此时可参考函数:GetAbkByEndT(BkName,EndT);此函数与当日是否有交易无关。
      注:该函数返回的成份股包括暂停上市的票
      函数定义及用法同上。

    历史版本特别说明(2019-7-23之前的版本):
    1、这两函数第一个参数BkName的取值范围只能是"深证A股;上证A股;中小企业板;创业板"四个板块中的一个或多个,其他板块名都不支持,即便是'A股'也是不支持的。