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

Q:如何获取指数日线主力资金流入流出(大小单)    

简述
本案例中,对于大中小单的判定阈值:
1.小单:单笔成交金额<20万
2.中单:单笔成交金额>=20万 且 <100万元
3.大单:单笔成交金额>=100万元
用户可根据自己的需求参考相关模型调整阈值大小。
  • A:通过以下模型获取指数主力资金流入流出:
    函数名功能
    StocksStepInFlowAmount股票列表分档资金净流入(元)
    StocksStepbuyAmount股票列表分档资金流入(元)
    StocksStepSaleAmount股票列表分档资金流出(元)
    本文中提供以下取数范例:
    范例说明
    范例一指数多日主力资金流入流出(大小单)
    范例二多个指数指定日主力资金流入流出(大小单)
    范例一:获取指数多日主力资金流入流出(大小单)
    index:="SH000300";
    endt:=20260310t;
    n:=20;
    SetSysParam(pn_cycle(),cy_day());
    SetSysParam(pn_stock(),index);
    SetSysParam(pn_date(),endt);
    dayarr:=StockTradeDayQk2(n);//最近N个交易日
    name:=stockname(index);
    data:=array();
    for i,day in dayarr do
    begin
      setsysparam(pn_date(),day);
      stockarr:=GetBKByDate(index,day);//指定日指数成份股
      data[i,"指数代码"]:=index;
      data[i,"指数名称"]:=name;
      data[i,"日期"]:=datetostr(day);
      data[i,"大单流入成交金额"]:=StocksStepbuyAmount(stockarr,1000000,inf,1);
      data[i,"大单流出成交金额"]:=StocksStepsaleAmount(stockarr,1000000,inf,1);
      data[i,"大单净流入成交金额"]:=data[i,"大单流入成交金额"]-data[i,"大单流出成交金额"];
      data[i,"中单流入成交金额"]:=StocksStepbuyAmount(stockarr,200000,1000000,1);
      data[i,"中单流出成交金额"]:=StocksStepsaleAmount(stockarr,200000,1000000,1);
      data[i,"中单净流入成交金额"]:=data[i,"中单流入成交金额"]-data[i,"中单流出成交金额"];
      data[i,"小单流入成交金额"]:=StocksStepbuyAmount(stockarr,0,200000,1);
      data[i,"小单流出成交金额"]:=StocksStepsaleAmount(stockarr,0,200000,1);
      data[i,"小单净流入成交金额"]:=data[i,"小单流入成交金额"]-data[i,"小单流出成交金额"];
    end
    return data;
    部分结果:

    范例二:获取多个指数指定日主力资金流入流出(大小单)
    endt:=20260310t;
    indexs:=GetBKByDate("SWHY000001",endt);//指定日申万一级指数列表
    SetSysParam(PN_Cycle(),cy_day());
    SetSysParam(pn_date(),endt);
    strt:=datetostr(endt);
    data:=array();
    for i,index in indexs do
    begin
      stockarr:=GetBKByDate(index,endt);//指定日指数成份股
      data[i,"日期"]:=strt;
      data[i,"指数代码"]:=index;
      data[i,"指数名称"]:=stockname(index);
      data[i,"大单流入成交金额"]:=StocksStepbuyAmount(stockarr,1000000,inf,1);
      data[i,"大单流出成交金额"]:=StocksStepsaleAmount(stockarr,1000000,inf,1);
      data[i,"大单净流入成交金额"]:=data[i,"大单流入成交金额"]-data[i,"大单流出成交金额"];
      data[i,"中单流入成交金额"]:=StocksStepbuyAmount(stockarr,200000,1000000,1);
      data[i,"中单流出成交金额"]:=StocksStepsaleAmount(stockarr,200000,1000000,1);
      data[i,"中单净流入成交金额"]:=data[i,"中单流入成交金额"]-data[i,"中单流出成交金额"];
      data[i,"小单流入成交金额"]:=StocksStepbuyAmount(stockarr,0,200000,1);
      data[i,"小单流出成交金额"]:=StocksStepsaleAmount(stockarr,0,200000,1);
      data[i,"小单净流入成交金额"]:=data[i,"小单流入成交金额"]-data[i,"小单流出成交金额"];
    end
    return data;
    部分结果: