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

Re: [amibroker] A computer science related question on the AFL Language


  • Date: Sat, 9 Jan 2010 13:45:49 +0000
  • From: "Potato Soup" <potatosoupz@xxxxxxxxx>
  • Subject: Re: [amibroker] A computer science related question on the AFL Language

PureBytes Links

Trading Reference Links



Why design one when Python is free, as is Lua, Squirrel and other easy scripting languages? I have built many trading systems for hedge funds and big banks. Never once considered building a language with it.

Sounds like you think AFL can't be improved? From a language perspective AFL has some good ideas and concepts but uneven execution. A lot of things feel incrementally added, whether they were or not I don't know.

From: "J Paul Buffon" <jbuffon1@xxxxxxxxx>
Date: Sat, 9 Jan 2010 08:34:37 -0500
To: <amibroker@xxxxxxxxxxxxxxx>
Subject: RE: [amibroker] A computer science related question on the AFL Language

Well, you should design one!  As far as I am concerned, elegant and great price/quality ratio, the best in the market in that bracket. Part of my tool box and achieved north of 70% last year with it.

 

 

 

JP

 

From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Potato Soup
Sent: 01/09/2010 8:24 AM
To: AmiBroker (Discussion List)
Subject: Re: [amibroker] A computer science related question on the AFL Language

 

 

AFL is an imperative language primarily with a dose of vector processing features that enable the terseness that you talk about. I would not describe it as an OO language in any way, just because it has OO bindings or provides access to objects. If you can not write an object then the OO syntax introduced in the backtester is syntactic sugar at best. I also wouldn't say it has anywhere near the power of C or C++ just because it offers some syntax similarities. Those languages derive their power mainly from their ability to access memory directly, and at the OS' discretion this means writing directly to hardware memory maps. Of course C++ takes things much further. But AFL doesn't give you anywhere the expressive data structure creation abilities that a true imperative or OO language would.

Personally I feel AFL is a deeply flawed language that mixes constructs from Basic and C at very superficial levels. It provides its power from underneath the hood, not at the true language level.

I would pay a lot of money for AB with Python as its language, using NumPy as the fast math and numerical processing underpinning.

This is not to say that AFL doesn't have elegant concepts or advantages. It is just not a well designed language from the ground up.

-----Original Message-----
From: "cascade3891" <cascade3891@xxxxxxxxx>
Date: Sat, 09 Jan 2010 08:26:59
To: <amibroker@xxxxxxxxxxxxxxx>
Subject: [amibroker] A computer science related question on the AFL Language

Hi Amibroker community,

I have specific questions about the AFL language, regarding where it stands within the computer language spectrum(s) and what effect that has on speed/performance, agility and modularity as well as its accuracy for readability and unit testing purposes.

I know that AFL is not an object oriented programming language for the main part (however it does have some OO features like COM), does this make AFL primarily a functional programming language, a bit like OCaml??

Are functional programming languages better for financial trading applications? Where there is a need for speed, and quality stable code?
AFL seems a lot brief in terms of the amount of code that you have to write (terse) ... this makes it more attractive for reading over and checking the code, and for backtesting purposes.

I notice also that with AFL you don't have to declare data types, again making it much more efficient.

Is there a drawback to using an OO code for financial trading systems/applications?

I quite like the speed and terseness of the AFL language actually, and also since it has many similarities to C. But would there be any limitations to not being able to define classes and objects?

I'm not an experience programmer so sorry if I sound green.

Anyone have any ideas on Tomasz' original design philosophy when he set out creating the AFL language? to me it seems like he wanted to keep the power and similarities to C/C++ given the similar syntactical structure, whether because he knows that language well, or because he wanted it to be able to have the same sort of power, but he also seems to have kept in mind the needs for performance and stability, terseness for backtesting/speed purposes, and maybe also b/c most traders need to pick up the language, hence trying to make AFL easier to grasp.











------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

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

Yahoo! Groups Links




__._,_.___


**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

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





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

__,_._,___