知识库 > 金融建模 > 公用函数 > 扩展函数 > .Net扩展函数 > 板块 > 估值指标

BK_PB5    

简述
计算板块指定日市净率(复合)
定义

BK_PB5 (
EndT:TDateTime,
RightType:Int,
Stype:Int,
SampleSelect:Int,
EPSCriterion:Float,
RightMethod:Float ) : Float
参数

EndT:指定日期
RightType:加权方式,具体取值如下:
显示名取值
总股本加权0
流通股本加权1
算术平均4

Stype:股票类型,具体取值如下:
显示名取值
全部0
只考虑A股1
只考虑B股2

SampleSelect:样本股选择,具体取值如下:
显示名取值备注
全部0板块中所有个股都参与计算
剔除亏损1剔除每股收益<0的个股
剔除绩差2剔除每股收益< EPSCriterion的个股

EPSCriterion:绩差股标准,和参数SampleSelect结合使用。
场景备注
SampleSelect为0或1此参数无效
SampleSelect为2剔除对应EndT时点的期初报告期的每股收益小于EPSCriterion的股票

RightMethod:加权系数取值方式,具体取值如下:
显示名取值备注
用上年度报告0取离EndT最近的年度报告期;
最新报告期1取离EndT最近的报告期;
中报后使用最新报告期2离EndT最近的报告期如果是一季报,则取上一个年度报告期,否则即取该报告期;


返回:实数
  • 算法:
    板块市净率(总股本加权) =∑(股票i市价总值)/∑(股票i报告期净资产)
    (2)板块市净率(流通股本加权) =∑(股票i流通市值)/∑(股票i报告期净资产/股票i报告期总股本*股票i报告期流通股本)
    (3)板块市净率(算术平均) =∑(股票i总市值/净资产))/股票个数
    注:总市值、流通市值对应的时点为EndT,财务数据对应的报告期由RightMethod决定。
    范例:

     //假设构建了用户板块mybk(此处以沪深300的成分股代替)
    //计算mybk板块2011年3月15日的按总股本加权的市净率
    EndT := inttodate(20110315);
    stockArr := getbkbydate('SH000300',EndT);
    savebk('mybk','新建分类',stockArr);
    SetSysParam(pn_bk(),'mybk');
    return BK_PB5 (inttodate(20110315),0,0,0,0,0); //返回结果:2.34

    参考
    StocksPEPBPMIPNA5_Call  
相关