量化投资作业的R实现——收益率相关图形绘制
Tushare ID:482621
Tushare是一个免费的大数据平台,你可以很方便地在上面获取各种各样的数据,包括但不限于股票数据(日度,月度,年度),公司财务数据(三大报表),新闻资讯等等。只需要简简单单的几行代码,就可以将数据导入到你所需要的编程软件当中去(支持各种编程环境)。
当然,如果你是编程小白,tushare也是一个很好的获取数据的社区,你可以通过鼠标点击操作,来获取数据并导出。非常的人性化。
实验题目6:根据你所查找的某一个股票或指数的近三年价格的日度数据,做如下运算:
导入相关库
library(zoo)
library(timeSeries)
library(Tushare) # 导入Tushare包
利用tushare获取数据
api <- Tushare::pro_api(token = '*********************************') # 需要注册自己的账号,便可获取属于自己的专属token
data0 <- api(api_name = 'daily', ts_code = "000333.SZ", start_date = "20190101", end_date = "20211231")
# 查看数据
head(data0)
'*************************'这个是自己的token,大家只需要登录tushare的网站,经过简单的操作,并完善个人信息之后,就可以使用该社区,来获取你需要的数据啦,快去试试把!!!
大家可以清晰地看到,只需要简简单单的两行,我就获取了美的公司近三年的股票的收盘价,最高价,最低价,日涨跌幅,总量等等。
整理数据
data = data0[,c(2,6)] # 获取我们需要的时间以及收盘价
head(data)
data <- na.omit(data)
date <- as.character(data[,1])
date <- as.Date(date,'%Y%m%d')
(1)绘制收盘价序列图
clsprc <- as.numeric(data[,2])
cls <- zoo(clsprc, date)
plot(cls)
(2)计算其收益率,并绘制收益率的时序图
close = data$close
return <- 100 * diff(log(close))
cls2 <- zoo(return,date)
plot(cls2)
(3)对收益率数据进行描述性统计分析
data_outline <- function(x){n <- length(x)m <- mean(x)v <- var(x)s <- sd(x)me <- median(x)cv <- 100*s/m #变异系数css <- sum((x-m)^2)uss <- sum(x^2)R <- max(x)-min(x)R1 <- quantile(x,3/4)-quantile(x,1/4)sm <- s/sqrt(n)g1 <- n/((n-1)*(n-2))*sum((x-m)^3)/s^3g2 <- ((n*(n-1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4-(3*(n-1)^2)/((n-2)*(n-3)))data.frame(N=n,Mean=m,Var=v,std_dev=s,median=me,std_mean=sm,CV=cv,CSS=css,USS=uss,R=R,R1=R1,skewness=g1,kurtosis=g2,row.names=1)
}
data_outline(return)
(4)在同一个画布里绘出收益率序列的直方图、核密度估计曲线、经验分布图和QQ图,并将后两个图与正态分布做比较。
#直方图
win.graph(width=7,height=6.5)
par(mfrow=c(2,2),mar=c(5,4,3,2))
hist(return,main='(a) 美的集团收益率直方图',xlab='收益*100',ylab='密度', freq=F,cex.main=0.95,las=1)
#核密度估计图
plot(density(return), main="(b) 美的集团收益率核密度曲线图 ",xlab="收益", ylab='密度',xlim = c(-7,7), ylim=c(0,0.5),cex.main=0.95)
polygon(density(return), col="gray", border="black")
curve(dnorm,lty = 2, add = TRUE)
abline(v=0,lty = 3)
legend("topright", legend=c("核密度","正态密度"),lty=c(1,2,3),cex=0.7)
#经验分布图
ECD.SSEC <- ecdf(return[1:10])
plot(ECD.SSEC,lwd = 2,main="(c) 美的集团收益率累积分布函数",cex.main=0.95,las=1)
xx <- unique(sort(c(seq(-3, 2, length=24), knots(ECD.SSEC))))
lines(xx, ECD.SSEC(xx))
abline(v=knots(ECD.SSEC),lty=2,col='gray70')
x1 <- c((-4):3)
lines(x1,pnorm(x1,mean(return[1:10]),sd(return[1:10])))#QQ图
qqnorm(return,main="(d) 美的集团收益率Q-Q",cex.main=0.95,xlab='理论分位数',ylab='样本分位数')
qqline(return,col='red')
我会不定期的发一些关于金融数据分析的小实例,在学习编程的同时,分享自己的经历,希望大家多多交流和指点。
注:本代码均来自于课程学习以及网络,如有雷同,纯属巧合。如果侵犯到您的权益,请及时联系我。
量化投资作业的R实现——收益率相关图形绘制相关推荐
- matplotlib相关图形绘制(一)
大家好,我是黄同学 我们之前已经讲述了matplotlib的绘图原理,本文介绍相关图形绘制. 主要是箱线图.散点图.气泡图.雷达图. <matplotlib绘图的核心原理> <mat ...
- R语言实战应用精讲50篇(一)-万字长文干货R语言ggplot2包图形绘制
前言 ggplot2 包是 Hadly Wickham 开发(除 ggplot2 外,还有 plyr 和 reshape2 包)的一款通过 "+",以图层叠加的搭配组合,易于实现数 ...
- 2015CDAS中国数据分析师行业峰会:R语言量化投资数据分析应用
跨界知识聚会系列文章,"知识是用来分享和传承的",各种会议.论坛.沙龙都是分享知识的绝佳场所.我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果.从听众到演讲 ...
- 量化投资常用技能——绘图篇 1:绘制股票收盘价格曲线和ochl烛状图
量化投资常用技能--绘图篇 1 量化投资 绘图技能 Python绘图库:matplotlib 绘制烛状图库:mpl_finance 之后的博客讲解深度会逐渐提升,将包括一下几个方面: 绘图 指标公式与 ...
- 张丹带你用R语言开始量化投资
关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定! 前言 做数据分析的朋友,一定知道R语言 ...
- Python量化投资——投资组合的评价和可视化(上):计算收益率、波动率、最大回撤、阿尔法alpha、贝塔beta、夏普率Sharp等指标【源码+详解】
投资组合的评价和可视化(上)--评价指标的计算 投资结果评价 本文示例数据下载 投资过程回顾 基于收益的投资组合评价 收益率.年化收益.每日收益率 月度历史收益率 基于风险度量的投资组合评价 Vola ...
- 量化投资相关文章统计
转载自:http://www.dataguru.cn/article-5441-1.html 量化投资相关文章统计,具体信息如下: 算法交易-尽可能降低你的交易成本(一) 算法交易-尽可能降低你的交易 ...
- 用R语言开始量化投资
R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可 ...
- 从小市值因子策略入手,带你入门量化投资 (附年化收益率77.83%策略)
随着量化投资在国内的兴起,越来越多的人开始研究量化投资.可其中有不少人在学习代码.研究策略的过程中败下阵来,但量化投资其实也可以很简单. 今天,我们以经典的小市值因子策略为例,为大家演示如何借助掘金量 ...
最新文章
- android实现多画面播放,可无缝切换小窗/全屏的android播放器实现
- centos7配置 console口_玩转KVM-一招打开vm的console口
- Python3 文件读写
- 美国科学院院士、斯坦福大学王永雄(Wing H Wong)教授 - 生物信息学云论坛第一讲!...
- 移通好闹钟微信小程序全套源码
- 第13-17章阅读后的思考
- Spring4.x()-Spring的Jdbc事务-注解
- 远程连接线上的mysql失败 客户端和代码连接
- 《Frustum PointNets for 3D Object Detection from RGB-D Data》论文及代码学习(二)——代码部分
- 机器学习实战一——朴素贝叶斯中文情感分类模型
- 人工智能课程设计——八皇后问题的求解算法比较
- Sawin软件研发之窗:《南郭先生新论》 - 使用 Google 工具栏进行发送
- 应用程序框架 Application Framework
- Centos下如何永久修改系统时间 hwclock
- win10无法连接到win7系统更新服务器,win10系统提示无法连接到windows服务的解决方法...
- 批量删除 Word 文档中的所有图片
- Python 在线免费批量美颜,不比某秀秀方便好用一些吗!
- ChatGPT自动写了个AI办公office word插件,低配copilot,程序员看了焦虑。
- 2022年汽车配件市场分析
- 【安卓逆向】 浦X银行签名校验,逆向工程师绝不认输
热门文章
- ubuntu系统损坏修复_修复损坏的ubuntu gui
- 如何将多个excel表格合并成一个_相同表头的多个Excel表格合并成一个Excel表的方法...
- android debug SIGABRT (signal SIGABRT)
- php $_SERVER 学习详解
- 解密滴滴黑科技:超低功耗桔视ADAS落地实践
- 切比雪夫插值多项式在非线性电路中的应用与比较
- 建数据库表需要注意哪些点
- 什么是前端编程中的骨,肉,魂
- 单片机实验秒表设计程序c语言,如何使用单片机实现秒表的设计
- android安全风险分析,Android安全检测报告,等保测评过不了,提示风险