[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] Re: Historical volume filtering



PureBytes Links

Trading Reference Links




<FONT face=Arial color=#0000ff 
size=2>Whew... at last someone asked the question.
<FONT face=Arial color=#0000ff 
size=2> 
Phsst 
asked me:   if you 
really use non-split adjusted data, how do you account for stock splits in 
yourbacktest results where a 2 for 1, or 3 for 2, or 4 for 5 stock split has 
occurred. For example if your system generates a trade when the stock price is 
at 50, and a 2 for 1 split occurs dropping the price to 25 (reducing your 
position by one-half), how in the heck do you account for the price reduction 
which did not REALLY account for a loss in your 'real life account' but which 
devasted your backtest results?
<FONT 
face="Courier New" color=#000000 size=3> 
<FONT 
face="Courier New" color=#000000 size=3>
I've 
actually commented on this previously, but I always felt like the explanation 
got lost in the shuffle.
<FONT face=Arial color=#0000ff 
size=2> 
For 
filtering purposes, I use ACTUAL prices and ACTUAL volumes.  To me, 
anything else is a waste of time.   I've given hundreds examples on 
this board, but I will give some here for completeness:
<FONT face=Arial color=#0000ff 
size=2> 
DELL 
was actually trading at $9.12 on 19880817.   I'm sure you are showing 
a price of $0.09 or somthing similar in your data.
<FONT face=Arial color=#0000ff 
size=2> 
YHOO 
was actually trading at $33.00 on 19960412.   I'm sure you are showing 
a price of $2.75 or something similar in your data.
<FONT face=Arial color=#0000ff 
size=2> 
<FONT face=Arial color=#0000ff 
size=2>Volumes, as shown in most data vendor's databases are off by the same 
magnitude.
<FONT face=Arial color=#0000ff 
size=2> 
How 
can anyone possibly use backadjusted prices and/or volumes for 
filtering?
<FONT face=Arial color=#0000ff 
size=2> 
Now, 
to answer your direct question.   While I use actual prices and 
volumes for filtering, I use backadjusted prices for all trading 
calculations.  As you suggest, that's the only way to compensate for 
splits, dividends, cash payouts, etc. when calculating indicators and/or profit 
and losses once you actually trade the stock.
<FONT face=Arial color=#0000ff 
size=2> 
Here 
again, the accuracy of the data is paramount.  Many stocks are backadjusted 
to the point where most data suppliers might show a stock trading for $0.10 for 
almost a month.   Two decimal digits simply isn't accurate 
enough.   My database carries eight decimal digits for the 
backadjusted data.   That way, I can see that a stock went from 
0.10000000 to 0.10600000 to 0.10900000, etc.    These are huge 
moves that disappear in the data of most data vendors.
<FONT face=Arial color=#0000ff 
size=2> 
Are 
you aware, for instance, that VectorVest rounded backadjusted prices to the 
nearest ten cents in some of its early data?   It's bad enough that 
the data is stored with only two decimal digits, but to the nearest ten 
cents?    Useless.
<FONT face=Arial color=#0000ff 
size=2> 
I hope 
that answers your question and I'm relieved that someone actually asked 
it.   I'm afraid that I can not apologise for being so pedantic when 
it comes to the accuracy of data.
<FONT face=Arial color=#0000ff 
size=2> 

