每月退货和不平等的月份长度

时间:2016-12-11 09:52:39

标签: r quantmod

我有300多家公司,需要为他们计算月度回报,然后将其作为我数据集中的变量之一。 我从雅虎下载价格并使用quantmod包计算月度回报:

require(quantmod)    
stockData <- lapply(symbols,function(x) getSymbols(x,auto.assign=FALSE, src='yahoo', from = '2000-01-01'))
    stockDataReturn <- lapply(stockData,function(x) monthlyReturn(Ad(x))) 

我遇到的问题是一些公司有不同的月末(由于交易暂停等),这反映在输出列表中:2013-12-30为AAA公司,2013-12-31为公司BBB和其余的样本。

当我使用

合并列表时
returns <- do.call(merge.xts, stockDataReturn)

除了AAA公司外,它还为2013-12-30创建了一个单独的行。 我该如何解决这个问题?我的理解是,在合并之前,我需要坚持使用月份格式作为索引。

理想情况下,我想要的是在monthReturn阶段,它使用月初日期而不是月末。

1 个答案:

答案 0 :(得分:2)

您可以使用ps.execute(); System.out.println("Entering in to the fucntion 13"); ResultSet rs =ps.getResultSet(); if(rs.next()) { System.out.println("Entering in to the fucntion 4"); Details dbean=new Details(); dbean.setAPPLICATION_ID(rs.getInt(1)); dbean.setAPPLICATIONNAME(rs.getString(2)); dbean.setAPPABBR(rs.getString(3)); dbean.setPRIMARYPERSON(rs.getString(4)); dbean.setPRICONTACT(rs.getInt(5)); dbean.setSECONDAEYPERSON(rs.getString(6)); dbean.setSECCONTACT(rs.getInt(7)); de.add(dbean); System.out.println("Entering in to the fucntion 1" + de); } } catch(SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return de; &#39; s lubridate合并到月份时间戳的同一个开头,而不是月末时间戳。或者在合并之前使用floor_date舍入到所有证券的月末时间戳。

ceiling date