FAQ > 金融建模 > 应用案例 > 资金流向

Q:如何获取ETF指定日资金净流入    

  • A:使用模型ETF_MT_NetInflowAmount统计ETF每日资金净流入金额(万)。
    本文中提供以下取数范例:
    范例说明
    范例一单个ETF区间每日资金净流入
    范例二多个ETF指定日资金净流入
    范例三所有ETF区间每日资金净流入
    实现范例
    范例一:获取单个ETF区间每日资金净流入金额
    etf:="OF510050";
    endt:=20260310T;
    n:=20;
    dayarr:=MarketTradeDayQk2(n);
    setsysparam(pn_stock(),"SH000001");
    setsysparam(pn_date(),endt);
    name:=stockname(etf);
    return Nday(N,"代码",etf,
           "名称",name,
           "日期",datetostr(sp_time()),
           "净值",spec(FundNAWDW(),etf),
           "总份额",spec(FundTotalShares(sp_time()),etf),
           "净流入金额(万)",ETF_MT_NetINflowAmount(sp_time(),array(etf)));
    结果:

    范例二:获取多个ETF指定日资金净流入
    endt:=20260317T;
    etfarr:=FundsOperateFunds(getbkall("ETF"),endt);//指定日在市的ETF基金
    setsysparam(pn_date(),endt);
    strt:=datetostr(endt);
    data:=array();
    for i,etf in etfarr do
    begin
      setsysparam(pn_stock(),etf);
      data[i,"日期"]:=strt;
      data[i,"代码"]:=etf;
      data[i,"名称"]:=stockname(etf);
      data[i,"净值"]:=FundNAWDW();
      data[i,"总份额"]:=FundTotalShares(endt);
      data[i,"净流入金额(万)"]:=ETF_MT_NetINflowAmount(endt,array(etf));
    end
    return data;
    部分结果:

    范例三:获取所有ETF区间每日资金净流入
    endt:=20260310T;
    n:=20;
    SetSysParam(pn_date(),endt);
    dayarr:=MarketTradeDayQk2(n);
    data:=array();
    for i,day in dayarr do
    begin
      etfarr:=FundsOperateFunds(getbkall("ETF"),day);//指定日在市的ETF基金
      data[i,"日期"]:=datetostr(day);
      data[i,"板块"]:="所有ETF";
      data[i,"净流入金额(万)"]:=ETF_MT_NetINflowAmount(day,etfarr);
    end
    return data;
    结果: