我是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
答案 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]] )