R语言绘制股票K线图

xiaoxiao2021-02-28  78

首先解释一下K线图的含义:首先我们找到该日或某一周期的最高和最低价,垂直地连成一条直线;然后再找出当日或某一周期的开市和收市价,把这二个价位连接成一条狭长的长方柱体。假如当日或某一周期的收市价较开市价为高(即低开高收),我们便以红色来表示,或是在柱体上留白,这种柱体就称之为“阳线”。如果当日或某一周期的收市价较开市价为低(即高开低收),我们则以绿色表示,又或是在柱上涂黑色,这柱体就是“阴线”了。

接下来是R语言的具体实现代码:

FT_Kplot<-function(OPEN,HIGH,LOW,CLOSE,DATE) {   N<-length(OPEN)   w<-0.3   D<-CLOSE-OPEN   par(family='serif')   #  作图   plot(c(1:N),CLOSE,type='n',xaxt='n',        xlab='时间',ylab='价格',font.axis=1.5)   title(main='K线图',cex=2,col='black')   for(i in 1:N)   {     lines(c(i,i),c(LOW[i],HIGH[i]),col='black',lwd=1)     x<-c(i-w,i-w,i+w,i+w)     y<-c(OPEN[i],CLOSE[i],CLOSE[i],OPEN[i])     if(D[i]<0)     {       polygon(x,y,col='green',border='green')     } else      {       polygon(x,y,col='red',border='red')     }   }   Index<-seq(from=1,to=N,length=5)   Index<-round(Index)   Text<-DATE[Index]   axis(side=1,Index,labels=Text,cex.axis=1) } a<-read.table("166.txt") date<-a[,1] open<-a[,2] high<-a[,3] low<-a[,4] close<-a[,5] DATE<-substr(date,1,10) FT_Kplot(open[c(1:100)],high[c(1:100)], low[c(1:100)],close[c(1:100)],DATE[c(1:100)])

数据集如下图所示:

效果图如下:

转载请注明原文地址: https://www.6miu.com/read-63642.html

最新回复(0)