子集数据列表

时间:2012-08-25 15:49:54

标签: r csv subset

我是R的新手并且编码一般,所以请耐心等待。

我有一个巨大的.csv金融期权价格文件,但有些是看涨期权('c'),有些是看跌期权('p'),它们只是一个连续的列表。在.csv文件中它们是交替的,因此一行将是呼叫的数据,而下一行将是相同时间段内相同安全性的放置数据。如何解析调用(puts)的数据?

此外,数据按日期排列,但每个日期有多个数据(日内数据)。在这些日内数据点中,存在多个不同价格的(体积)数据。我想以每天不同的价格构建所述数据的正态分布;我该怎么做?

symbol  exchange    date    stock_close_price   option_symbol   expiration  strike  call/put
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00015000   8/18/12 15  C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00015000   8/18/12 15  P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00017500   8/18/12 17.5    C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00017500   8/18/12 17.5    P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00020000   8/18/12 20  C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00020000   8/18/12 20  P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00022500   8/18/12 22.5    C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00022500   8/18/12 22.5    P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00025000   8/18/12 25  C

1 个答案:

答案 0 :(得分:0)

如果数据在R数据框中,“dfrm”,列“transtype”,“trans_date_time”,“volume”和日期时间值都是POSIXct格式,那么这应该产生每日的音量摘要用于通话交易。我不确定我是什么意思“通过”每天不同的价格构建所述数据的正态分布“,但如果你的意思是显示可以通过hist绘图功能轻松完成的每日交易量的分布。

set.seed(123)
dfrm <- data.frame(transtype = c("c","p")[sample(1:2, 20, rep=TRUE)], 
                   trans_date_time = as.POSIXct( Sys.Date() - 20) + 
                                         rnorm(100, 24*60*60, 3*24*60*60) , 
                   volume = 100*rpois(100, 5) )
str(dfrm)
dailycallvol <- with( subset( dfrm, transtype == "c"), 
                    aggregate( volume,
                      by = list( day= format(trans_date_time, format="%Y-%m-%d")),
                      FUN=sum) )
hist( dailycallvol[[2]] )

enter image description here