妙用XIRR,用Excel打造自己的投资账本

发布于: 雪球转发:0回复:0喜欢:4

有知有行的记账功能非常的棒,提供了适合个人投资者的资金加权收益率记账功能。这个资金加权收益率,基础其实就是Excel的XIRR,计算资金内部收益率的函数。

查一下excel的帮助文件,可以看到XIRR的公式用法和相关参数的解释。

XIRR(values, dates, [guess]) 

XIRR 函数语法具有下列参数:

值    必需。 与 dates 中的支付时间相对应的一系列现金流。 首期支付是可选的,并与投资开始时的成本或支付有关。 如果第一个值是成本或支付,则它必须是负值。 所有后续支付都基于 365 天/年贴现。 值系列中必须至少包含一个正值和一个负值。 

日期    必需。 与现金流支付相对应的支付日期表。 日期可能按任何顺序发生。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。

Guess    可选。 对函数 XIRR 计算结果的估计值。

EXCEL帮助文件

值就是现金流,也就是资金的转入转出,转入帐户的是负值,转出帐户的是正值。最后一笔转出的,就是你的最终资产,当然是正值啦,没人买基金买股票把资产买成负的了(原油宝除外)。

学究一点的公式是这样的:

其中:

di = 现金流发生的日期。

d1 = 起始日期。

Pi = 每期的现金流。

xirr就是公式中的rate,xirr的就是将每一笔现金流,以相同的年化收益率,折算到起始日的现值之和,等于0。

计算xirr,就是认为投入的每一笔资金,具有相同的年化收益率。 

如果存在资金短期大笔进出的情况,很容易造成xirr的剧烈变化。这个很好理解,一天收益1%,年化就是365%。我和马云一平均,我也是亿万富翁。

拿excel帮助自带的例子做说明。

第一天转入账户10000元,后续陆续止盈并取出帐户,直到最后一天账户内总资产2750元。  取出的钱干什么去了我不管,就只管在账户内的钱,算下来平均年化收益37.34%。

言归正传,明白了xirr并掌握使用,你就可以打造自己的投资账本了。结合前面发过的EXCEL盯盘,你甚至可以有一个自动记账系统。

Excel盯盘,场内场外一表搞定

举个例子,稍微复杂点,大家实操的时候,先简化试试。用到的几列就是日期、现金流、总市值

第一天我存入54325元,啥也没干,现金流-54325。

第二天我买了48737,但因为股票跌了,持仓市值47710,亏了1027,还剩现金5588。  现金流为0,因为账户资金不进不出。

这里其实是我复杂化了,其实只要记现金流=0,加一列记总资产 = 47710+5588 就行。

我在第二行的xirr列编辑公式,要计算收益了

输入=XIRR(IF(ROW($C$21:C22)=ROW(C22),E22+F22,$C$21:C22),$A$21:A22), 按 ctrl+shift+回车,自动加了花括号。

公式有点烧脑子,我讲解一下。

按 ctrl+shift+回车,自动加了花括号,代表这是一个数组公式。

IF(ROW($C$21:C22)=ROW(C22),E22+F22,$C$21:C22),这里是xirr的第一个参数,代表现金流。C21是第一行,C22是第二行。C21:C22,这是现金流这一列,没毛病,但最后一行,我要替换成总资产。加个ROW,代表数组内单元格的行号,加个IF做判断,对于C21:C22,当不是最后一行时,用原值,当是最后一行时,用E22+F22,也就是总资产做替换。

$A$21:A22,这是xirr的第一个参数,代表日期。

$号代表固定行列,这样往下一拖,公式可以自动更新。

公式稍微有点复杂,但主要是为了用起来方便些。这个例子里没有资金流入流出。有现金流发生的时候 ,建议现金流单独起一行,为了将准确的参数代入XIRR公式。

XIRR公式,日期可以重复的,现金流要有正有负。

加权收益率的计算就比较简单了,=(1+G22)^((A22-A$21)/365)-1

讲解下就是:(1+xirr)^(天数/365)-1,这个公式和有知有行用的Modified Dietz算法非常接近了。

水平有限,讲的不清楚的地方请见谅,烧大家脑子了

还有不明白的地方,请移步:

calculate-xirr-for-entries-from-different-columns

网页链接