楼主: tianjixuetu
16314 13

[程序分享] 用R语言计算沪深300指数的收益率 [推广有奖]

教授

52%

还不是VIP/贵宾

-

TA的文库  其他...

投资理财书籍

威望
0
论坛币
10047 个
通用积分
40.7729
学术水平
67 点
热心指数
67 点
信用等级
61 点
经验
1211 点
帖子
714
精华
3
在线时间
1561 小时
注册时间
2009-12-16
最后登录
2024-4-23

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
#用R语言计算沪深300指数的算术收益率
#数据处理,首先清除其他变量,并设定工作空间
rm(list=ls())
setwd("F:/R语言工作空间")
#把沪深300指数数据放入到工作空间文件夹中
#读取数据
hs=read.csv("hs300.csv",sep=",")
#查看数据.对数据整理,并计算
head(hs)
tail(hs)
close=hs[,2]
tail(close)
close=xts(close,order.by=as.Date(hs[,1]))
head(close,7)
close1=lag(close,1)
head(close1)
calclose=merge(close,close1)
head(calclose)
simplerate<-(close-close1)/close1
names(simplerate)="simplerate"
head(simplerate)
calrate=merge(calclose,simplerate)
head(calrate)
#使用R包进行计算
#加载quantmod、TTR包和PerformanceAnalytics包进行计算
library(quantmod)
library(PerformanceAnalytics)
library(TTR)
rate=periodReturn(close,period="daily",type="arithmetic")
head(rate)
rate2=periodReturn(close,period="daily",type="log")
head(rate2)
#ROc(X,n=1,type="discret"),默认计算的是连续收益率
rate3=ROC(close)
rate4=ROC(close,n=1,type="discrete")
#calculateReturns(price,method="discrete")
rate5=CalculateReturns(close)
head(rate5)
转载自我的博客:http://blog.sina.com.cn/s/blog_659ec1310102wnbs.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:沪深300指数 沪深300 R语言 收益率 Simpler 收益率 沪深

已有 1 人评分经验 论坛币 收起 理由
李会超 + 80 + 20 精彩帖子

总评分: 经验 + 80  论坛币 + 20   查看全部评分

今天,我持续不断地改进自己,在各方面,我会越来越好!
沙发
jgchen1966 发表于 2016-10-2 20:36:17 |只看作者 |坛友微信交流群
太繁琐!!!一个收益就如此多行程序!!2400支股票从1993-2016年的月度(或周)收益率及近二十种技术指标,又如何快速完成!!!只用楼主相同行数,即可完成!!!单核,不到一小时算完!!

使用道具

藤椅
tianjixuetu 在职认证  发表于 2016-10-3 13:21:50 |只看作者 |坛友微信交流群
求分享

使用道具

板凳
tianjixuetu 在职认证  发表于 2016-10-3 13:22:11 |只看作者 |坛友微信交流群
jgchen1966 发表于 2016-10-2 20:36
太繁琐!!!一个收益就如此多行程序!!2400支股票从1993-2016年的月度(或周)收益率及近二十种技术指标, ...
分享,让学习下呗

使用道具

报纸
jgchen1966 发表于 2016-10-3 21:11:24 |只看作者 |坛友微信交流群
提供一个55个行业指数的2016年01月04日至2016年07月15日 的日交易计算实例数据集,见附件:ss55TTR2016.txt 。其中ss300为沪深300,其他为行业指数。。变量中,Rl 为日对数收益率,其它由R package TTR 中技术指标计算函数,含义与它的相同。。
  计算用工具与程序:其实,只要学完会 Hadley Wickham 的几个数据分析packages ,很容易编写,不值一提,就不烦列了!!!

ss55TTR2016.txt

1.88 MB

需要: 5 个论坛币  [购买]

使用道具

地板
jgchen1966 发表于 2016-10-3 21:15:35 |只看作者 |坛友微信交流群
tianjixuetu 发表于 2016-10-3 13:22
分享,让学习下呗
设5个论坛币,仅仅希望真有兴趣者瞧一瞧!!见谅。。。。。

使用道具

7
jgchen1966 发表于 2016-10-3 21:25:14 |只看作者 |坛友微信交流群
提供一个55个行业指数的2016年01月04日至2016年07月15日 的日交易计算实例数据集,见附件:ss55TTR2016.txt 。其中ss300为沪深300,其他为行业指数。。变量中,Rl 为日对数收益率,其它由R package TTR 中技术指标函数计算,含义与它的相同。为个人需要,略作修改。只供示范,无实际使用价值
  计算用工具与程序:其实,只要学完会 Hadley Wickham 的几个数据分析packages ,很容易编写,不值一提,就不烦列了!!!
鹑居鷇食,鸟行无彰

使用道具

8
tianjixuetu 在职认证  发表于 2016-10-3 22:57:50 |只看作者 |坛友微信交流群
jgchen1966 发表于 2016-10-3 21:25
提供一个55个行业指数的2016年01月04日至2016年07月15日 的日交易计算实例数据集,见附件:ss55TTR2016.txt ...
你的代码呢?不能光给数据哇

使用道具

9
lqb1987 发表于 2016-10-5 13:57:05 |只看作者 |坛友微信交流群
既然hs[,2]是close,直接hs$pct <- hs[,2] / lag(hs[,2]) -1 不好么

使用道具

10
故城2016 学生认证  发表于 2018-11-13 15:48:26 |只看作者 |坛友微信交流群
我也觉得  简单收益率的计算实在是繁琐
不妨对close价格用lag()函数 ,得到滞后一期数据,  再用-na.omit()消除na数据
已有 1 人评分学术水平 收起 理由
yahoocom + 1 观点有启发

总评分: 学术水平 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 07:44