Excel 财务函数

其他财务函数计算器

EFFECT/NOMINAL 名义与实际利率互换、DOLLARDE/DOLLARFR 分数价格换算、ACCRINT 应计利息。

  • 免费免注册
  • 结果可分享链接
  • 浏览器本地计算

名义年利率 → 实际年利率(把复利频率算进去)

5.354267
实际年利率(%)
5.2500
名义年利率(%)
0.104267
频率吃掉的差额(百分点)
名义 5.2500% 每年复利 4 次,一年下来真正的回报是 5.354267%。 两个数不写清复利频率就没法比大小,这也是各类产品「年化收益」互相打架的根源。

同一个名义利率,复利频率越密实际利率越高

每年复利次数实际年利率比名义高出
15.250000%0.000000 个百分点
25.318906%0.068906 个百分点
45.354267%0.104267 个百分点
125.378189%0.128189 个百分点
525.387465%0.137465 个百分点
3655.389858%0.139858 个百分点

频率再怎么加密也有天花板:连续复利的极限是 e^r − 1, 名义 5.2500% 对应 5.390256%,每日复利已经很接近了。

本工具按微软对 EFFECT / NOMINAL / DOLLARDE / DOLLARFR / ACCRINT 的公开定义实现。 EFFECT 与 NOMINAL 假设每期利率恒定、期内不提取;DOLLARDE / DOLLARFR 只做记法换算, 小数点后的位数由分母决定,不校验你填的分子是否超过分母。ACCRINT 按付息日排期逐期累加, 不含节假日顺延、实际交割日调整与税费。国内银行间与交易所市场的计息惯例与 Excel 的 basis 参数并不总能一一对应,与托管机构对账请以对方公布的口径为准。

链接带当前参数,发给别人打开就是同一份结果。

怎么用

5 步
  1. 先选对函数:要把「名义利率」换算成一年真正的回报选 EFFECT,反过来选 NOMINAL;看到 1.02 这种带分数含义的报价选 DOLLARDE,要把小数写回分数记法选 DOLLARFR;算债券交割时买方要补给卖方的那笔利息选 ACCRINT。五个函数各有各的输入区,互不干扰。
  2. EFFECT 与 NOMINAL:复利频率是关键:这两个函数只有两个参数,利率和每年复利次数。次数填错,结果就错,而这个次数往往合同里写得含糊。按月计息填 12,按季填 4,按日填 365。填 1 时两个函数都会原样返回,因为一年只复利一次时名义和实际本来就相等。
  3. DOLLARDE 与 DOLLARFR:先确认分母:美式国债习惯按 1/32 点报价,1.02 的意思是 1 又 2/32。分母不同,同一串数字含义完全不同:1.02 按 1/16 是 1.125,按 1/32 是 1.0625。所以填之前先问清楚对方用的是几分之一点,工具下方的分母对照表可以直接看差别。
  4. ACCRINT:三个日期加一个基准:填发行日、首次付息日和结算日,再选票面利率、票面金额、付息频率和日计数基准。计息起点那一栏对应 Excel 的 calc_method 参数,默认从发行日一路累计,改成另一个选项就只算最近一个付息日到结算日这一段。
  5. 看梯子表验证方向:每个函数下面都配了一张对照表:EFFECT 看复利频率梯子,DOLLARDE 看分母梯子,ACCRINT 看日计数基准对比。这些表的作用不是给你更多数字,是让你一眼确认「参数往哪边动、结果往哪边走」符合预期,不符合就说明填错了。
深入讲解

这一页把五个零散函数放在一起

它们看着互不相干,其实解决的是同一类问题:把一个数字从一种口径翻译成另一种口径。 EFFECT 和 NOMINAL 翻译利率,DOLLARDE 和 DOLLARFR 翻译报价,ACCRINT 翻译时间。 在真实业务里,对不上账的原因很少是算错了,多半是两边说的根本不是同一个口径, 而这几个函数就是口径之间的转换器。

EFFECT 处理的是同一笔利率在不同复利频率下的两种说法。 名义 12% 按月计息,一年真正滚出来是 12.6825%,多出的部分是利息自己生出来的。 NOMINAL 把这个过程倒过来:你先定下一年要赚到多少,它告诉你合同上该写多少。 DOLLARDE 和 DOLLARFR 处理的是报价记法,美式国债按 1/32 点报价, 屏幕上的 1.02 不是一点零二,是 1 又 2/32。 ACCRINT 处理的是时间——一笔票息在付息日之前换手了,中间那段该算谁的。

参数含义对照

