R语言绘制股票K线图

来源:互联网 发布:普宁淘宝培训学校在哪 编辑:程序博客网 时间:2024/04/30 23:11

首先解释一下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)])

数据集如下图所示:


效果图如下:


原创粉丝点击