r语言求对数收益率,r语言计算日收益率
作者简介:黄天元,复旦大学博士生,热爱数据科学和开源工具(R/Python),致力于利用数据科学快速积累行业经验优势和科学知识发现,涵盖但不限于信息测量、机器学习、数据可视化、应用统计建模、知识图谱等。Zhihu: R语言数据挖掘专栏邮箱:huang.tian-yuan@qq.com。欢迎合作交流。
上一个:
收益率的概念很简单,计算方法如下:
对数收益率的计算如下:
其中T代表当前时间,t-1代表前一时间。R and R分别是简单收益率和对数收益率,P代表资产价格。
为什么要用对数收益率?主要是为了计算的简便,达到了可加性。具体可参考:为什么大部分金融公司在计算收益率时用对数收益率而不是算术收益率?www.zhihu.com
下面我们还是用传统的OHLC数据,根据修正后的收盘价得出不同时间尺度的收益率。首先,我们试着得出一个年化的简单收益率,计算方法如下:
图书馆(tidyquant)
FANG_annual_returns %
group_by(符号)%%
TQ _ transduce(select=已调整,
mutate_fun=periodReturn,
周期=每年,
type=算术)
方_年度_收益
# A tible:16 x 3
#组:符号[4]
符号日期每年。返回
1 FB 2013-12-31 0.952
2014年12月31日0.428
3 FB 2015-12-31 0.341
4 FB 2016-12-30 0.0993
5 AMZN 0.550
6 AMZN 2014年12月31日0.222
7 AMZN 2015-12-31 1.18
8 AMZN 2016-12-30 0.109
NFLX 2013年12月31日
NFLX 2014年12月31日
NFLX 2015年12月31日1.34
NFLX 2016-12-30 0.0824
13 GOOG 0.550
14 GOOG 2014-12-31 -0.0597
15 GOOG 2015-12-31 0.442
16 GOOG 2016-12-30 0.0171
总共是4只股票4年的数据。让我们做一个简单的可视化:
方_年度_收益%%
ggplot(aes(x=日期,y=年度。返回,填充=符号))
geom_bar(stat=identity )
geom_hline(yintercept=0,color=palette_light()[[1]])
scale_y_continuous(标签=刻度:百分比)
实验室(title=方:年收益,
subtitle=用tq _ transmute快速获得年度回报!,
y=年收益,x= )
facet_wrap(~ symbol,ncol=2)
theme_tq()
scale_fill_tq()
同时,我们来看看日对数收益率。在计算之后,我们检查了四只股票的日收益分布。这是短线操作的重要参考消息(不过是事后分析)。
FANG_daily_log_returns %
group_by(符号)%%
TQ _ transduce(select=已调整,
mutate_fun=periodReturn,
周期=每日,
type=log ,
col_rename=monthly.returns )
方_每日_日志_退货%%
ggplot(aes(x=每月返回,fill=symbol))
几何密度(alpha=0.5)
实验室(title=FANG:绘制每日日志报告,
x=月回报,y=密度)
theme_tq()
scale_fill_tq()
facet_wrap(~ symbol,ncol=2)
基本持平。这里值得注意的是,tidyquant有自己的主题和调色板,而其他部分仍然是经典的ggplot2方法。