Bk_PNA2
简述
计算板块指定日市净率(指定财务数据)
Bk_PNA2(
EndT:TDateTime,
RDate:Int,
RightType:Int,
Stype:Int,
SampleSelect:Int,
EPSCriterion:Float ) : Float
EndT:指定日期
RDate:指定报告期
RightType:加权方式,具体取值如下:
Stype:股票类型,具体取值如下:
SampleSelect:样本股选择,具体取值如下:
显示名 | 取值 | 备注 |
全部 | 0 | 板块中所有个股都参与计算 |
剔除亏损 | 1 | 剔除每股收益<0的个股 |
剔除绩差 | 2 | 剔除每股收益< EPSCriterion的个股 |
EPSCriterion:绩差股标准,和参数SampleSelect结合使用。
场景 | 备注 |
SampleSelect为0或1 | 此参数无效 |
SampleSelect为2 | 剔除对应EndT时点的期初报告期的每股收益小于EPSCriterion的股票 |
返回:实数
算法:
(1)板块市净率(总股本加权) =∑(股票i市价总值)/∑(股票i报告期净资产)
(2)板块市净率(流通股本加权) =∑(股票i流通市值)/∑(股票i报告期净资产/股票i报告期总股本*股票i报告期流通股本)
(3)板块市净率(算术平均) =∑(股票i总市值/净资产))/股票个数
注:上述总市值、流通市值所在时点由EndT决定;财务指标的报告期由RDate决定;
范例:
//假设构建了用户板块mybk(此处以沪深300的成分股代替)
//计算mybk板块2011年3月15日的按总股本加权的市净率
EndT := inttodate(20110315);
stockArr := getbkbydate('SH000300',EndT);
savebk('mybk','新建分类',stockArr);
SetSysParam(pn_bk(),'mybk');
return BK_PNA2(inttodate(20110315),20101231,0,0,0,0); //返回结果:2.34
StocksPNA2