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

[amibroker] Re: Referencing the backtested portfolio equity in the buy formula



PureBytes Links

Trading Reference Links

Hi,

If I understand your scenario correctly. You don't have to worry 
about it, because AmiBroker will not allow you to place an order for 
a value greater than you actually have available in your account. 
Just select the "Allow position size shrinking" checkbox from the AA 
settings window, then set your position size based on your volume 
calculations. AmiBroker will scale down as necessary when your 
calculations exceed your equity.

Otherwise, as explained by Graham, if you are backtesting over more 
than a single symbol, then you can access the equity from within 
custom backtester code.

e.g.

SetBacktestMode(backtestRegularRaw);
SetCustomBacktestProc("");

if (Status("action") == actionPortfolio) {
  bo = GetBacktesterObject();
  bo.PreProcess();

  for (bar = 0; bar < BarCount; bar++) {
    for (sig = bo.GetFirstSignal(bar); sig; sig = bo.GetNextSignal
(bar)) {
      ... // Make any adjustment to sig.PosSize that you want using 
bo.Equity in your calculations.
      ... // If you need access to the symbol for Volume, etc. use 
Foreign(sig.Symbol, "V").
    }

    bo.ProcessTradeSignals(bar);
  }

  bo.PostProcess();
} 

Mike

--- In amibroker@xxxxxxxxxxxxxxx, "zozuzoza" <zozuka@xxx> wrote:
>
> I tried this but doesn't work.
> PositionSize = Min(Foreign("~~~EQUITY", "C"),MA(C,5)*MA(V,5)/50);
> It is a portfolio backtest.
> The question remains. How is it possible for the positionsize to 
> follow the equity AND also limit the positionsize by the volume?
> 
> --- In amibroker@xxxxxxxxxxxxxxx, Graham <kavemanperth@> wrote:
> >
> > For a portfolio backtest the only place is in the positionsizing 
as
> > that is only used during the portfolio backtest pass
> > If it is a single symbol backtest then you can use Equity().
> > If you need to determine trade entries or exits based on portfolio
> > equity value then you need to use the advanced backtest code to 
> change
> > the trade values.
> > 
> > -- 
> > Cheers
> > Graham Kav
> > AFL Writing Service
> > http://www.aflwriting.com
> > 
> > 
> > 
> > 2008/5/30 zozuzoza <zozuka@>:
> > > Is there any way to reference the portfolio equity
> > > Foreign("~~~EQUITY", "C") in the buy formula itself?
> > >
> > > I guess that the portfolio equity is available after running the
> > > backtest so it cannot be referenced in the buy formula itself.
> > >
> > > I've checked the AddToComposite stuff but it is not clear how 
it 
> can
> > > be done.
> > >
> > > Is there a simple solution for this? Thank you.
> > >
> > >
> > > ------------------------------------
> > >
> > > 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/