一、牛市追涨杀跌模型
2019年,随着贸易战的和谈,国内政策面的刺激,A股迎来了一波比较客观的小牛市。由此,我们选择建立追涨杀跌模型来进行投资。接下去以所选股票池(结语有介绍)内的稳定型股票——中直股份以及活跃型股票——中国应急为例,至于选择这两只股票的原因除了类型不同外,更重要的是这两只股票都属于国防军共板块,因此建模对比效果更佳具有说服力。选择中线追涨杀跌模型]进行分析。区间选择为2019-01-01至2019-04-20。
二、个股实现及对比
我们分别把稳定型股票——中直股份和活跃型股票——中国应急带入模型,结果发现在牛市中,该模型并不是适用于所有股票,稳定型股票可能会亏钱,而活跃型股票赚钱效益明显超越稳定型股票。
1、稳定型——中直股份(附代码)
当股价大于等于20日最高价时作为买入信号点,当股价小于等于10日最低价时作为卖出信号点。我们利用R语言对股票数据的进行操作,实现追涨杀跌模型的实例,并根据模型模拟交易,通过区间收益探究模型的有效性。从而验证我的们投资理论。
具体R代码如下:
1.1 数据准备
#加载需要的R包
library(plyr)
library(xts)
library(TTR)
library(ggplot2)
library(scales)
# 加载数据
df<-read.table("stock.csv",header=T,sep = ",", na.strings = "NULL") # 读文件
names(df)<-c("code","date","Open","High","Low","Close","Volume") # 设置列名
dl<-split(df[-1],df$code) #按ccode分组
data <- lapply(dl,function(row){xts(row[-1],order.by = as.Date(row$date))}) # 换成xts类型数据
class(data) # data的类型
head(names(data))
length(data)
# 获得时间范围
dateArea<-function(sDate=Sys.Date()-365,eDate= Sys.Date(),before=0){ # 开始日期,结束日期,提单开始时
if(class(sDate)=='character') sDate=as.Date(sDate)
if(class(eDate)=='character') eDate=as.Date(eDate)
return(paste(sDate-before,eDate,sep="/"))
}
# 查看股票600038.SZ
head(data[['600038.SH']])
title<-'600038.SH' #
stock<-data[[title]] # 获得股票数据
sDate<-as.Date("2019-01-02") # 开始日期
eDate<-as.Date("2019-4-19") # 结束日期
cdata<-stock[dateArea(sDate,eDate,365)]$Close # 获得收