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

Re: [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.

AB would NOT enter any trades on such days 
(if only in the AA settings portfolio you uncheck
the "Disable trade size limit when volume is zero" box)

If you still need to detect those days to handle them in your code
a simple check for ( Volume == 0 ) on an relevant market index should address that.

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "vlanschot" <vlanschot@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Wednesday, February 13, 2008 1:47 PM
Subject: [amibroker] Re: Backtesting and Custom Metrics: How to determine HHV at date of Buy?


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


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/