把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