星期一, 四月 29, 2013

实现可重复的统计slides


制作幻灯片是数据分析师的必备技能之一,优秀的slides对外可以忽悠住客户,对内可以震慑住领导。精良的slides要秀外慧中,有逻辑有内容,还要有外形有风格。达到这种标准并不容易。在过去,你可能使用office中的ppt来做传统意义的幻灯片,将图片和代码费力的copy到一张张的slides上去,然后到处找模板。但这种方式已经凹特了。

在HTML5的发展背景下,已经出现了大批以网页形式的slides框架,例如:Google IO 2012\HTML5 slides\HTML5 Rocks\Shower\Deck.js这个名单可以很长。而这里只是其中六种演示框架的介绍。在这些slides框架下,你只需要懂一点点web知识,将图片和数据嵌入到一个html模板中,就可以生成一个动态可交互的slides。

星期五, 四月 19, 2013

初学D3的感觉


简单来讲有如下三点感受:

  • D3很强大
  • D3并不容易学
  • 学会D3并不等于学会了可视化

一山还有一山高,在翻过ggplot2这座山后,发现还有D3这座珠穆朗玛。ggplot2已经非常好了。能够实现The Grammar of Graphics的精义,有很丰富的对象和灵活的自由度,但这都还不够,因为ggplot2只能够生成静态的图形。如果你只需要写一篇分析报告,那么ggplot2是足够的。但如果你想让数据在网页上飞翔,就需要D3做为翅膀。


星期二, 四月 02, 2013

R连接MySQL数据库方法备忘


R语言连接数据库可以利用数据库的存贮能力和R的计算能力,起到取长补短的效果。之前我们也说过了如何在R中使用SQL,很多教材上也提到了连接MySQL的方法,但是在安装上还需要注意一些细节问题。以下的解决方法也是在网上放狗加撞墙实验得出的结论。


星期三, 三月 20, 2013

R语言玩转资产组合计算


以前都是用MATLAB或是EXCEL给学生讲资产组合的计算问题,实际R语言也可以做一样的事情。资产组合要解决的问题并不复杂,即给定一个可选的资产集合,要从中选择出一个最优组合,使其收益率较大,而风险较小。如果可选资产只有两个的话,问题非常简单,可以通过求导最优化的方式得到结果,即有效资产前沿的解析解。如果资产集合超过两个那么问题要复杂一些。首先需要给定一个要求的期望收益率,再求出在此约束下的方差最小组合,这可以通过二次规划解出。这样得到有效前沿上的一个点。然后更改期望收益率,又可以得到另一个最优解,如此反复即可得到多资产组合的有效前沿。

下面我们先用R语言中quadprog包的二次规划求解函数来计算一个例子,再用fPortfolio包中的函数来完成同样的任务。例子中使用的数据来自于fPortfolio包中的SMALLCAP.RET数据集,使用了其中的四个资产来示例。