FAQ > 金融建模 > 建模问题 > 基金相关

Q:ETF基金的时点净值说明及提取范例    

  • A: 天软中提供了ETF的场内的时点收盘和场外的时点净值数据,有关该数据的披露准则、数据处理及提取方法,可参考ETF基金时点净值说明文档FAQ:2025-04-27-应用专题-数据提取专题04:ETF基金常见数据说明及提取
    要点说明:
    1、ETF时点净值由盘口接收,存放于交易明细数据表中,通过交易代码获取。
    2、天软封装取指定时点的时点净值,模型为:FundIPOV(),支持交易代码与一级市场代码获取。
    3、通过一级市场基金代码获取二级市场交易代码,可通过spec(base(302033),FundID)方式。

    ETF时点净值提取范例:
    范例01:取指定高频截面的时点净值
      SetSysParam(PN_Stock(),"OF510050");
      SetSysParam(PN_Cycle(),cy_1s());
      SetSysParam(PN_Date(),20241226.101002T);
      return FundIPOV(); //2.7498

    范例02:函数+NDay方式-取指定时间区间内5秒线的时点净值序列
      BegT:=IntToDate(20140430);
      EndT:=BegT+10/24;
      FundID:='OF510050';
      JYCode:=spec(base(302033),FundID);
      SetSysParam(PN_Stock(),JYCode);
      SetSysParam(PN_Cycle(),cy_5s());
      SetSysParam(PN_Date(),endt);
      days:=tradedays(begt,endt);
      return nday(days,'时间',datetimetostr(sp_time()),
      '时点净值-交易所公布',FundIPOV());

    返回结果(部分结果截图):

    范例03:取指定日交易明细的时点净值序列
    EndT:=20241225T;
      FundID:='OF510050';
      JYCode:=spec(base(302033),FundID);
      return select datetimetostr(["date"]) as "时间",
          ["syl2"] as "时点净值"
          from tradetable datekey EndT to Endt+16/24 of JYCode end;

    返回结果(部分结果截图):


    范例04:Markettable方式-取一段时间内1分钟线的时点净值序列
    BegT:=20241225.09T;
      EndT:=20241225.16T;
      FundID:='OF510050';
      JYCode:=spec(base(302033),FundID);
      setsysparam(pn_cycle(),cy_1m());
      return select datetimetostr(["date"]) as "时间",
          ["syl2"] as "时点净值"
          from Markettable datekey BegT to EndT of JYCode end;

    返回结果(部分结果截图):