用R语言玩玩茅台股票
本人不炒股,只是对R语言的分析一直感兴趣,加上偶尔会看看茅台酒的一些情况。最近,刚好看了一本用R语言量化投资的书,于是借用此书程序代码,玩玩茅台股票。仅供娱乐使用!切勿当真!
(1)使用R语言获取茅台股票数据
使用R包 quantmod
获取茅台2018年至今的股票数据:
// 获取茅台股票数据,2018年至今
library(quantmod)
setSymbolLookup(MT=list(name='600519.ss',src='yahoo'))
getSymbols("MT",from="2018-01-01")
(1.1) 查看茅台股票数据
// 查看茅台股票数据
> dim(MT)
[1] 358 6
> head(MT)600519.SS.Open 600519.SS.High 600519.SS.Low 600519.SS.Close 600519.SS.Volume 600519.SS.Adjusted
2018-01-02 700.00 710.16 689.89 703.85 4961248 683.8751
2018-01-03 701.50 721.40 699.74 715.86 5201941 695.5443
2018-01-04 721.40 743.50 719.33 737.07 7220508 716.1524
2018-01-05 741.00 746.03 728.22 738.36 3998907 717.4058
2018-01-08 735.02 756.50 735.02 752.13 5220456 730.7850
2018-01-09 752.21 783.00 752.21 782.52 6459195 760.3126
> tail(MT)600519.SS.Open 600519.SS.High 600519.SS.Low 600519.SS.Close 600519.SS.Volume 600519.SS.Adjusted
2019-06-24 978.30 999.69 975.00 987.10 4577920 972.6959
2019-06-25 992.00 999.00 967.00 982.98 5129595 968.6360
2019-06-26 985.00 985.00 971.22 979.86 2958818 965.5616
2019-06-27 985.00 1001.00 981.12 996.35 4797845 981.8110
2019-06-28 985.99 988.88 971.33 984.00 3108840 984.0000
2019-07-01 1004.52 1035.60 1000.22 1031.86 5233723 1031.8600
(1.2) 获取茅台股票收市价
// 获取茅台股票数据,2018年至今
cdata<-MT$`600519.SS.Close`
vdata<-MT$`600519.SS.Volume`names(cdata)<-'Value' # 收市价
names(vdata)<-'Volume' # 交易量
可以画出图,查看它们的趋势:
下图是收市价趋势,股价从今年2月份起,基本呈一路飙升趋势。
交易量的趋势如下图,可见大部分时间茅台的交易还是比较稳定的。
(2)收市价的具体分析
首先加上近期内最高价和最低价,图形如下,红线最低价,蓝线最高价:
(3) 分别计算购入点和出售点
// The function of buy signalbuyPoint<-function(ldata){idx<-which(ldata$Value == ldata$max)return(ldata[idx,])}//Calculate the sell signalsstopPoint<-function(ldata,buydata){ldata<-na.omit(ldata)idx<-which(ldata$Value == ldata$min)idx<-idx[which(c(0,diff(idx))!=1)] # Represent the first point with 0selldata<-ldata[idx,] # All points below the lowest valueidx2<-sapply(index(buydata),function(e){ # Sell signal points after buyinghead(which(index(selldata)>e),1)})idx2b<-unlist(idx2)return(selldata[unique(idx2b),])}
对计算结果画成图,橙色点代表购入点,紫色点代表出售点:
(4) 加入止亏点
实际上,书的作者只是优化了出售点函数,作为止亏点。现在就有了购入点、出售点和止亏点,统一到图里,有图可知,出售点(蓝点)都在止亏点(紫点)上,从这个图上看,是不亏本的。但这是事后分析,是马后炮。
此外,有趣的是,从分析结果看,基本是股价上升时购买,下跌时出售。这不是典型的房价规则吗?房价越高,人们买房子的热情越高。
当然,我一位同学是炒股高手,他告诫,炒股莫炒国内股。还是老话,股市有风险,入市须谨慎!
用R语言玩玩茅台股票相关推荐
- 用R语言玩玩股票(二)
声明:本人不炒股,贴子纯为娱乐! 为何要学编程? 1. 训练逻辑思维(预防痴呆) 2. 减少重复劳动(过程不轻松) 3. 提高分析效率(需反复摸索) 在上一篇的博文1里,用R语言简单示范了茅台股票的一 ...
- 量化交易陷阱和R语言改进股票配对交易策略分析中国股市投资组合
最近我们被客户要求撰写关于量化交易的研究报告,包括一些图形和统计输出. 计算能力的指数级增长,以及量化社区(日益增长的兴趣使量化基金成为投资者蜂拥而至的最热门领域. 量化交易陷阱和R语言改进股票配对交 ...
- R语言tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图
R语言tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图 目录
- R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率
R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率( ...
- R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、获取美国10年期债券收益率数据
R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据.获取美国10年期债券收益率数据 目录 R语言使用quantmod包的getSymbols函数从指定金融数 ...
- R语言用quantstrat包获取股票、债券、基金、黄金、原油、指数、外汇和全球经济数据
R语言可以非常轻松的获得证券(股票.债券.基金.期货(黄金.原油等).期权),指数.外汇和美联储提供的各种经济数据.我来详细说一下. quantstrat包的金融数据很全 yahoo提供的各种证券数据 ...
- R语言 | 利用tushare获取股票k线、市值、换手率,市盈率等指标
作者的tushare ID:456548 作者在股市进行比较短线的投资,想开发一些高效的指标作为买卖的参考,于是需要k线.市值.换手率等数据进行研究,同花顺等软件上面大多数据不能导出,所以找到了tus ...
- R语言使用ARIMA模型预测股票收益时间序列
"预测非常困难,特别是关于未来".丹麦物理学家尼尔斯·波尔(Neils Bohr),最近我们被要求撰写关于arima的研究报告,包括一些图形和统计输出. 很多人都会看到这句名言.预 ...
- 使用R语言从网易财经批量获取股票数据并进行整合的方法
最近因为投资分析需要接触R语言,需要获取A股上市公司数据.从同花顺下载效率太低,就到处找途径.分享下方法,共其他小白参考,请大神指正. R语言自带的quantmod数据不错,不过国内A股数据不全,而且 ...
最新文章
- R语言DALEX包的model_profile函数对caret包生成的多个算法模型的连续变量进行分析、使用Acumulated Local Effects (ALE)方法解释某个连续特征和目标值关系
- [30期] 第一个项目
- float以后设置的小细节
- Mac OS X Terminal 101:终端使用初级教程
- vba抓取网页数据到excel_R语言网页数据抓取XML数据包
- ITK:灰度图像中的聚类像素
- Linux下安装LoadRunner LoadGenerator
- 【bzoj4712】洪水
- 【HDU - 6558】The Moon(期望dp)
- Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器
- 利用FSMT进行文件服务器迁移及整合
- JNI开发笔记(三)--JNI工程的框架分析
- MFC获取文件夹下的所有文件名
- 为什么家里pm25比外面高_你绝对不会相信在家用卷发棒烫发竟然比在外面烫发更伤发?...
- Atitit mybatis返回多个数据集总结 目录 1.1. 配置handleResult接受,但是只有第一个select语句的结果	1 2. 配置resultMap ok	1 2.1. 调
- java字典序列化_在Python中解析序列化Java对象
- Windows 编程基础(四)
- 如何用易语言做锁机软件
- mac下chrome导入证书
- 怎样用比较器实现信号的衰减和饱和_水下技术 无人水下航行器在水电站隧洞检查中的应用探讨...