-1

我是 R 和一般编码的新手,所以请多多包涵。

我有一个巨大的 .csv 金融期权价格文件,但有些是看涨期权('c'),有些是看跌期权('p'),它们只是在一个连续的列表中。在 .csv 文件中,它们交替出现,因此一行将是看涨期权的数据,而下一行将是看跌期权的数据,例如,相同证券在同一时间段内的数据。我怎样才能解析出调用(看跌)的数据?

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

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
4

1 回答 1

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]] )

在此处输入图像描述

于 2012-08-25T18:36:12.107 回答