本人不炒股,只是对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语言玩玩茅台股票相关推荐

  1. 用R语言玩玩股票(二)

    声明:本人不炒股,贴子纯为娱乐! 为何要学编程? 1. 训练逻辑思维(预防痴呆) 2. 减少重复劳动(过程不轻松) 3. 提高分析效率(需反复摸索) 在上一篇的博文1里,用R语言简单示范了茅台股票的一 ...

  2. 量化交易陷阱和R语言改进股票配对交易策略分析中国股市投资组合

    最近我们被客户要求撰写关于量化交易的研究报告,包括一些图形和统计输出. 计算能力的指数级增长,以及量化社区(日益增长的兴趣使量化基金成为投资者蜂拥而至的最热门领域. 量化交易陷阱和R语言改进股票配对交 ...

  3. R语言tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图

    R语言tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图 目录

  4. R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率

    R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率( ...

  5. R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、获取美国10年期债券收益率数据

    R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据.获取美国10年期债券收益率数据 目录 R语言使用quantmod包的getSymbols函数从指定金融数 ...

  6. R语言用quantstrat包获取股票、债券、基金、黄金、原油、指数、外汇和全球经济数据

    R语言可以非常轻松的获得证券(股票.债券.基金.期货(黄金.原油等).期权),指数.外汇和美联储提供的各种经济数据.我来详细说一下. quantstrat包的金融数据很全 yahoo提供的各种证券数据 ...

  7. R语言 | 利用tushare获取股票k线、市值、换手率,市盈率等指标

    作者的tushare ID:456548 作者在股市进行比较短线的投资,想开发一些高效的指标作为买卖的参考,于是需要k线.市值.换手率等数据进行研究,同花顺等软件上面大多数据不能导出,所以找到了tus ...

  8. R语言使用ARIMA模型预测股票收益时间序列

    "预测非常困难,特别是关于未来".丹麦物理学家尼尔斯·波尔(Neils Bohr),最近我们被要求撰写关于arima的研究报告,包括一些图形和统计输出. 很多人都会看到这句名言.预 ...

  9. 使用R语言从网易财经批量获取股票数据并进行整合的方法

    最近因为投资分析需要接触R语言,需要获取A股上市公司数据.从同花顺下载效率太低,就到处找途径.分享下方法,共其他小白参考,请大神指正. R语言自带的quantmod数据不错,不过国内A股数据不全,而且 ...

最新文章

  1. R语言DALEX包的model_profile函数对caret包生成的多个算法模型的连续变量进行分析、使用Acumulated Local Effects (ALE)方法解释某个连续特征和目标值关系
  2. [30期] 第一个项目
  3. float以后设置的小细节
  4. Mac OS X Terminal 101:终端使用初级教程
  5. vba抓取网页数据到excel_R语言网页数据抓取XML数据包
  6. ITK:灰度图像中的聚类像素
  7. Linux下安装LoadRunner LoadGenerator
  8. 【bzoj4712】洪水
  9. 【HDU - 6558】The Moon(期望dp)
  10. Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器
  11. 利用FSMT进行文件服务器迁移及整合
  12. JNI开发笔记(三)--JNI工程的框架分析
  13. MFC获取文件夹下的所有文件名
  14. 为什么家里pm25比外面高_你绝对不会相信在家用卷发棒烫发竟然比在外面烫发更伤发?...
  15. Atitit mybatis返回多个数据集总结 目录 1.1. 配置handleResult接受,但是只有第一个select语句的结果 1 2. 配置resultMap ok 1 2.1. 调
  16. java字典序列化_在Python中解析序列化Java对象
  17. Windows 编程基础(四)
  18. 如何用易语言做锁机软件
  19. mac下chrome导入证书
  20. 怎样用比较器实现信号的衰减和饱和_水下技术 无人水下航行器在水电站隧洞检查中的应用探讨...

热门文章

  1. chrome android 中文版下载,Chrome浏览器安卓版
  2. 【笔记】编译Android版的Chrome手册
  3. 正则表达式,前后非空,中间可空
  4. xml图片太大_XML的大图片还是Goo的大球图?
  5. python生成关键词
  6. CHAR与TCHAR处理函数
  7. BPF CO-RE reference guide
  8. UsageStatsService之坑:一个XML解析异常导致的开机动画死循环
  9. 支付宝SDK接入详细指南(附官方支付demo)
  10. web 项目中资源下载出错,或者下载的文件对应的形式不对应,web 项目下载的文件自动打包为一个压缩包