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

Q:如何获取指数日内分钟级资金流入流出    

  • A:使用模型Stock_MoneyFlow_Grading统计指数日内分钟级资金流入流出。
    本文中提供以下取数范例:
    范例说明
    范例一多个指数指定日30分钟线资金流入流出
    范例二单个指数开盘至截止时间分钟线累计的资金流入流出
    实现范例
    范例一:获取多个指数指定日30分钟线资金流入流出
    endt:=20260310T;
    cycle:=cy_30m();
    BSType:=3;
    DType:=0;
    Option:=0;
    indexs:=GetBKByDate("SWHY000001",endt);//指定日申万一级行业指数
    data:=array();
    for i,index in indexs do
    begin
      stocks:=GetBKByDate(index,endt);
      name:=StockName(index);
      tmp:=Stock_MoneyFlow_Grading(Stocks,EndT,Cycle,BSType,DType,Option);
      data&=select index as "指数代码",name as "指数名称",["时间"],
             ["流入成交金额"],["流出成交金额"],
             ["流入成交金额"]-["流出成交金额"] as "净流入成交金额"
         from tmp end;
    end
    return data;
    部分结果:

    范例二:获取单个指数开盘至截止时间分钟线累计的资金流入流出
    endt:=20260317T;
    stime:="10:45:00";//截止时间
    cycle:=cy_1m();
    BSType:=3;
    DType:=0;
    Option:=0;
    endttime:=datetimetostr(endt+StrToTime(stime));//截止时间
    index:="SW801010";
    stocks:=GetBKByDate(index,endt);
    name:=StockName(index);
    data:=Stock_MoneyFlow_Grading(Stocks,EndT,Cycle,BSType,DType,Option);
    len:=length(data);
    data:=select index as "指数代码",name as "指数名称",["时间"],
           a:=sumof(["流入成交金额"],true,len) as "累计流入成交金额",
           b:=sumof(["流出成交金额"],true,len) as "累计流出成交金额",
           a-b as "累计净流入成交金额"
       from data where ["时间"]<=endttime end;
    return data;
    部分结果: