从之前的友人处要了一份股票的数据,按他的要求写了基础的分析代码。

流程:

在将每一年每个月的全部股票的IVOL按从大到小排列后,划分为均等的5块,求每一块的EP的均值。(这之后没有做)求得全部的划分后EP均值,然后进行其他金融方法分析。


#读取源文件
> dataO=read.csv("C:/Users/Jitao Fan/Desktop/stockData.csv")

> data=dataO

R 通过分区求均值挖掘数据规律


#拆分date列,创建月和年的列
> data$month=substr(data$date,1,3)
> data$year=substr(data$date,5,6)

#drop掉date列方便查看

> dataR=data[,2:6]

R 通过分区求均值挖掘数据规律


#创建06年1月的subset进行分析
> dataJS=subset(dataR,data$month=="Jan"& data$year=="06")

#对一月份数据集按照IVOL从大到小排序
>dataJS=dataJS[order(-dataJS$IVOL),]

#为每一行添加行号

>dataJS$rownumber=1:nrow(dataJS)

R 通过分区求均值挖掘数据规律


#按照行号将数据集分为均匀5块(可以看出Cut的上下限选择并不整齐,但并不影响我们使用)

>dataJS$Cut=cut(dataJS$rownumber,5)

R 通过分区求均值挖掘数据规律

#导入doBy包

>library('doBy')

#生成相应数据块的EP值均值并观察
>result=summaryBy(ep~Cut,data=dataJS)

R 通过分区求均值挖掘数据规律

#也可以直接使用aggregate()方法,然后构建data.frame

>aggregate(dataJS,list(dataJS$Cut),mean)

#使用生成结果构建新的数据集(之后我朋友还会写循环把其他年月份的都统计出来,还有进一步分析,我就先不管了)
> EP.mean=result$ep.mean
> Year=dataJS[1,5]
> Month=dataJS[1,4]
> IVOLRate=c("Top","Second","Third","Fourth","Fiveth")
> Final=data.frame(Year,Month,IVOLRate,EP.mean)
R 通过分区求均值挖掘数据规律

相关文章:

  • 2022-12-23
  • 2021-11-23
  • 2021-11-23
  • 2021-04-24
  • 2021-11-23
  • 2021-08-19
  • 2021-11-23
猜你喜欢
  • 2022-01-17
  • 2021-11-11
  • 2021-12-03
  • 2021-04-09
  • 2021-12-23
  • 2021-11-25
相关资源
相似解决方案