Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

I have buy and sell signals,and accordingly, I artificially generate a signal series,for which,I assign 1 to every buy and -1 to every sell:

library(xts)
require(TTR)
close_series=rnorm(20,100,10)
date=seq(as.Date("2000/1/1"), as.Date("2000/1/20"), "days")
close_xts=xts(close_series,date)

x.points.buy=c(1,5,9,17)
x.points.sell=c(3,6,12,20)
buy.points=index(close_xts[x.points.buy])
sell.points=index(close_xts[x.points.sell])

signal<- xts(rep(NA,length(close_xts)),index(close_xts)) 
signal[buy.points]<-1
signal[sell.points]<--1
signal<-na.locf(signal)
returns <- ROC(close_xts,type="discrete")*signal
returns[is.na(returns)]<- 0
eq <- exp(cumsum(returns))

This is giving me returns that seem to be too good to be true,I am not able to understand the fundamental methodology on the basis of which these cumulative returns show such huge figures.Can anyone please help me to understand this?

share|improve this question
    
Help us: we need library(xts) and where can we find the function ROC? –  Richard Dec 18 '13 at 12:56
    
I don't know at the moment what ROC does, but there you spedicy discrete and in the last line you apply logic for log-returns. –  Richard Dec 18 '13 at 12:58
    
@SBS Probably there is a require(TTR) missing. ROC() calculates discrete returns and you convert back with the exponential. You should correct that. Further more, if you model the price directly, try to reduce the sigma. You could also try something like seq(100,100.95,by=0.05) just to get started... –  vanguard2k Dec 18 '13 at 15:35
    
@Richard,i have edited my post so as to include packages TTR and xts.. –  SBS Dec 19 '13 at 4:07
add comment

1 Answer 1

enter image description here

This is the equity line i got after i repeated your code. how is this good ? may be you have run with only one set of numbers. any ways here are a few things you can do to come closer to reality :

  1. take the close prices as lognormal distribution instead of a normal distribution.
  2. you are adding up the returns later on. this is only right if you have logarithmic differences instead of simple differences.
  3. run the same simulation with a lot of samples to get a distribution and then decide if it is good or bad.
  4. the fluctuations you will see in the equity line is because you have provided a huge value for the standard deviation.
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.