<FONT face=Arial color=#0000ff 
size=2> 
<FONT face=Arial color=#0000ff 
size=2> 
<BLOCKQUOTE 
>
  <FONT face="Times New Roman" 
  size=2>-----Original Message-----From: Phsst 
  [mailto:phsst@xxxxxxxxx]Sent: Saturday, June 21, 2003 12:24 
  AMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker] Re: 
  Historical volume filteringChuck,I've been 
  keeping 'grandkids on steroids' today, so I am a littlepunch-drunk. I've 
  read all the posts on this thread and have a coupleof 
  comments.Your database goes back to '85. As I relate to my own 
  situation, myaverage Positionsize in '85 was only a fraction of my 
  Positionsizetoday. I've been backtesting since the late 80's, and have 
  used VOLUMEfor two (2) purposes... (1) to gauge price action, and (2) to 
  gaugeliquidity as it related to MY POSITION SIZE. On the second count, 
  asmy personal positionsize increased, so did the average volume in 
  themarkets. As mentioned in subsequent posts on this subject, I've 
  filtered bothmy backtests and my actual trades based upon a volume 
  multiple of myPositionsize as opposed to x# of shares traded per day, 
  irrespectiveof price.You and I have both stated that we backtest 
  based upon 'fixed positionsize'. And yet other people are not able to 
  relate to that. They seemto think that everyone 'compounds' their trades 
  on a daily basisdepending upon their account size growth or demise as a 
  direct resultof trading results. The truth (for me)  is a 
  compromise... As myaccount size grows(whether thru trade profits or 
  savings) I graduallyincrease my Positionsize, but it is not directly 
  proportional totrading success.So in my mind, increases in actual 
  market trading volume are justabout proportional to increases in my own 
  account size, and aretherefore a 'non-issue'.Another issue for me 
  is your multiple posts relating to preferingnon-split adjusted 
  data.Every time you've mentioned your preference for 'non-split 
  adjusteddata', I've chosen to ignore the subject rather than to open it up 
  asan issue.But it is time to ask the crucial question... if you 
  really usenon-split adjusted data, how do you account for stock splits in 
  yourbacktest results where a 2 for 1, or 3 dor 2, or 4 for 5 stock 
  splithas occurred. For example if your system generates a trade when 
  thestock price is at 50, and a 2 for 1 split occurs dropping the price 
  to25 (reducing your position by one-half), how in the heck do 
  youaccount for the price reduction which did not REALLY account for 
  aloss in your 'real life account' but which devasted your backtest 
  results?Just curious.Phsstgroups.com, 
  "Chuck Rademacher" <chuck_rademacher@x> wrote:> I was about to 
  send this email to "b", but I would welcome comments from> anyone else 
  interested in such historical work.> > At the risk of having 
  some of you ask why it matters, my backtesting> generally goes back to 
  1985.    Just yesterday, I posted a messageto this> 
  group saying that I always use one set of parameters across allstocks 
  and> across all timeframes.   One of the downsides of this 
  approach(perhaps) is> that volume has changed over 
  time.   I suppose that one could argue that> volatility 
  changes over time as well.   Volatility, however, 
  goesthrough> cycles and volume just keeps growing.> > 
  The question that I have involves volume filtering.   To me, it 
  isessential> that volume filters be applied to actual volume and 
  not backadjustedvolume.> My concern, however, is that if I apply a 
  filter requiring an average of> 300,000 shares, I don't get very many 
  hits back in the late 80's andearly> 90's.> > I have 
  a solution in mind and would appreciate some input ordialogue on 
  the> subject.    It seems to me that volume filtering 
  should be based on some> percentage of the total volume of all NYSE 
  stocks (for instance).   I> haven't done my homework yet, but 
  let's say that the average volumetoday is> ten times more than it 
  was in 1985.   If I decide to filter today at300,000> 
  shares, wouldn't it make sense to filter based on 30,000 shares 
  in1985.   I> can probably answer that question myself by 
  saying that I don'tthink 30,000> would be an adequate filter in 
  1985.   But I could scale it from100,000 to> 300,000 
  progressively between 1985 and 2003 based on mathematicalequation.> 
  > You may ask why backtesting to 1985 (or any other date) is 
  important.> There are dozens of reasons, but the most important reason 
  to me is that> prospective investors in any funds that I manage want to 
  see how aproposed> system would have performed over a statistically 
  meaningful periodof time.> You can argue about the relevance of 
  such information, but THEYEXPECT TO> SEE IT.   For the 
  record, I also think that it is very important.> > I welcome 
  comments from anyone with an interest or knowledge in 
  thisarea.Send 
  BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor












Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.