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

[amibroker] Re: Historical volume filtering



PureBytes Links

Trading Reference Links

Chuck,

Now I understand.

I totally underestimated the breadth and sophistication of your
historical database. You obviously have significant time and financial
resources tied up in maintaining your database. 

> 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.<

How do you accomplish the above? With two seperate db's... one with
actual price/vol to filter against and create a watchlist, and then a
split-adjusted db that you use the watch list against, ignoring
price/vol metrics since that has already been taken care of in the 1st
scan?

And frankly, I never gave much thought to the effect that
split-adjusted data might have on price/volume filters in backtest
systems.

Thanks for the insight. Very impressive.

Phsst 
--- In amibroker@xxxxxxxxxxxxxxx, "Chuck Rademacher"
<chuck_rademacher@x> wrote:
> Whew... at last someone asked the question.
> 
> Phsst asked me:   if you really use non-split adjusted data, how do you
> account for stock splits in your
> backtest 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?
> 
> I've actually commented on this previously, but I always felt like the
> explanation got lost in the shuffle.
> 
> 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:
> 
> 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.
> 
> 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.
> 
> Volumes, as shown in most data vendor's databases are off by the same
> magnitude.
> 
> How can anyone possibly use backadjusted prices and/or volumes for
> filtering?
> 
> 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.
> 
> 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.
> 
> 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.
> 
> 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.
> 
> 
> 
> 
> 
>   -----Original Message-----
>   From: Phsst [mailto:phsst@x...]
>   Sent: Saturday, June 21, 2003 12:24 AM
>   To: amibroker@xxxxxxxxxxxxxxx
>   Subject: [amibroker] Re: Historical volume filtering
> 
> 
>   Chuck,
> 
>   I've been keeping 'grandkids on steroids' today, so I am a little
>   punch-drunk. I've read all the posts on this thread and have a couple
>   of comments.
> 
>   Your database goes back to '85. As I relate to my own situation, my
>   average Positionsize in '85 was only a fraction of my Positionsize
>   today. I've been backtesting since the late 80's, and have used VOLUME
>   for two (2) purposes... (1) to gauge price action, and (2) to gauge
>   liquidity as it related to MY POSITION SIZE. On the second count, as
>   my personal positionsize increased, so did the average volume in the
>   markets.
> 
>   As mentioned in subsequent posts on this subject, I've filtered both
>   my backtests and my actual trades based upon a volume multiple of my
>   Positionsize as opposed to x# of shares traded per day, irrespective
>   of price.
> 
>   You and I have both stated that we backtest based upon 'fixed position
>   size'. And yet other people are not able to relate to that. They seem
>   to think that everyone 'compounds' their trades on a daily basis
>   depending upon their account size growth or demise as a direct result
>   of trading results. The truth (for me)  is a compromise... As my
>   account size grows(whether thru trade profits or savings) I gradually
>   increase my Positionsize, but it is not directly proportional to
>   trading success.
> 
>   So in my mind, increases in actual market trading volume are just
>   about proportional to increases in my own account size, and are
>   therefore a 'non-issue'.
> 
>   Another issue for me is your multiple posts relating to prefering
>   non-split adjusted data.
> 
>   Every time you've mentioned your preference for 'non-split adjusted
>   data', I've chosen to ignore the subject rather than to open it up as
>   an issue.
> 
>   But it is time to ask the crucial question... if you really use
>   non-split adjusted data, how do you account for stock splits in your
>   backtest results where a 2 for 1, or 3 dor 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?
> 
>   Just curious.
> 
>   Phsst
> 
> 
> 
> 
> 
>   groups.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 message
>   to this
>   > group saying that I always use one set of parameters across all
>   stocks 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, goes
>   through
>   > cycles and volume just keeps growing.
>   >
>   > The question that I have involves volume filtering.   To me, it is
>   essential
>   > that volume filters be applied to actual volume and not backadjusted
>   volume.
>   > 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 and
>   early
>   > 90's.
>   >
>   > I have a solution in mind and would appreciate some input or
>   dialogue 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 volume
>   today is
>   > ten times more than it was in 1985.   If I decide to filter today at
>   300,000
>   > shares, wouldn't it make sense to filter based on 30,000 shares in
>   1985.   I
>   > can probably answer that question myself by saying that I don't
>   think 30,000
>   > would be an adequate filter in 1985.   But I could scale it from
>   100,000 to
>   > 300,000 progressively between 1985 and 2003 based on mathematical
>   equation.
>   >
>   > 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 a
>   proposed
>   > system would have performed over a statistically meaningful period
>   of time.
>   > You can argue about the relevance of such information, but THEY
>   EXPECT 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 this
>   area.
> 
> 
>         Yahoo! Groups Sponsor
> 
> 
> 
>   Send BUG REPORTS to bugs@xxxx
>   Send SUGGESTIONS to suggest@xxxx
>   -----------------------------------------
>   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.


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading! Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/GHeqlB/TM
---------------------------------------------------------------------~->

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 http://docs.yahoo.com/info/terms/