R语言 股票预测

本人正在学习R语言,想利用这个平台记录自己一些自己的学习情况,方便以后查找,也想分享出来提供一些资料给同样学习R语言的同学们。(如果内容有错误,欢迎大家批评指正)

其实股票预测是一个很复杂的过程,但在这里只对单一股票进行预测,我们需要做的是使用历史数据来对未来的数据进行预测,然后决定我们应该什么时候进行交易, 进行怎样的交易,是买入还是卖出?

步骤:
1.获取数据
在这里插入图片描述
R语言 股票预测_第1张图片

2.设置衡量指标
在这里我们使用最高价、最低价和收盘价的平均值作为预测指标,再计算第i天平均价格相对于前一天的平均价格的收益百分比,这个值可能是正也可能是负,如果是正的话,就买进,如果是负值的话,就卖出。为了衡量这 n天的总体价格变动,我们定义了一个新的矩阵,来存储每一天对后面n天的总体价格的预测。

###########################股票预测
#data是原始数据,n表示n天内的交易,p为临界收益率
#1.从数据集中找出最高价、最低价和收盘价三列,使用数据集中的数据作为预测的原始数据
#2.对每一行求平均数,作为这一天股票的平均价格
#3.创建一个矩阵,因为我们是预测n天之内的交易,所以列数为n,行数为数据集的行数
#4.计算每一天相对于前n(n=1,2,3,4,5)天来说价格的波动百分比,再分别向上移动n行(n=1,2,3,4,5),作为用每一天的平均价格预测后面n天价格赚钱(赔钱)的概率
#5.从计算出来的百分比绝对值中挑出大于临界收益率的(小于临界收益率的忽略不计),对每一行求和
#6.然后按时间顺序排序输出,得到的这个序列就是用每天的平均价格预测未来n天之内股票价格的增长率(降低率)
T.Index<-function(data,n,p){
  hlc<-HLC(data)
  #使用HLC函数的数据集列名必须包含完整的描述-“打开”、“高”、“低”、“关闭”、“音量”或“调整”,但也可能包含其他字符。
  #HLC取数据集中的high,low,close三个列
  P<-rowMeans(hlc)#对每一行计算平均数,也就是最高价、最低价和收盘价的平均数
  v<-matrix(NA,ncol=n,nrow=NROW(data))
  for(i in 1:n){
    v[,i]<-Next(Delt(P,k=i),k=i)
  }
  T<-apply(v,1,function(x)sum(x[abs(x)>p]))
  T<-xts(x=T,order.by=time(data))#order.by是一个与x行数相同的升序排列的时间对象。
  return(T)
}

你可能感兴趣的:(R语言)