我有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阶段,它使用月初日期而不是月末。
答案 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