robdavis 69 posts msg #32811 - Ignore robdavis |
8/10/2004 5:23:23 PM
Yepher,
I'd like to welcome you. I know all of us are happy that you are contributing to this thread.
Your test results look very promising. You've got something good. I do like the idea that we can get back test results directly from you; this way we won't have to do any potentially time-consuming manual back testing.
> "Results For","Sample Size", "Overall","Adv #","Adv %","Dec #","Dec %","Unch","IXIC","DJIA"
> Average 1 Day, 299, 0.16, 15.29, 2.06, 15.86, -1.81, 0.56, .04, 0.04
The "results for average 1 day" part seems clear to me. But I also wonder if you could elaborate on what the other 9 column headers are. For example, "sample size" means the number of stocks, i.e. 299 stocks? And "overall" is 0.16 what? An absolute value of a dollar amount, or a signed value of a dollar amount, and is it a drop (with a minus sign), or gain (with a plus sign), or is it a percentage(%)?
> My interpertation of the results are, this filter will have a tendency to produce the same number of Longs as Shorts (actually a few more longs) but the Longs will have a tendency to have a higher % change on average.
I believe we can easily minimize the number of longs, and at the same time maximize the number of shorts, by filtering for the highest RelativeVolume stock(s).
> I don't really agree how SF generates it's Performace results since the buy is the close price of the trigger day so actual results are probably very different.
I believe we can get pretty close to realistic numbers -- please view the most recent filter I posted -- by shorting at the open; not at the close.
I hope this helps.
Rob
|
robdavis 69 posts msg #32812 - Ignore robdavis |
8/10/2004 5:56:58 PM
C,
It is good to see your post!
> and therefore either the 3-day or 4-day average could replace the "count()" function we've been using so far.
> Which count()? I don't see how the average volume has anything to do with the count()'s...
Sorry, I was referring to the following six lines of the script:
and set {v, average volume(90)* 1.2}
and set {x, count(volume above volume 1 day ago, 1) * 2}
and set {y, count(volume above v, 3)}
and set {z, x + y}
and z is above 4.9
and z 1 day ago is above 4.9
The idea was that perhaps a simple 3 or 4-day average volume could replace all these six lines of script we've been using so far. The idea was a combination of improvement of profits and simplification at the same time.
> Also, I take it you're interested in short-term shorting, which would be the reason for changing the filter to only go back 6 days ago (as well as to look at recent data). Right?
Right; partly because of short-term shorting; and partly because it was my attempt to try to make a seemingly complex set of data a bit more readable for everyone who reads this thread. On a side note, I'd like to emphasize that there's nothing sacred about 5 (or 6) days. Guys, feel free to change this number to 10, 20, or even 30, and even when you do, it's still going to be pretty much the same filter, after this minor modification.
> Lastly, remember the ENTIRE market TANKED over the past few days, so I'm sure many of the great returns that include last Thursday and/or Friday are probably due to market action as much as - or more than - the fundamentals of the given stock. (JMHO) How's this filter work in an UP market??
Good point. The best back testing would be testing in an up-market, i.e. when the broader market, i.e. Russell 5000, or S&P 500 advanced most successfully over a period of 6 (or 10, 20, or even 30) days, respectively. As to back testing, we could use the help of Yepher.
I hope this helps.
Rob
|
cegis 235 posts msg #32814 - Ignore cegis |
8/11/2004 10:26:26 AM
Guys,
Just a reminder that the use of "days ago" in my (and subsequently revised) filter(s) is just an alternative to using "offset __ days". The difference is that you have "future" days' data available to you when you use "days ago". Hence, you can calculate performance in just about any manner that you choose. For a "worst case" scenario, use the next day's high as the entry price, and the ending day's low as the exit price. Or, if your trading style is to enter at open, and exit at close, then you can use those values to calculate your performance. If you want "typical", and assume you enter and exit at the day's midpoint, you can do that, too!
If you will only be in a position for a very short period of time, feel free to use "5 days ago" (or similar). If you might a want longer term position, or if you're curious if holding longer would be better or worse than short term, use "25 days ago" (or similar) and make the comparison.
You can also get index comparisons by using the ind() function: ind(^IXIC, close 5 days ago) [I think using "days ago" here will work...]
I guess my point is that using the "days ago" phrase for the purpose of backtesting (which is all we're doing here, folks) opens up a WHOLE LOT of options!
Rob, Thanks for the clarifications. I think you'd need to play with using the average volume as opposed to the count()s. I think you're making a fundamentally different filter if you do the replacement. JMHO.
As always, HTH.
C
|