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

RE: [amibroker] A challenge for Al Venosa...



PureBytes Links

Trading Reference Links






<SPAN 
class=359291602-20062003><FONT 
face=Arial>Chuck,
<SPAN 
class=359291602-20062003><FONT 
face=Arial> 
<SPAN 
class=359291602-20062003>Not knowing exactly what you need, 
here is a way to determine the number of years from 1985 
the
<SPAN 
class=359291602-20062003>quote 
is:
<SPAN 
class=359291602-20062003><FONT 
face=Arial> 
<FONT 
face="Arial Black" 
color=#0000ff>yearsFrom85=int(datenum()*.0001)-85;
 
<FONT 
face=Arial>And I'm guessing that you just get your 1985 base volume and add it 
to the yearly Increment * years from85;
<FONT 
face=Arial> 
<SPAN 
class=359291602-20062003>        <FONT 
face="Arial Black" color=#0000ff>currentQuoteVol=    base85Vol+ 
(yearsFrom85 * yearlyIncrement);
<FONT 
face=Arial> 
<FONT 
face=Arial>Then apportion the min and max for your filter as a 
ratio:
<FONT 
face=Arial> 
<SPAN 
class=359291602-20062003>  <FONT face="Arial Black" 
color=#0000ff>      MinFilter=currentQuoteVol * 
.9;
<FONT 
face="Arial Black" color=#0000ff>        
MaxFilter=currentQuoteVol* 1.1;<FONT 
size=2><FONT 
face="Times New Roman"> 
<SPAN 
class=359291602-20062003> 
<SPAN 
class=359291602-20062003>Maybe that woud do it??
<SPAN 
class=359291602-20062003>I'm sorry but I don't have the data to test 
it....
<SPAN 
class=359291602-20062003> 
<SPAN 
class=359291602-20062003>                            
Walt

  <FONT 
  size=2> 
  <FONT 
  size=2> -----Original 
  Message-----From: Chuck Rademacher 
  [mailto:chuck_rademacher@xxxxxxxxxx]Sent: Thursday, June 19, 2003 
  9:55 PMTo: amibroker@xxxxxxxxxxxxxxxSubject: RE: 
  [amibroker] A challenge for Al Venosa...
  I don't think it is necessary 
  to get into looping.   The code snippet below is just about 
  there.  I just need to think about how to do the normalising.  I'll 
  get out my bible (Kaufman's book) and have a look.   He always comes 
  to my rescue.
  <BLOCKQUOTE 
  >
    -----Original 
    Message-----From: Al Venosa 
    [mailto:advenosa@xxxxxxxxxxxx]Sent: Thursday, June 19, 2003 9:50 
    PMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: 
    [amibroker] A challenge for Al Venosa...
    Chuck, 
     
    I knew I'd get myself into deep doo-doo by answering your first 
    question. Even though I've owned AB for more than 1.5 years, I still 
    consider myself a rank beginner when it comes to AFL. There are lots more 
    folks out there much more astute than I am who could probably give you the 
    proper code. To increment each year, you probably need a For loop, which I 
    plead ignorance on. I believe you want to filter on TODAY'S stocks from a 
    minimum volume of 200,000 to a maximum volume of 500,000. So, you have 
    already defined TodaysFilter, which is:
     
    TodaysFilter = V>MinFilter AND < MaxFilter;
     
    What you really need to define is LastYearsFilter, and then the 
    yearbeforelast's, and so on. Each of those years' volumes is normalized to 
    the average volume 4500 bars ago. Sorry, I don't know the answer, but I'm 
    sure someone with intimate knowledge of For loops will speak up. I'm much 
    more of a lurker than a major contributor to this forum. Every once in 
    awhile, I emerge from hibernation and contribute something, but when it 
    comes to code, I usually let others take the lead. 
     
    AV
    <BLOCKQUOTE 
    >
      ----- Original Message ----- 
      <DIV 
      >From: 
      <A title=chuck_rademacher@xxxxxxxxxx 
      href="">Chuck Rademacher 
      To: <A 
      title=amibroker@xxxxxxxxxxxxxxx 
      href="">amibroker@xxxxxxxxxxxxxxx 
      
      Sent: Thursday, June 19, 2003 8:42 
      PM
      Subject: [amibroker] A challenge for 
      Al Venosa...
      
      <FONT 
      face=Arial>Al,
      <FONT 
      face=Arial> 
      How about writing an 
      AFL statement to do the normalising for me?
      <FONT 
      face=Arial> 
      It would look 
      something like this:
      <FONT 
      face=Arial> 
      x = 
      ma(WilshireVolume,245);                      
      //  245 is approximately a year.... not critical
      y = 
      ref(ma(WilshireVolume,245),-4500);    // 4,500 is an 
      approximately how far back I want to look
      <FONT 
      face=Arial> 
      maxFilter = 
      500000;
      minFilter = 
      200000;
      <FONT 
      face=Arial> 
      TodaysFilter = 
      (                                                     
      );
      <FONT 
      face=Arial> 
      <FONT 
      face=Arial> 
      I finished four of 
      the lines.  If you could finish the fifth line, it would be 
      fantastic.
      <BLOCKQUOTE 
      >
        -----Original 
        Message-----From: Al Venosa 
        [mailto:advenosa@xxxxxxxxxxxx]Sent: Thursday, June 19, 2003 
        8:21 PMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: 
        [amibroker] Historical volume filtering
        Chuck,
         
        I, too, have often wondered how to apply a volume filter to the 
        distant past. What you suggest makes sense. However, it might be a 
        little more accurate if you normalized annual volume of the NYSE to 1985 
        and then increased your multiplier each year by the incremental increase 
        (or decrease) in volume for the next year. So, each year there would be 
        a different multiplier applied to your filter (starting with 1985 being 
        1). Also, why limit it to the NYSE? If you trade NASDAQ stocks, do the 
        same for them. Or, how about the Wilshire 5000 for the entire market? 
        
         
        Of course, this brings on the next question. If you also filter on 
        stocks with a price > $20/share, for example, how do you handle stock 
        splits over the years? A $20 stock today might be $0.20/share or less 
        back in 1985. Any ideas along these lines? 
         
        Al Venosa
        <BLOCKQUOTE 
        >
          ----- Original Message ----- 
          <DIV 
          >From: 
          <A title=chuck_rademacher@xxxxxxxxxx 
          href="">Chuck Rademacher 
          To: <A 
          title=amibroker@xxxxxxxxxxxxxxx 
          href="">amibroker@xxxxxxxxxxxxxxx 
          
          Sent: Thursday, June 19, 2003 
          8:01 PM
          Subject: [amibroker] Historical 
          volume filtering
          
          <FONT face=Arial color=#0000ff 
          size=2>I was about to send this email to "b", but I would welcome 
          comments from anyone else interested in such historical 
          work.  
          <FONT face=Arial color=#0000ff 
          size=2> 
          <FONT face=Arial color=#0000ff 
          size=2>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.
          <FONT face=Arial color=#0000ff 
          size=2> 
          <FONT face=Arial color=#0000ff 
          size=2>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.   
          <FONT face=Arial color=#0000ff 
          size=2> 
          <FONT face=Arial color=#0000ff 
          size=2>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.
          <FONT face=Arial color=#0000ff 
          size=2> 
          <FONT face=Arial color=#0000ff 
          size=2>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.
          <FONT face=Arial color=#0000ff 
          size=2> 
          <SPAN 
          class=742013523-19062003>I 
          welcome comments from anyone with an interest or knowledge in this 
          area.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. 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. 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. 
      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. 
    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


  ADVERTISEMENT 









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.