PureBytes Links
Trading Reference Links
|
In an ideal world ie in a PP situation
we would have no drawdown and 100% winrate.
But I think PP would have the same no of trades, and roughly the same
exposure as the real system. So I'm not sure if I understand what you
meant by "the most profitable trading delta/frequency" Would you like
to elaborate?
/Paul.
--- In amibroker@xxxxxxxxxxxxxxx, Dennis Brown <see3d@xxx> wrote:
>
> > Now a few questions to both Thomas and Dennis
> > What kind of insights can one obtain with this comparsion? and
How do
> > you intend to use it? And would you mind post some of your
findings?
> >
> > Cheers
> > Paul.
>
> Paul,
>
> The first insights are just the normal ones around the most
profitable
> trading delta/frequency. I also use this as the denominator to
> determine the relative efficiency of a system relative to what the
> market is offering, and to determine the shifting nature of the
market
> over time. I use it with broad market indexes, not individual
> issues. I am still experimenting with it to discover new ways to
use
> this information.
>
> BR,
> Dennis
>
>
> On May 16, 2008, at 11:20 PM, Paul Ho wrote:
>
> > Thomas
> > I think the model efficency can be calculated in the CBT without
> > directly getting PP, This can be done by obtaining the Theoretical
> > buy point (tbp) around the actual buy point, and obtaining tsp
around
> > the sell point.
> > The tbp can happen either before or just after the buy point.
> > first look at the before scenario, you can either use trough or
LLV
> > function. the problem with the trough function is that the low
> > obtained from Trough() could be quite far away. Lets say we use
LLV
> > (L, pds) where pds is half the average bars held obtained directly
> > from CBT metrics
> > so tbp_before = LLV(L, bars/2)
> > To find tbp_after we can use the mae metrics from backtest
directly
> > tbp_after = (1 + mae)*buyprice;
> > tbp = min(tbp_before, tbp_after);
> > The cbt code for tbp could be as follows:
> > ....
> > bo = GetBacktesterObject();
> > bo.Backtest();
> > st.bo.GetPerformanceStats(0);
> > bars = st.GetValue("AllavgBarsHeld");
> > me = 0; //stores the sum of model eff per trade
> > for( trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade
() )
> > {
> > sym = trade.Symbol;
> > mae = trade.GetMAE();
> > lp = foregin(sym, "L");
> > tbp_before = lastvalue(valuewhen(datetime()==
trade.EntryDateTime,
> > LLV(lp,bars/2)));
> > tbp_after = (1+mae)*trade.EntryPrice;
> > tbp = min(tbp_before, tbp_after);
> > ........
> > tsp = max(tsp_before, tsp_after);
> > theoreticProfitratio = tsp/tbp;
> > realprofitratio = trade.ExitPrice/trade.EntryPrice;
> > me += realprofitratio/theoreticProfitratio;
> > }
> > .... // do the same with open position
> > mean_me = me/st.GetValue("AllQty");
> > There are a number of variations depending on your perference
> > 1. You can use trough and peak instead of LLV and HHV
> > 2. instead of average ME, you can go for accumulated ME by
dividing
> > real profit / theoretical profit. Not sure the figure would be too
> > small to make a lot of sense.
> > 3. you can use geometric average instead of arithmetic average
> >
> > Now a few questions to both Thomas and Dennis
> > What kind of insights can one obtain with this comparsion? and
How do
> > you intend to use it? And would you mind post some of your
findings?
> >
> > Cheers
> > Paul.
> > --- In amibroker@xxxxxxxxxxxxxxx, Dennis Brown <see3d@> wrote:
> >>
> >> Thomas,
> >>
> >> That is what I do. Though I also add all the trading overhead as
> > if
> >> it were real trades, then adjust the % change to the maximum
total
> >> profit which gives you a lot more insights.
> >>
> >> BR,
> >> Dennis
> >>
> >> On May 16, 2008, at 1:35 PM, Thomas Ludwig wrote:
> >>
> >>> Hi all,
> >>>
> >>> Rober Pardo suggests in his book "The Evaluation and
Optimization
> > of
> >>> Trading Strategies" the calculation of "Perfect Profit" (PP)
> > which "is
> >>> the sum total of all of the potential profit that could be
> > realized by
> >>> buying every bottom and selling every top". By comparing Net
> > Profit of
> >>> your trading system with PP you can calculate the "Model
> > Efficiency"
> >>> (ME).
> >>>
> >>> I think PP can be easily calculated as a stand-alone code by
> >>> applying a,
> >>> say, 1% Zigzag. But how can it be done if I want to add ME as an
> >>> additional metric in the Custom Backtester? The Equity()
function
> > is
> >>> used for your trading system and cannot be used for the Zigzag
> > system
> >>> at the same time in order to compare both, IMHO. So the only
> >>> solution I
> >>> can think of is to loop through all Zigzag signals and calculate
> > the
> >>> profit programmatically. Or am I overlooking something?
> >>>
> >>> Pardo also suggests to calculate the Remaining Percentage of
> > Degrees
> >>> of
> >>> Freedom (through Used Dgrees of Freedom and Original Degrees of
> >>> Freedom). Any idea if and how they can be counted in AFL?
> >>>
> >>> Regards,
> >>>
> >>> Thomas
> >>>
> >>> ------------------------------------
> >>>
> >>> 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/
|