FAQ > 金融建模 > 数据提取 > 行情数据

Q:请问怎么统计某段时间的资金流向数据?    

  • A:资金流向的函数有:
    个股资金流向:
    统计资金流出(主卖):StockSectionalSellAmount(BegT,EndT)
    统计资金流入(主买):StockSectionalBuyAmount(BegT,EndT)
    资金净流入(主买-主卖):StockSectionalNetBuyAmount(BegT,EndT)
    用户也可以自己写代码实现:
    比如统计一段日内时间的资金流向
      //统计万科A7月19日9:30到10:30区间段内的流入流出和净流入数据
      BegT:=20170719.0930T;
      EndT:=20170719.1030T;
      tmp :=Select sumof(['sale_amount']) as '流出',
            sumof(['buy_amount']) as '流入',
            sumof(['buy_amount'])-sumof(['sale_amount']) as '净流入'
         from Tradetable datekey BegT to EndT
         of 'SZ000002'
         end;
      return tmp;

    如果想统计集合竞价的呢?集合竞价只在09:25之后发布一条撮合数据,而这条撮合数据并没有主买或主卖的方向信号,因此集合竞价里的资金流向没有方向,此时天软模型的处理是主买、主卖各占一半,用户可以把上面这段代码修改统计时间为09:15-09:29 就可以了

    指数资金流向:
    IndexCapitalFlow(IndexID,Begt,Endt):Real
    指数的资金流向=所有成分股在时间区间之内的主买成交金额之和-
    所有成分股在时间区间之内的主卖成交金额之和
    单位是元。
    例如取沪深300在2021年11月1日的资金流向:
    return IndexCapitalFlow('SH000300',20211101T,20211101T);//25289791653.2801


    组合资金流向:
    通过日线个股的流入流出进行组合指定日的汇总
    EndT:=20241018T;
     stocks:=getbkbydate("SH000016",EndT);//可自定义组合列表
     tmp:=Select ["StockID"],
        ['sale_amount']/10000. as '流出(万)',
        ['buy_amount']/10000. as '流入(万)',
        (['buy_amount']-['sale_amount'])/10000. as '净流入(万)'
        from Markettable datekey EndT to EndT
        of stocks
        end;
     t0:=array(("StockID":"合计",
          "流出(万)":sum(tmp[:,"流出(万)"]),
          "流入(万)":sum(tmp[:,"流入(万)"]),
          "净流入(万)":sum(tmp[:,"净流入(万)"])));
     return t0 union tmp;

    返回:部分结果截图


    大小单资金的流入流出可参考:FAQ:Q:如何统计区间内每日大小单流入流出数据