

Brian,

Thanks for the tip... I'm new to R and I'm not sure which framework to choose.Т 

Say I have returns data on a 100 stocks, and I rank them using Jeff's function - which ranks in ascending order.Т 

I then want to buy the stocks which had returns above the 90% percentiles ( i.e. top decile) of the ranks, and short the stocks which had returns below the 10% Т percentile (i.e. bottom decile) of the ranks.

I'm not sure how to pass this information as weights, and thus tried the price framework of quantstrat.

Any suggestions would be helpful.

Thanks

Gaurav M


________________________________
 From: Brian G. Peterson <brian@braverock.com>

mnica.com> 
Cc: r-sig-finance <r-sig-finance@stat.math.ethz.ch> 
Sent: Saturday, March 10, 2012 5:03 PM
Subject: Re: [R-SIG-Finance] ranking xts objects


You don't need quantstrat for this, and the momentum ranking you're planning on testing isn't what quantstrat was designed for anyway.

Once you have your rankings, I think all you need is to transform your monthly rankings to weights to pass to Return.rebalancing from PerformanceAnalytics.  All your input data is in returns, and you're not really trading, just rebalancing among a specific set or constituents in your portfolio.

Regards

Brian
-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.



Jeff,
>
>Thanks a lot! It is exactly what I was looking for. I'm trying to replicate the momentum strategy described by Jegadeesh & Titman, 1993 and test it on the indian market using quantstrat, thus the decile sorts by month. The data for the ranks will be past 3/6 month returns.
>
>Thanks!
>
>Gaurav M
>
>
>>________________________________
>
>From: Jeffrey Ryan <jeffrey.ryan@lemnica.com>
>
>Cc: r-sig-finance <r-sig-finance@stat.math.ethz.ch> 
>Sent: Saturday, March 10, 2012 3:04 AM
>Subject: Re: [R-SIG-Finance] ranking xts objects
>
>I don't see exactly why you are doing this (been a long day), but I
>think you want something like after reading your question (ignoring
>your example):
>
>t(apply(data,1,rank))яПН яПН яПН яПН яПН яПН яПН # t() just makes it look more like
>the original xts
>
[[elided Yahoo spam]]
 .Close
XOM.Close GOOG.Close XLU.Close
>2005-01-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-02-28яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-03-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-04-30яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-05-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-06-30яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-07-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-08-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-09-30яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-10-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2005-11-30яПН яПН яПН яПН 2яПН яПН я[[elided Yahoo spam]]
 яПН яПН
яПН 4яПН яПН яПН яПН  1
>2005-12-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-01-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-02-28яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-03-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-04-30яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-05-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-06-30яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-07-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2006-08-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2006-09-30яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2006-10-31яПН яПН яПН яПН 1яПН яПН я[[elided Yahoo spam]]
  яПН
4яПН яПН яПН яПН  2
>2006-11-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2006-12-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2007-01-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-02-28яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-03-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-04-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-05-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-06-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-07-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2007-08-31яПН яПН яПН яПН 2яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  1
>2007-09-30яПН яПН яПН яПН 2яПН яПН я[[elided Yahoo spam]]
  4яПН
яПН яПН яПН  1
>2007-10-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-11-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2007-12-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-01-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-02-29яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-03-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-04-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-05-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-06-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-07-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-08-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН!
  яПН яПН
яПН  2
>2008-09-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-10-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-11-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2008-12-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-01-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-02-28яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-03-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-04-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-05-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-06-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-07-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4я[[elided Yahoo spam]]
  яПН 
2
>2009-08-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-09-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-10-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-11-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2009-12-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-01-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-02-28яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-03-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-04-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-05-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-06-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4я[[elided Yahoo spam]]
  2
>2010-07-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-08-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-09-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-10-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-11-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2010-12-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-01-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-02-28яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-03-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-04-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-05-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-06-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-07-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-08-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-09-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-10-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-11-30яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2011-12-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2012-01-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2012-02-29яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>2012-03-31яПН яПН яПН яПН 1яПН яПН яПН яПН  3яПН яПН яПН яПН яПН 4яПН яПН яПН яПН  2
>>
>
>Hopefully I am close, and that this helps in some way,
>Jeff
>
>ote:
>> Hi,
>>
>> I've been trying to rank stocks by month/time period. The code I have below is ranking each stock over its range, instead of going across and ranking row by row
>>
>>
>>
>> symbols= c("GE","XOM","GOOG","XLU")
>> getSymbols(symbols, src='yahoo', index.class=c("POSIXt","POSIXct"), from='2005-01-01')
>>
>> for(symbolinsymbols) {
>> яПН яПН x<-get(symbol)
>> яПН яПН x<-to.monthly(x,indexAt='lastof',drop.time=TRUE)
>> яПН яПН indexFormat(x)<-'%Y-%m-%d'
>> яПН яПН colnames(x)<-gsub("x",symbol,colnames(x))
>> яПН яПН assign(symbol,x)
>> }
>>
>> data<-cbind(Cl(GE),Cl(XOM),Cl(GOOG),Cl(XLU))
>>
>> NewVar<-cut(x,quantile(x,(0:10)/10),include.lowest=TRUE)
>>
>>
>>
>> How do I modify this so that I get the ranks for each time stamp?
>>
>> Thanks!
>>
>> Gaura!
 v M
>> яПН яПН яПН яПН[[alternative HTML version deleted]]
>>
>>
>>
>________________________________
>
>> R-SIG-Finance@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>> -- Subscriber-posting only. If you want to post, subscribe first.
>> -- Also note that this is not the r-help list where general R questions should go.
>
>
>
>-- 
>Jeffrey Ryan
>jeffrey.ryan@lemnica.com
>
>www.lemnica.com
>www.esotericR.com
>
>R/Finance 2012: Applied Finance with R
>www.RinFinance.com
>
>[[elided Yahoo spam]]
>[[alternative HTML version deleted]]
>
>>________________________________
>
>R-SIG-Finance@r-project.org mailing list
>https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>-- Subscriber-posting only. If you want to post, subscribe first.
>-- Also note that this is not the r-help list where general R questions should go.
	[[alternative HTML version deleted]]