npery 是每年复利次数,不是期数。 按月计息填 12,按季填 4,按日填 365。它只描述一年之内利息滚几次, 和这笔钱你打算放几年没有关系。填 1 时 EFFECT 和 NOMINAL 都会原样返回, 因为一年只滚一次时两个口径本来就重合。

fraction 是分母,决定小数点后占几位。 分母是两位数就占两位,一位数就占一位。1.02 按 1/16 是 1.125,按 1/32 是 1.0625, 同一串数字换个分母含义完全不同。这一栏问不清楚,后面全白算。

ACCRINT 的三个日期各管一段。 发行日是利息开始积累的起点,首次付息日用来把付息日排期锚定住, 结算日是这笔交易实际交割的那天。付息日排期以首次付息日为准前后推算, 月末日会锚定月末,这一点和多数交易系统一致。

calc_method 决定从哪天开始算。 默认从发行日一路累计,跨过多少个付息期就累加多少段; 改成另一个选项,就只算结算日之前最近的那个付息日到结算日这一段。 算交割单用后者的场合更多,因为之前的票息已经付出去了。

为什么 Excel 和券商系统不一样

第一位永远是日计数基准。Excel 的 basis 参数有五个取值, 0 和 4 按每月 30 天每年 360 天算,区别在月末 31 号怎么处理; 1 用真实天数除以真实年长度;2 的分子数真实天数、分母却按 360 天;3 的分母按 365 天。 同一段期间、同一笔本金,只因为这一栏选得不同,应计利息就能差出好几块。 更麻烦的是,这五个基准来自美国市场惯例,国内银行间与交易所市场的计息规则跟它们不是一一对应, 硬套一个「差不多」的会有系统性偏差。

第二位是结算日惯例。Excel 只认你填进去的那个日期,不做节假日顺延, 真实交割日却被 T+1 结算规则和法定假日推着走。差一天就差一天的利息, 跨节假日时可能差三四天。第三位才是取整规则、报价小数位这类细节。 对账时按这个顺序查,比逐项核对公式快得多。

怎么用它做判断

最典型的场景是横向比产品。三家银行分别报「年化 3.8%,按季付息」「年化 3.75%,按月付息」 「年化 3.85%,到期一次性付息」,光看数字第三家最高,可它一年只滚一次; 把三组数分别丢进 EFFECT,得到的实际年利率才在同一把尺子上,谁高谁低当场分明。 这一步花不了半分钟,却是所有理财比价里最容易被跳过的一步。

另一个场景是反推报价。你心里定了一个目标,比如这笔钱一年必须实打实赚到 4%, 而对方的产品是按月付息,那就用 NOMINAL 反解:在每年复利 12 次的条件下, 合同上的名义利率至少要写到多少。这个数就是你谈判时的底线, 对方报得比它低,无论话术多好听都不达标。

ACCRINT 的用法则是核账。买券之前先自己算一遍应计利息, 和券商交割单上的那一栏对一对。对不上不要急着怀疑对方, 先把日计数基准换一遍看看能不能对上——这个工具下方那张基准对比表就是干这个用的, 五种基准的结果并排摆着,哪一种和交割单一致,就说明对方用的是哪一种。

常见误区

把名义利率直接当成一年的回报。 名义 12% 按月计息,一年实际是 12.6825%。这 0.68 个百分点不是四舍五入的误差, 是复利实打实滚出来的。比较两个产品之前先各自过一遍 EFFECT,否则等于拿两把不同的尺子量东西。

拿分数记法直接做四则运算。 DOLLARFR 的输出是记法不是数值。分子一旦进位超过分母,比如 40/32, 这套记法就必须进位,直接相加的结果是错的。要算先用 DOLLARDE 换回小数,算完再换回去。

应计利息用默认基准凑合。 basis 那一栏不该靠默认值蒙。合同、募集说明书或托管协议里写的是哪一种口径, 就选哪一种。工具下方那张基准对比表把五种基准的结果并排摆出来, 差额有多大一眼就能看到,看过一次就不会再随手用默认值了。

忘了净价之外还要付应计利息。 交割时真正划出去的是全价,等于净价加应计利息。 报价用净价是为了让价格不随离付息日的远近上下漂,但付钱的时候一分不能少。 预算资金时按净价准备,到交割日十有八九会不够。

边界与假设

本工具按微软对这五个函数的公开定义实现。EFFECT 与 NOMINAL 假设每期利率恒定、 期内不提取、利息立即再投入,不含手续费、管理费、提前支取罚息与税费; DOLLARDE 与 DOLLARFR 只做记法换算,不校验你填的分子是否超过分母; ACCRINT 按付息日排期逐期累加,不含节假日顺延、实际交割日调整与税费, 也不处理浮息、含权与违约情形。与托管机构、交易场所对账,请以对方公布的口径为准。

