FAQ > 金融建模 > 数据提取 > 基本面数据

Q:天软财务指标(计算类)取数范例    

  • A:根据基础财务数据天软提供了一系列实时计算的指标,部分这类常用的衍生指标,天软也对它们进行分配了指标ID,其ID以99开头,也可直接通过reportofall提取。
    用户可以通过证券数据专家或基本面信息查询查询,也可查看:FAQ:Q:证券数据专家中提供的基础数据现状

    指标提取方式参考:FAQ:2017-01-05-应用专题-数据提取专题01:天软财务数据提取专题.(更新版)
    以下通过四个维度提供取数范例,用户可根据需求参考:
    1.取个股指定日最近报告期的财务指标(衍生指标);
    2.取个股一段时间内每个报告期的财务指标(衍生指标);
    3.取股票组合每个股票在指定日最近报告期的财务指标(衍生指标);
    4.取股票组合每个股票一段时间内每个报告期的财务指标(衍生指标)。

    范例01:取个股指定日最近报告期的财务指标(衍生指标)
    比如:获取平安银行(SZ000001)在2024-12-10的最近报告期的衍生财务指标
      stock:='SZ000001';
      endt:=20241210t;
      setsysparam(pn_stock(),stock);
      setsysparam(pn_date(),endt);
      rdate:=NewReportDateOfEndT2(endt); //获取指定日最近的报告期
      return array(("最近报告期":rdate,
             "每股收益@季度":LastQuarterData(rdate,9900000),
             "每股收益@报告期":reportofall(9900000,rdate),
             "每股收益@TTM":Last12MData(rdate,9900000),
             "净资产收益率(%)@季度":LastQuarterData(rdate,9900100),
             "净资产收益率(%)@报告期":reportofall(9900100,rdate),
             "净资产收益率(%)@TTM":Last12MData(rdate,9900100),
             "营业收入增长率(%)@季度":LastQuarterData(rdate,9900600),
             "营业收入增长率(%)@报告期":reportofall(9900600,rdate),
             "营业收入增长率(%)@TTM":Last12MData(rdate,9900600),
             ));

    结果:

    范例02:取个股一段时间内每个报告期的财务指标(衍生指标)
    比如:获取平安银行(SZ000001)在20210101-20241210内每个报告期的衍生财务指标
      stock:='SZ000001';
      begt:=20210101t;
      endt:=20241210t;
      setsysparam(pn_stock(),stock);
      setsysparam(pn_date(),endt); //取指定日之前的数据计算
      rdates:=RDateListQK(begt,endt); //区间报告期列表
      len:=length(rdates);
      rt:=array();
      for i:=0 to len-1 do
      begin
        rdate:=rdates[i];
        rt[i,"报告期"]:=rdate;
        rt[i,"每股收益@季度"]:=LastQuarterData(rdate,9900000);
        rt[i,"每股收益@报告期"]:=reportofall(9900000,rdate);
        rt[i,"每股收益@TTM"]:=Last12MData(rdate,9900000);
        rt[i,"净资产收益率(%)@季度"]:=LastQuarterData(rdate,9900100);
        rt[i,"净资产收益率(%)@报告期"]:=reportofall(9900100,rdate);
        rt[i,"净资产收益率(%)@TTM"]:=Last12MData(rdate,9900100);
        rt[i,"营业收入增长率(%)@季度"]:=LastQuarterData(rdate,9900600);
        rt[i,"营业收入增长率(%)@报告期"]:=reportofall(9900600,rdate);
        rt[i,"营业收入增长率(%)@TTM"]:=Last12MData(rdate,9900600);
      end
      return rt;

    结果:

    范例03:取股票组合每个股票在指定日最近报告期的财务指标(衍生指标)
    比如:获取上证50成分股在2024-12-10最近报告期的衍生财务指标
      endt:=20241210t;
      stocks:=getbkbydate("SH000016",endt);
      setsysparam(pn_date(),endt); //取指定日之前的数据计算
      rt:=array();
      for i,stock in stocks do
      begin
        setsysparam(pn_stock(),stock);
        rdate:=NewReportDateOfEndT2(endt); //个股指定日最近的报告期
        rt[i,"股票代码"]:=stock;
        rt[i,"股票名称"]:=StockNameEndT(stock,endt);
        rt[i,"最近报告期"]:=rdate;
        rt[i,"每股收益@季度"]:=LastQuarterData(rdate,9900000);
        rt[i,"每股收益@报告期"]:=reportofall(9900000,rdate);
        rt[i,"每股收益@TTM"]:=Last12MData(rdate,9900000);
        rt[i,"净资产收益率(%)@季度"]:=LastQuarterData(rdate,9900100);
        rt[i,"净资产收益率(%)@报告期"]:=reportofall(9900100,rdate);
        rt[i,"净资产收益率(%)@TTM"]:=Last12MData(rdate,9900100);
        rt[i,"营业收入增长率(%)@季度"]:=LastQuarterData(rdate,9900600);
        rt[i,"营业收入增长率(%)@报告期"]:=reportofall(9900600,rdate);
        rt[i,"营业收入增长率(%)@TTM"]:=Last12MData(rdate,9900600);
      end
      return rt;

    部分结果:

    范例04:取股票组合每个股票一段时间内每个报告期的财务指标(衍生指标)
    比如:获取上证50成分股在20210101-20241210内每个报告期的衍生财务指标
      begt:=20210101t;
      endt:=20241210t;
      setsysparam(pn_date(),endt); //取指定日之前的数据计算
      rdates:= RDateListQK(begt,endt); //区间报告期列表
      len:=length(rdates);
      rt:=array();
      nI:=0;
      for i:=0 to len-1 do
      begin
        rdate:=rdates[i];
        st:=inttodate(rdate);
        stocks:=getbkbydate("SH000016",st);
        for j,stock in stocks do
        begin
          setsysparam(pn_stock(),stock);
          rt[nI,"股票代码"]:=stock;
          rt[nI,"股票名称"]:=StockNameEndT(stock,st);
          rt[nI,"报告期"]:=rdate;
          rt[nI,"每股收益@季度"]:=LastQuarterData(rdate,9900000);
          rt[nI,"每股收益@报告期"]:=reportofall(9900000,rdate);
          rt[nI,"每股收益@TTM"]:=Last12MData(rdate,9900000);
          rt[nI,"净资产收益率(%)@季度"]:=LastQuarterData(rdate,9900100);
          rt[nI,"净资产收益率(%)@报告期"]:=reportofall(9900100,rdate);
          rt[nI,"净资产收益率(%)@TTM"]:=Last12MData(rdate,9900100);
          rt[nI,"营业收入增长率(%)@季度"]:=LastQuarterData(rdate,9900600);
          rt[nI,"营业收入增长率(%)@报告期"]:=reportofall(9900600,rdate);
          rt[nI,"营业收入增长率(%)@TTM"]:=Last12MData(rdate,9900600);
          nI++;
        end
      end
      return rt;

    部分结果: