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

RE: [amibroker] Re: System Performance Indicators [was: Can someone fix this OLE code?]



PureBytes Links

Trading Reference Links

In regards to your

 

2) … I assume you mean performance metrics … My question is WHAT or WHICH performance metrics.  My understanding of  Equity() is that it basically creates an equity curve not a Trade List and as such can be evaluated for any equity curve only related performance metric but not for any trade list related metric.  If my understanding is correct then is what you are after in terms of performance metrics fall within those guidelines ?  If so then you can get at what you want to with simple AFL following your Equity() statement without the need to explicitly use the backtester whether from a script or anywhere else.  However, if this is not the case then I don’t see how you get the information you need without having to explicitly use the backtester.

 


From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Herman
Sent: Tuesday, May 20, 2008 9:22 AM
To: Fred Tonetti
Cc: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Re: System Performance Indicators [was: Can someone fix this OLE code?]

 

Thank you Fred, yes I looked at it, and I appreciate your solution. However it is not as easy and i need to digest the new possibilities.

 

Can your OLE code be called/controlled from an Alert() instead of the tools menu?

 

Here is a partial sequence of operations that the code in my indicator performs (on EOD data for now):

 

1) screen/filter ~8000 tickers

2) Calculate several parameters for each of the ~1000 ticker found 

3) sort/filter tickers based on parameters calculated above

4) runs Equity() on each of the 1000 tickers and calc. several Perf.Metrics

5) Sort/filter the results by Perf.Metrics.

6) runs another Equity() (different param) on each of the tickers produced above and produce new Perf.Metrics

7) Sort/filter the above results

8) take the top n tickers and pass them to the AutoTrading module.

 

For research and system development/optimization the number of times each step is called may vary and each steps may have their own set of User Input. While we can perform these actions manually using the AA/Excel (our current method) I am aiming for full automation to allow auto optimization. I am making good progress, however having a simple function call to retrieve performance metrics would simplify things, save me a bunch of time, and add versatility. The final step will be to tighten up the filters and optimize code for speed.

 

Best regards,

herman

 

 

For tips on developing Real-Time Auto-Trading systems visit:

http://www.amibroker.org/userkb/

 

Monday, May 19, 2008, 8:21:46 PM, you wrote:

 

> 

Re bouncing emails … No problem …

 

Re control of AA processes … Actually there are LOTS of ways to control them … However, did you at least look at the simple script I posted that would run the loaded AFL in AA ( Backtest ) every n milliseconds ?

 

If this really fails to meet the need that’s fine but I’d at least like to know that you looked at the posts I put up for this and spent at least a minute or two evaluating them.

 


From: amibroker@xxxxxxxxxps.com [mailto:amibroker@yahoogroups.comOn Behalf Of Herman

Sent: Tuesday, May 20, 2008 8:15 AM

To: Fred Tonetti

Subject: Re: [amibroker] Re: System Performance Indicators [was: Can someone fix this OLE code?]

 

Fred, I have to work from an Indicator window to get Real-Time response wrt process monitoring/display/reporting, user interfacing, GFX, AutoTrading, etc. To distribute my actions over multiple modules, like BT, Port BT, Explore, Optimize, Scan, and Indicators complicates matters too much. That is only possible for fixed procedures. The AA modules are like black boxes, once you start a process there is no way to monitor and/or control the process. The AA reports static results, AFAIK, without external programming there is nothing you can use in your RT calculations. I cannot use the Run-Every option.

 

btw Fred, my personal emails that went out to you earlier came back (bounced) today - I am on the road and have a problem with my ISP. Sorry.

 

Best Regards,

herman

 

For tips on developing Real-Time Auto-Trading systems visit:

http://www.amibroker.org/userkb/

 

Monday, May 19, 2008, 7:24:09 PM, you wrote:

 

Herman,

 

Just so I understand… what’s the problem having to run AA ?

 


From: amibroker@xxxxxxxxxps.com [mailto:amibroker@yahoogroups.com] On Behalf Of Herman

Sent: Tuesday, May 20, 2008 6:49 AM

To: brian_z111

Cc: amibroker@xxxxxxxxxps.com

Subject: Re: [amibroker] Re: System Performance Indicators [was: Can someone fix this OLE code?]

 

OK, at the risk of dragging this on :-) my disappointment was due to:

 

1) The inability of experienced users to look beyond traditional TA. imo, System Performance Indicators (SPI), that is what my initial OLE code was working towards, should be part of all system design. SPIs should not be separated from traditional indicators and only be used for static reporting. They should be used dynamically and integrated into system design. Today we have plenty of computer power to do so. This would introduce an entirely new category (AFAIK) of indicators and, especially if they are provided with arguments like period and input arrays, they may prove to be extremely useful. Tomasz' new code will allow users to play with this idea. 

 

2) Some people knowingly underestimating the amount of work required to provide a general solution, and/or to learn OLE, CBT, GFX, etc. Spending time learning new tools takes away from system development and can set the average part-time user back a year or more - and prevent him/her from ever excelling in any area. It is far more expedient to just learn, use, and know well, a single language (AFL). Diversification requires you to divided your time (and mental resources) over several areas. Remember that after age forty your mind starts to lose its edge :-) if you deny this you may be in for a surprise.

 

But no hard feelings: I still love everyone :-)

 

Tomasz' solution is very elegant, and it is a very nice demonstration/introduction to using the CBT. I love it and I thank him for it. However regretfully it does not solve my problem; it does not allow me to access equity-derived performance metrics, in arrays, from an indicator window without running the AA. I need in-line calculated values that are refreshed as the chart is refreshed and that can be called from inside a ticker-loop.

 

Best regards,

herman

 

 

 

For tips on developing Real-Time Auto-Trading systems visit:

http://www.amibroker.org/userkb/

 

Monday, May 19, 2008, 5:43:28 PM, you wrote:

 

> There wasn't any frustration in it for me.

 

> I was disappointed that Herman was disappointed.

 

> My general point is that it is quite hard to communicate via boards 

> like this, especially if the subject is complex or has nuances to it.

> An undertone of miscommunication is the norm and we should allow for 

> that.

 

> Half the time I haven't got a clue what you are talking about but put 

> me down for a copy of the book.

 

> Before AB I used Metastock.

> I couldn't get the backtester to do what I wanted it to do so I ended 

> up using their explorer as a pseudo backtester.

> The fact is that in many respects it worked quite well.

> That is how I know that it would be relatively easy to use the AB 

> indicator panes as a 'visual' backtester without the need for 

> complicated code.

 

> The actual sticking point, which is why I left MS, is that the 

> metrics were cumulative metrics (at least the way I did it anyway) so 

> I couldn't get individual trades, as a series, to do distributions or 

> account for wild outliers etc.

 

> The other challenge in MS was actually modelling the trades because 

> their program didn't have the levels of customisation I needed for my 

> entries and exists.

 

> Other than that it worked fine and if I could have done those things 

> I would probably still be there now, not knowing any better.

 

> Of course now that I am at AB I am happy that the program is bigger 

> than me. It was rather scary, to me, that a person with my background 

> and experience outgrew MS in under a year.

 

> I don't see how anyone can complain because Tomasz has given us the 

> CBT, OLE methods etc but at the same time I have my own preferences 

> for and I don't mind sticking up for them.

 

> brian_z

 

 

 

 

 

> --- In amibroker@xxxxxxxxxps.com, Dennis Brown <see3d@xxx> wrote:

 

>> Brian,

 

>> As frustrating as threads like this can turn out for most involved, 

> I  

>> really like to see this type of discussion online.  We can all 

> learn a  

>> lot through thrashing out our conceptions and misconceptions  --

> though  

>> it might be better on a smaller forum with a narrow set of 

> interests.   

>> I am keenly aware that this list has thousands of readers, most of  

>> which are still working towards a basic understanding of AB/AFL.

 

>> I have gotten into "trouble"  in the past by posting to make a 

> general  

>> point, and obliquely mentioning some thing or principle that I am  

>> working on.  I mentioned them without details, because I didn't 

> want  

>> to encourage a discussion about them.   They were only meant as an  

>> example of why I was motivated to post.

 

>> Laughably, sometimes I find that the thing I was not trying to make 

> an  

>> issue becomes a target instead of the real issue I was trying to  

>> address.  Sometimes I learn something valuable in the exchange 

> anyway,  

>> and sometimes it is just a distraction.

 

>> There were a lot of apples being thrown and oranges being thrown  

>> back.  I am glad you found one of the fruits to your liking.

 

>> I am happy with my BT approach and my reasons for it.  The 

> discussions  

>> here, though valuable for general understanding, will not change 

> my  

>> approach to indicator mode single equity backtesting which is the  

>> backbone of my day-trading platform.  I would not expect someone 

> to  

>> understand what I am doing without a lot of screenshots and  

>> explanations, which would take too much time for a casual post on  

>> someone's else's thread.

 

>> BR,

>> Dennis

 

>> On May 19, 2008, at 4:02 AM, brian_z111 wrote:

 

>> > No disrespect but when guys like you and Dennis, who are working 

> in

>> > specialist areas, post you can't expect us to pick up your train 

> of

>> > thought with only partial explanations (if you had given me a

>> > screenshot of a spreadsheet mockup and mini-tutorial I could have

>> > bought in to your search a lot easier).

>> >

>> > By the same token I think you misunderstood the value of what I 

> was

>> > talking about (maybe for the same reasons although I have talked

>> > about it before).

>> >

>> > First I am talking about something more generic that has added 

> value

>> > if pursued (I only gave the starting point).

>> > It leads on to inline MoneyManagement and plotting trade series

>> > frequencies etc.

>> >

>> > Second, from my point of view, I don't understand why you would 

> want

>> > to have indicators as backtesters BUT if you do want that then you

>> > can have it without new functions (if I understand you correctly 

> but

>> > I am saying that under the assumption that you agree with Dennis's

>> > defintion of an inline BT).

>> >

>> > By my proposition if you know the trade% and you know the time in

>> > trade you can calculate any equtiy metric OR moneymanagement 

> outcome

>> > you want. Since, for individual stocks, you do have that then it

>> > should be do-able without megacode.

>> >

>> > (Keep in mind that I might not fully understand your needs and 

> that

>> > we are live i.e. speculating - if it looks like I am making a 

> mistake

>> > I will throw in my hand).

>> >

>> > Also, I appreciate Fred's/Tomnasz's answers because, while I think

>> > that another approch offers far more long term value, they taught 

> me

>> > something and it is something I can use right now (I have a 

> policy to

>> > get on with it with what I have OR do it myself i.e. code or 

> plugins

>> > which for me is all about pragmatism. I am only sidetracking a 

> little

>> > bit here and there to give Tomasz my two cents as I have too much 

> to

>> > do to make a career of it).

>> >

>> > As I said, no disrespect.

>> >

>> > I think the topic is worth my honest input.

>> >

>> > brian_z

>> >

>> >

>> >

>> >

>> >

>> >

>> > --- In amibroker@xxxxxxxxxps.com, Dennis Brown <see3d@> wrote:

>> >>

>> >> Herman,

>> >>

>> >> Actually, your needs and my needs are closely aligned in this

>> > regard:

>> >> The need for a high speed BT on a single ticker in an indicator

>> > that

>> >> refreshes on each new tick (more than 1 per second).

>> >>

>> >> If I had these functions as built-in, I might not have needed to

>> > write

>> >> my own AFL version.

>> >>

>> >> However, since it can be done in AFL, we should not rule out the

>> >> #include option as a first viable choice.

>> >>

>> >> I doubt that what I have written so far qualifies as a useful

>> > general

>> >> purpose solution for others, but it is more like 100 lines than

>> > 1000

>> >> lines of AFL.

>> >> However, if I had a good #include to start with, I would likely

>> > have

>> >> used it as a base to work from, only adding my unique needs to 

> it.

>> >>

>> >> I am still debugging my last rewrite of my equity function, but I

>> > am

>> >> willing to share what I have privately with a good AFL coder who

>> > can

>> >> make something more general purpose to share with all.

>> >>

>> >> Best regards,

>> >> Dennis

>> >>

>> >> On May 19, 2008, at 11:23 AM, Herman wrote:

>> >>

>> >>> Hello Paul,

>> >>>

>> >>> you are absolutely correct, it ought to be as simple as running

>> > this

>> >>> code in an Indicator:

>> >>>

>> >>> ....systems code...

>> >>>

>> >>> E   = Equity(1);                 // This function would be

>> > called

>> >>> once only

>> >>> NP  = NetProfit(E);                 // New AFL functions that

>> > return

>> >>> ARRAYs based on the equity Array

>> >>> NPP = NetPercentProfit(E)

>> >>> CA  = CAR(E)

>> >>> RA  = RAR(E)

>> >>> MaxTradeDD = ... and so on for all performance metrics.

>> >>>

>> >>> ... second level of systems code using the above metrics for

>> > system

>> >>> analysis, signal generation, position scoring, position sizing,

>> >>> etc. ...

>> >>>

>> >>> The so called solutions discussed in this thread either do not

>> >>> provide the above arrays for use in auto-refreshing indicators,

>> > or

>> >>> require a thousand lines of code written by a professional

>> > programmer.

>> >>>

>> >>> best regards,

>> >>> herman

>> >>>

>> >>>

>> >>>

>> >>> For tips on developing Real-Time Auto-Trading systems visit:

>> >>> http://www.amibroker.org/userkb/

>> >>>

>> >>> Sunday, May 18, 2008, 10:50:31 PM, you wrote:

>> >>>

>> >>>> Herman,

>> >>>> I think I know where you are coming from. The difference 

> between

>> >>>> using indicators vs scripts is that indicators continue to

>> >>>> recalculate ( or in this case backtest) as new data arrives.

>> >>>

>> >>>> One way to broker the impass with Tomasz is consider simple

>> > profolio

>> >>>> backtesting as an AFL function. Rather than using OLE, This

>> > option

>> >>> is

>> >>>> write a function similar to Equity() in which the symbols in a

>> >>>> watchlist is read and backtested.

>> >>>>

>> >>>> I think this function could be done in AFL today using the

>> > various

>> >>>> functions already available. ie CategoryGetSymbol to get the

>> >>> symbols,

>> >>>> foreign to set foreign symbol, the equity() function to get rid

>> > of

>> >>>> excess signals etc. Of course, you have to do your own

>> >>> ositionscoring

>> >>>> and position sizing. Since Fred has done this before, may be he

>> > can

>> >>>> comment further or if he is generous enough, dig out his code

>> > and

>> >>>> post it again.

>> >>>

>> >>>> Essentially, this function can be called in your indicator afl.

>> > In

>> >>>> that way, you can have your pie and eat it as well. I'm sure if

>> >>>> Tomasz sees a use in it, he will incorporate in his list of

>> >>> functions

>> >>>> to do in the future.

>> >>>

>> >>>> What do you think?

>> >>>> Regards

>> >>>> Paul.

>> >>>

>> >>>

>> >>>

>> >>>> ------------------------------------

>> >>>

>> >>>> 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@xxxxxxxxxps.com 

>     mailto:amibroker-fullfeatured@yahoogroups.com

 

> <*> To unsubscribe from this group, send an email to:

>     amibroker-unsubscribe@xxxxxxxxxxxxcom

 

> <*> Your use of Yahoo! Groups is subject to:

>     http://docs.yahoo.com/info/terms/

 

 

 


I am using the free version of SPAMfighter for private users.

It has removed 456 spam emails to date.

Paying users do not have this message in their emails.

Try SPAMfighter for free now!

 

 

 


I am using the free version of SPAMfighter for private users.

It has removed 456 spam emails to date.

Paying users do not have this message in their emails.

Try SPAMfighter for free now!

 



I am using the free version of SPAMfighter for private users.
It has removed 456 spam emails to date.
Paying users do not have this message in their emails.
Try SPAMfighter for free now!
__._,_.___

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




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___