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

[amibroker] Re: Backtesting and Custom Metrics: How to determine HHV at date of Buy?



PureBytes Links

Trading Reference Links

But that doesn't solve the non-trading (holi)days during the work-
week which differ per market, nor does it facilitate MENA-region 
markets where they trade from Sunday to Thursday, etc.

I don't want to be a pain, it's just something I'm confronted with, 
and always need to 1) point out as one of the caveats in my BT-
results, or 2) adjust in my AFL-code (by excluding those dates per 
market, which IS a pain).

PS
--- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> 
wrote:
>
> How about using artificial ticker that just holds all Mon-Fri days?
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message ----- 
> From: "vlanschot" <vlanschot@xxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Wednesday, February 13, 2008 12:41 PM
> Subject: [amibroker] Re: Backtesting and Custom Metrics: How to 
determine HHV at date of Buy?
> 
> 
> > Thanks Tomasz,
> > 
> > There remains one problem with this, at least as far as I'm aware 
and 
> > as far as it concerns my situation: I look at multiple 
international 
> > markets with different trading dates (i.e. holidays). I therefore 
> > need to "pad&align" to various "benchmarks" at the same time, 
> > depending on what market the particular symbol trades. Therefore 
my 
> > obvious request: can this be expanded?
> > 
> > Thx,
> > 
> > PS
> > 
> > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> 
> > wrote:
> >>
> >> For what is worth: it is best to use Pad and align option in the 
> > AA  Settings 
> >> whenever you use portfolio backtest. Then you get consistent 
> > results all the time
> >> regardless of data holes and you don't need to do any ATC.
> >> 
> >> Best regards,
> >> Tomasz Janeczko
> >> amibroker.com
> >> ----- Original Message ----- 
> >> From: "vlanschot" <vlanschot@>
> >> To: <amibroker@xxxxxxxxxxxxxxx>
> >> Sent: Wednesday, February 13, 2008 12:30 PM
> >> Subject: [amibroker] Re: Backtesting and Custom Metrics: How to 
> > determine HHV at date of Buy?
> >> 
> >> 
> >> > Sorry to jump in here, GP, but instead of ATC, can I not get 
to 
> > the 
> >> > HHV via:
> >> > 
> >> > for( trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade
> > () ) 
> >> > {
> >> > TradeName=trade.symbol;
> >> > 
> >> > HiHiV20 = HHV(Foreign(TradeName,"C"),20);
> >> > 
> >> > . . . .
> >> > }
> >> > 
> >> > I've always done it like this, but wonder whether this 
alignment 
> > is 
> >> > an issue then ???
> >> > 
> >> > PS
> >> > 
> >> > --- In amibroker@xxxxxxxxxxxxxxx, "gp_sydney" <gp.investment@> 
> >> > wrote:
> >> >>
> >> >> One issue you have is that by calculating the HHV in the 
custom
> >> >> backtest procedure, the results may not be the same as if it 
were
> >> >> calculated in the main AFL code. That's because the Foreign 
> > function
> >> >> aligns the stock to the bar dates of the backtester, and 20 
> > custom
> >> >> backtest bars may not be the same as 20 bars of the original 
> > stock
> >> >> chart. To get around that, you need to calculate HHV in the 
main 
> > AFL
> >> >> and then pass it to the backtester using AddToComposite.
> >> >> 
> >> >> To then get the values you want on the entry dates, you could 
> > just
> >> >> note the value on each entry date as the entries are 
processed,
> >> >> storing them in dynamic variables or possibly in a writeable 
> > unused
> >> >> field of the Trade object. Otherwise, as you run through the 
> > closed
> >> >> trades, you could get the entry date/time and search for that
> >> >> date/time in the relevant HHV array (using Foreign again to 
get 
> > the
> >> >> HHV array).
> >> >> 
> >> >> For the price a certain number of bars from the entry date, 
you 
> > have
> >> >> the same problem of bar realignment in the custom backtester. 
If
> >> >> you've removed redundant buy signals in the main AFL code, 
you 
> > could
> >> >> perhaps create a BarsSince(Buy) array, pass that to the custom
> >> >> backtester as an ATC, and use that to find which bar in the 
> > custom
> >> >> bactester is the correct number of bars from the buy 
(assuming 
> > it's
> >> >> after the buy date and not before).
> >> >> 
> >> >> Regards,
> >> >> GP
> >> >> 
> >> >> 
> >> >> --- In amibroker@xxxxxxxxxxxxxxx, "justjuice200" 
<justjuice200@> 
> >> > wrote:
> >> >> >
> >> >> > I know this should be simple, but can't figure out how to 
code 
> > it 
> >> > in
> >> >> > AFL.  Many thanks in advance.
> >> >> > 
> >> >> > I want to add some custom metrics to the backtest report.  
For 
> >> > each
> >> >> > trade, I want to show two things:
> >> >> > 1) a 20-bar HHV at the date of the buy
> >> >> > 2) a price at a certain number of bars away from the date 
of 
> > the 
> >> > buy.
> >> >> > 
> >> >> > So far what I have is the following (and not sure I'm on 
the 
> > right
> >> >> > track either):
> >> >> > 
> >> >> > if (Status("action") == actionPortfolio){
> >> >> >      bo=GetBacktesterObject();
> >> >> >      bo.Backtest(1);
> >> >> > 
> >> >> > for (trade = bo.GetFirstTrade(); trade; trade = 
bo.GetNextTrade
> > ())
> >> > {
> >> >> >              ticker=trade.Symbol();
> >> >> >              symbolPriceArray=Foreign(ticker, "C", 1);
> >> >> >              Dateoftrade=trade.EntryDateTime();
> >> >> >              BarNumOfTrade=....some Code Here...
> >> >> >              myHigh=HHV(symbolPriceArray,20)/*Also need 
some 
> > way 
> >> > to
> >> >> > define the
> >> >> >                      HHV with reference to the date of the 
> > buy*/
> >> >> > 
> >> >> >              CloseTenDaysAgo=symbolPriceArray[BarNumOfTrade-
> > 10];
> >> >> > 
> >> >> >          }
> >> >> > 
> >> >> >          bo.ListTrades();
> >> >> > 
> >> >> > }
> >> >> >
> >> >>
> >> > 
> >> > 
> >> > 
> >> > 
> >> > Please note that this group is for discussion between users 
only.
> >> > 
> >> > To get support from AmiBroker please send an e-mail directly 
to 
> >> > SUPPORT {at} amibroker.com
> >> > 
> >> > For NEW RELEASE ANNOUNCEMENTS and other news always check 
DEVLOG:
> >> > http://www.amibroker.com/devlog/
> >> > 
> >> > For other support material please check also:
> >> > http://www.amibroker.com/support.html
> >> > 
> >> > Yahoo! Groups Links
> >> > 
> >> > 
> >> >
> >>
> > 
> > 
> > 
> > 
> > Please note that this group is for discussion between users only.
> > 
> > To get support from AmiBroker please send an e-mail directly to 
> > SUPPORT {at} amibroker.com
> > 
> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> > http://www.amibroker.com/devlog/
> > 
> > For other support material please check also:
> > http://www.amibroker.com/support.html
> > 
> > Yahoo! Groups Links
> > 
> > 
> >
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/