R做财务分析这个想法酝酿了很久,甚至还想过完善之后发布一个财务分析的包,但一直没有开始。因为一直不知道如何搭建一个比较合适的框架,所以每每想写一点点代码的时候就被这些繁琐的虚无缥缈的程序架构搞得泄气。现在还时不时的去R官网中搜索财务分析相关的包。可能财务分析其实就是些加减乘除的针线活,R牛们根本不屑去写这么个没有什么技术、算法含量的包。想想也是啊,平时的财务分析就是在电子表格中拖拖拉拉,外加烂到极致的计算器,纯粹体力活而已。

既然是体力活,那就需要把平时不断重复的一些工作程序化,交给机器去做,这也算作开始这个工作的一个美好动力吧。其实财务分析中很多的工作涉及三张报表的”管理问题“,工作的第一步是将平时五花八门的报表读入R中,形成标准的报表模板,这样做好后,那些加减乘除的比率、报表变型、预测报表的生成就是水到渠成的事情,高中数学加点矩阵乘除法就能搞定。在各种用excel财务分析建模的书中,最杯具的莫过于各种类似于“迭代”等大名词的狐假虎威了,在报表预测中不就是矩阵的除法么,至于1000次的迭来迭去么。。。这点估计也是继承了经济砖家喜好大名词的优良传统。

 对于这个工作,现在的一个不成型的思路是:

1、将三张报表读入,生成R的标准报表模板(这个借鉴了万得的报表模板,在此表示感谢),并且做好报表数据的验证问题。毕竟数据的入口不严格把关的话,只能是垃圾进垃圾出。这部分工作的核心是数据匹配,目前基本完成,正则表达式搞定一切。

2、重组财务报表。 思路根据《价值评估》,相关比率的计算和图形展示,为做报表预测做准备。

3、假设数据的设定,生成预测的报表。

4、公司估值,前三部完成,这步非常的简单:折现率、自由现金流加减乘除出来后,DCF用我的pv函数就搞定了。

5、ROIC、ROE指标分解、历史数据、比率的图形展示等。

6、之前一直困扰我的数据设置什么类、数据如何组织管理等等问题,就等我前5部分的菜都上好了再去考虑吧。毕竟我的summary(financialstatement)是给我自己看得。

 7、如果前面的都做好了,我的心情又大好,就整个包吧,序列号也用3.141592653589793115997963468544185161590576171875

这种形式。即使不愿意写帮助文档,也整个包发布给自己用,每次R运行时都自动装载。

 说到底,这些程序只是一个工具,而财务分析估值也只是观察公司的一个视角而已。关键还是对企业的判断和假设,所以希望在对企业判断的过程中的重复劳动能够交由R去做,这点算是又回归到我的初衷吧。

 

附pv(PRESENT VALUE)函数:

pv
1 pv <- function(cf,r,type=0){
2     if (length(type)!=1) stop("'type' must be 0 or 1.")
3     if ((type!=& type!=1)) stop("'type' must be 0 or 1.")
4     t <- seq(along=cf)-type
5     return(sum(cf/(1+r)^t))
6   }

 

 

 posted on 2009-12-01 17:34  medo  阅读(763)  评论(0编辑  收藏  举报