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

[amibroker] Re: ODBC + DDE



PureBytes Links

Trading Reference Links

Thanks guys. I was actually able to optimize SQL to get a decent performance that fits my needs. Again, my strategies are not high frequency. 

I basically just created a SQL table with the AB required fields only. I also created an index specifically for AB's query. The historical data is inserted before the open and the RT data is inserted as trades occur. 

Using the native ODBC plug-in, I am running an exploration for 200 tickers and 1000 daily bars in under 2 seconds. The same exploration using the local database takes about 1 second, therefore the performance is entirely satisfactory.

I can see how this is not the optimal solution for high frequency strategies that use intraday intervals or a watchlist with a great number of tickers. But it does work fine for more simple strategies.


--- In amibroker@xxxxxxxxxxxxxxx, "Yofa" <jtoth100@xxx> wrote:
>
> Hi,
> 
> depending on what you want to do...
> You can use SQL but you must have in-depth knowlegde of the specific 
> database sw.
> Logical and mostly physical database design is crutial to success. Both 
> designs must be very efficent.
> Generally SQL database engine is used as a storage system. So it is bit 
> overkill.
> 
> Using SQL is handy if you want to store data and from this store you want to 
> prepare/transform/export data to other processes. In such case it is very 
> flexible.
> You CAN play back IB tick data at real time speed (~300ms snap shots) for a 
> few tickers directly from SQL db.
> That should not be a problem with a good db design and on a good hw.
> 
> Going beyond this limit is not for SQL!
> 
> You must also consider SQL database resource needs. Disk and memory are 
> needed to achive good performance.
> A binary file based storage system is very efficent but no really flexible. 
> SQL is flexible but not efficient...
> You have to choose what you need..
> 
> Regards,
> 
> Y
> 
> --------------------------------------------------
> From: "Tomasz Janeczko" <groups@xxx>
> Sent: Monday, May 18, 2009 9:37 PM
> To: <amibroker@xxxxxxxxxxxxxxx>
> Subject: Re: [amibroker] ODBC + DDE
> 
> > SQL database & ODBC is wrong path for high-perf RT.
> >
> > ODBC is rather slow as it was never designed by Microsoft to be used as a 
> > real-time streaming tool.
> > Also all standard SQL databases are way too slow for real time 
> > applications.
> >
> > Only proprietary binary low-level dbs like AmiBroker own, that are very 
> > low level and not SQL based
> > are able to offer right speed.
> >
> > As for interfaces - only direct APIs (like AmiBroker Dev Kit) that operate 
> > directly
> > on binary data via direct pointers and no need for copying data and 
> > without SQL overhead are fast enough.
> >
> > For commercial databases that offer better performance than SQL see 
> > Berkeley DB
> > http://www.oracle.com/database/berkeley-db/db/index.html
> >
> > (Read their white papers that explain why all relational, sql-based 
> > databases are simply too slow)
> >
> > Best regards,
> > Tomasz Janeczko
> > amibroker.com
> > ----- Original Message ----- 
> > From: "lucianomt" <lucianomt@xxx>
> > To: <amibroker@xxxxxxxxxxxxxxx>
> > Sent: Monday, May 18, 2009 6:30 PM
> > Subject: [amibroker] ODBC + DDE
> >
> >
> >>I am trying to set up real-time feeds on AB. I have a SQL database that 
> >>contains all the necessary data. The only problem is the
> >>very high delay I get using the ODBC plug-in. To pull up about 1000 bars 
> >>for 150 tickers takes approx. 10 minutes, which makes it
> >>impractical for real-time. (The same process using local database takes 1 
> >>second.)
> >>
> >> So my first question is: am I doing something wrong? Is there any way to 
> >> improve this performance significantly or is the ODBC
> >> solution inherently slow?
> >>
> >> If nothing can be done to improve ODBC, I thought I could upload the 
> >> historical data into the local database and them use a
> >> different source, say DDE, to update the real-time quotes for the current 
> >> day. Would that solution work?
> >>
> >> Please note that the historical data needs to be updated daily since it 
> >> is a total-return series.
> >>
> >>
> >>
> >> ------------------------------------
> >>
> >> **** 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/
> >
> > 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/

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/