StocksPNA2
简述
计算一组股票指定日市净率
StocksPNA2(
StockArr:Array,
EndT:TDateTime,
RDate:Int,
RightType:Int,
Stype:Int,
SampleSelect:Int,
EPSCriterion:Float ) : Float
StockArr:一组股票
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决定;加权系数由RDate决定,若RDate为一季报,则加权系数为4;若RDate为中报,则加权系数为2;若RDate为三季报,则加权系数为4/3;若RDate为年报,则加权系数为1。
范例:
//返回沪深300的市净率,个股按总股本加权
Stks:=getbkbydate('SH000300',inttodate(20100315));
return StocksPNA2(Stks,inttodate(20110315),20101231,0,0,0,0);
//返回结果:2.31
BK_PNA2