KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I think there will be much more people interested into this subject. I have some specific task to do in the most efficient way. My base data are: - time indices of buy and sell signals - on the diag of time indicies I have ROC (rate of change) between closest buy-sell pairs: r <- array(data = NA, dim = c(5, 5), dimnames = list(buy_idx = c(1,5,9,12,16), sell_idx = c(3,7,10,14,19))) diag(r) <- c(1.04,0.97,1.07,1.21,1.1) The task is to generate moving compound ROC on every possible window (buy-sell pairs), and the way I'm solving my task currently: for(i in 2:5){ r[1:(i-1),i] <- r[1:(i-1),i-1] * r[i,i] } Until I'm not looping it somewhere upper, the time of my solution is very acceptable. Is there a way to change this loop to vectorized solution? Are there any good well documented tutorials to learn vectorized type of thinking in R? - it would be much more valuable than one time solution! edit 20130709: Next task highly related to previous task/example. Apply tax value on each transaction (tax in % values). Current solution: diag(r[,]) <- diag(r[,]) * ((1-(tax/100))^2) for(i in 2:dim(r)[2]){ r[1:(i-1),i] <- r[1:(i-1),i] * ((1-(tax/100))^(2*(i:2))) } Do you know any more efficient way? or more correct if this doesn't handle everything.
Tags (comma-separated)
Save Edits
Cancel