风险提示:本工具仅为测算演示,不构成投资建议。利率与报价口径以合同约定和官方发布为准,实际交易请以券商与托管机构的计息结果为准。

常见问题

7 条
名义利率和实际利率到底差在哪?
差在一年之内利息滚了几次。名义年利率是把每期利率简单乘以期数得到的,它假装利息不会再生利息;实际年利率把复利算了进去。名义 12% 按月计息,每月 1%,滚满十二个月是 12.6825%,多出来的 0.68 个百分点就是复利频率贡献的。频率越密差得越多,但有天花板:连续复利的极限是 e 的 r 次方减一,名义 12% 对应 12.7497%,每日复利已经很接近这个上限了。所以看到两个产品报「年化」,先问清楚是哪一个口径,否则数字没法比。
EFFECT 和 NOMINAL 能用来比较不同银行的产品吗?
能,而且这正是它们最实际的用途。把每家的名义利率和计息频率分别填进 EFFECT,得到的实际年利率就在同一个尺子上,可以直接比大小。反过来,如果你心里有一个「我要一年赚到多少」的目标,用 NOMINAL 就能算出在给定复利频率下合同上该写多少名义利率。需要提醒的是,这两个函数只处理利率本身,不含手续费、管理费、提前支取罚息、税费和资金实际到账时间,真实到手的回报还要在这个基础上继续扣。
DOLLARDE 算出来的数为什么和我手算的不一样?
多半是小数点后的位数理解错了。这套记法的规则是:小数点后的位数由分母的位数决定,分母是两位数(16、32、64)就占两位,分母是一位数(2、4、8)就占一位。所以按 1/32 报价时,1.02 里的 02 是分子 2,值是 2/32 也就是 0.0625;但按 1/8 报价时,1.02 里有效的分子只有第一位,第二位的 2 会被当成更细的零头。如果你手算时把 0.02 直接当成 2/32,结果就会差。工具下方的分母对照表把常用分母全排了一遍,对着看最快。
DOLLARFR 的结果能直接拿来做加减吗?
不能,这是最容易踩的坑。DOLLARFR 输出的是一种记法,不是数值。1.02 表示 1 又 2/32,两个 1.02 相加在算术上等于 2.04,恰好也是 4/32 的正确记法,看起来没问题;但一旦分子进位超过分母,比如 1.20 加 1.20,算术结果 2.40 表示 40/32,而 40/32 应该进位成 2 又 8/32,正确记法是 3.08。所以凡是要做四则运算,先用 DOLLARDE 换回小数,算完再用 DOLLARFR 换回去。
ACCRINT 算出来的和券商交割单上的应计利息为什么不一样?
按命中率排,第一是日计数基准填错。同一段期间,30/360 和实际天数数出来的天数不同,分母是 360 还是 365 也不同,两处一叠加,几千块本金上就能差出好几块。第二是结算日。Excel 只认你填进去的日期,不做节假日顺延,而真实交割日会被 T+1 结算规则和法定假日推着走,差一天就差一天的利息。第三是计息起点:Excel 默认从发行日一路累计,如果这张券已经付过好几次息,你要的其实是最近一个付息日起算的那一段,得把计息起点那一栏改掉。
应计利息为什么要买方付给卖方?
因为票息是按付息日整笔发放的,不管这张券在期间换了几次手。假设一张半年付的债券在付息期过了三分之二时易手,这三分之二的利息在经济上属于卖方,可下一个付息日到了,发行人会把整期票息一分不差地打给当时的持有人也就是买方。为了公平,买方在成交时先把属于卖方的那部分按天数比例补给他,这就是应计利息。所以交割时真正划出去的钱是净价加应计利息,也就是全价;而报价和比价用的一直是净价,否则价格会随着离付息日的远近上下漂,没法看。
这几个函数在国内市场用得上吗?
EFFECT 和 NOMINAL 完全用得上,凡是涉及计息频率的产品都要靠它们把口径统一。ACCRINT 的思路用得上,但日计数基准要当心:Excel 那五个基准来自美国市场惯例,国内银行间市场与交易所市场的计息规则跟它们不是一一对应的关系,硬套一个「差不多」的基准会有系统性偏差,对账请以托管机构公布的口径为准。DOLLARDE 和 DOLLARFR 主要服务于美式国债的 1/32 点报价,国内债券直接用小数报价,这两个函数更多是在读境外行情、看研究报告时用来把数字翻译过来。

本工具仅为测算演示,不构成投资建议。计算结果受输入假设影响,实际情况请以官方规定与金融机构公布为准。

回到计算器