天软金融分析.NET函数大全 > 金融函数 > 债券 > 中间函数

BondCoupDayBS    

简述
当前付息期内截止到交易日的天数,与系统股票相关
定义
BondCoupDayBS(GoalDate:TDataTime;EndT:TDataTime;F:Int):Integer
参数
名称类型说明
GoalDateTDataTime日期类型,到期日
EndTTDataTime日期类型,交易日
FInt整数类型,付息频率
返回Integer整数
  • 算法

    把EndT转化为整数d,GoalDate转化为整数GoalDate;
    若F=1,利用d的年份信息,GoalDate的月份和日信息组成新的日期d1,当d1>d时,当前付息期内截止到交易日的天数=365-d与d1相隔的天数;否则当前付息期内截止到交易日的天数=d与d1相隔的天数+1;
    若F≠1,获取d的年份信息y,GoalDate的月份信息m和天信息dof,继续以下步骤;
    当m>6时,m10 = m – 6,m20 = m;否则,m10 = m,m20 = m + 6;
    利用y,m10,dOf组成日期d1,y,m20,dOf组成日期d2,若d1≤d≤d2,当前付息期内截止到交易日的天数=d与d1之间相隔的天数+1;若d< d1,当前付息期内截止到交易日的天数=365-d与d2相隔的天数;若d>d2,当前付息期内截止到交易日的天数= d2与d之间相隔的天数+1
    范例

    //返回'BK000002'在2003年3月18日当前付息期内截止到交易日的天数
    SetSysParam(PN_Stock(),'BK000002');  //设置股票代码
    GoalDate:=IntToDate(base(502026));  //到期日
    EndT:=20030318T;     //交易日
    f:=base(502021);     //付息频率
    return BondCoupDayBS(GoalDate,EndT,f);
    //结果:334
相关