This might work for you:

returnsFromInception <- sapply(1:NROW(historicalReturns), function(x){
    cumsum(historicalReturns[startOffset[1, x] : n, x])
})



On 3/16/07, Murali Menon <feanor0@hotmail.com> wrote:
>
> Folks,
>
> I have a matrix of historicalReturns, where entry (i, j) is the daily
> return
> corresponding to date i and equity j. I also have a matrix startOffset,
> where entry (1, k) is the row offset in historicalReturns where I entered
> into equity k.
>
> So we have that NCOL(startOffset) = NCOL(historicalReturns).
>
> Now I would like compute for each column in historicalReturns, the
> cumulative return 'returnsFromInception' for the equity starting from the
> startOffset date.
>
> Is there a better way than as follows:
>
>
> n <- NROW(historicalReturns)
> returnsFromInception <- matrix(nrow = 1, ncol =
> NCOL(historicalInceptionDates))
>
> for (i in 1 : NCOL(historicalReturns))
> {
>    cumReturn <- cumsum(historicalReturns[startOffset[1, i] : n, i])
>    returnsFromInception[1, i] <- cumReturn[length(cumReturn)]
> }
>
> This works for me, but seems rather inelegant, and I don't like having to
> use a matrix for returnsFromInception and startOffset, where vectors would
> work.
>
> Thanks for your help.
>
> Murali
>
> _________________________________________________________________
> It's tax season, make sure to follow these few simple tips
>
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>


-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

	[[alternative HTML version deleted]]

