美文网首页
如何用Power Pivot统计股票大单成交量?

如何用Power Pivot统计股票大单成交量?

作者: Data_Skill | 来源:发表于2020-01-17 08:32 被阅读0次

我们截取某只股票真实交易的部分行情数据如下:

目标要求统计可自定义大单含义的可视化图表:

(一) 分析需求

  • 首先我们要定义大单,什么样才叫大单,至少要有一个标准,一种以绝对值为区分标准;一种以相对值为区分标准,这里我们以相对值作为区分标准。
  • 我们要对成交量进行一个排名,才能根据相对值来计算动态成交排名用于定义大单。
  • 我们要计算大单净买入量,要分别求出大单买入量及大单卖出量。

(二) 实现需求

我们知道很多情况下大单的定义是模糊的,可能今天的小单就是昨天的大单,所以我们这里以相对数来进行定义。
因为我们需要分析分钟为维度,但是目前的日期都是以秒为单位,所以我们需要添加一列作为小时分钟来进行分析,所以添加1列为小时分钟列。

基础度量值:

总成交量:=Sum([成交量])
买入成交量:=SumX(Filter('表1','表1'[类型]="买入"),[成交量])
卖出成交量:= SumX(Filter('表1','表1'[类型]="卖出"),[成交量])

1. 当前分钟成交中最大一笔成交量作为大单。

大单买入量:=
var _top=TOPN(1, '表1',[买入成交量])
return
SUMX(_top,[买入成交量])
大单买入量优化:=
if(HASONEFILTER([时间时分]),
[大单买入量],
sumx(all('表1'[时间时分]),[大单买入量])
)

同理计算出大单卖出量。

2. 单独显示分钟级别的最大单笔买入量

分钟单笔最大买入量:=
var _top=TOPN(1,ALL('表1'[时间时分]),[买入成交量])
return
CALCULATE(sumx(_top,[买入成交量]),
            FILTER('表1','表1'[类型]="买入")
            )

这里涉及到了一些上下文的转换,需要仔细品味。

3. 单独显示分钟级别中的最大单笔买入量

分钟内单笔最买入量:=
var _top=TOPN(1,ALL('表1'[时间时分], '表1'[时间]),[买入成交量])
return
CALCULATE(sumx(_top,[买入成交量]),
            FILTER('表1','表1'[类型]="买入")
            )

请注意,这里在忽略上下文的时候多了一个[时间]列的写法,得出的结果不一样。

(三) 展现需求

通过条件格式,我们就可以实现最后的大单净量的表现方式,每分钟的最大一笔量作为大单从而进行分析。

此外我们在看下3种大单定义给出结果的差异。

相关文章

网友评论

      本文标题:如何用Power Pivot统计股票大单成交量?

      本文链接:https://www.haomeiwen.com/subject/nhjfzctx.html