本人不炒股,只是对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 signal
buyPoint<-function(ldata){
idx<-which(ldata$Value == ldata$max)
return(ldata[idx,])
}
//Calculate the sell signals
stopPoint<-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 0
selldata<-ldata[idx,] # All points below the lowest value
idx2<-sapply(index(buydata),function(e){
# Sell signal points after buying
head(which(index(selldata)>e),1)
}
)
idx2b<-unlist(idx2)
return(selldata[unique(idx2b),])
}
对计算结果画成图,橙色点代表购入点,紫色点代表出售点:
(4) 加入止亏点
实际上,书的作者只是优化了出售点函数,作为止亏点。现在就有了购入点、出售点和止亏点,统一到图里,有图可知,出售点(蓝点)都在止亏点(紫点)上,从这个图上看,是不亏本的。但这是事后分析,是马后炮。
此外,有趣的是,从分析结果看,基本是股价上升时购买,下跌时出售。这不是典型的房价规则吗?房价越高,人们买房子的热情越高。
当然,我一位同学是炒股高手,他告诫,炒股莫炒国内股。还是老话,股市有风险,入市须谨慎!