【问题标题】:Subsetting a list of data子集数据列表
【发布时间】:2012-08-25 15:49:53
【问题描述】:

我是 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

【问题讨论】:

  • 编辑您的问题以包含文件的前 10 行。另外,定义巨大的(多少列和行或多少 GB)。不要指望电子邮件。如果你得到答案,你会在这个网站上找到它。
  • 任何基本的 R 教程都会告诉您如何读取文件以及如何从数据框中选择行。走开,先做一些基础研究。每个 SO 帖子只问一个问题。
  • 恐怕如果你不知道这个网站的格式化是怎么做的,你将无法掌握任何编程语言。学习查找和阅读帮助。
  • 您可以通过选择已解析的代码并按{} 图标来“修复”代码。

标签: r csv subset


【解决方案1】:

如果数据位于 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]] )

【讨论】:

  • 这就像在家庭世仇中,当参赛者在问题还没读完之前就嗡嗡作响。
  • 感谢您的回复。代码对我来说还是有点陌生​​,但我明白你的意图。
  • 想象一下旋转豌豆。 (我们 R 程序员是一群相当具体的人。也许添加示例会使这更加真实。它确实使我能够发现我想象的代码中的几个错误。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-02
  • 2019-11-12
  • 2012-03-29
  • 2021-12-16
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多