Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

kaiynne

Best Broker for Interfacing with Custom Code

Recommended Posts

I wanted to get some feedback on which broker/brokers people would recommend using if i wanted to write my own program to generate market orders. A friend and i are planning on writing some custom software to generate buy and sell orders based on custom strategies that we are working on. Obviously we need to be able to feed live market data into the software and be able to generate buy and sell orders from our software. Backtesting would be a bonus.

 

Thanks in advance.

 

-Kain

Share this post


Link to post
Share on other sites

Depends on your exact requirements. I would go with Interactive Brokers. Pretty open API and loads of apps (and so help) written to it. Has the bonus of a wide range of tradeables available.

Share this post


Link to post
Share on other sites

The requirements would be the ability to feed real time data to our program, which i assume it has and possibly being able to feed backtesting data into the program. When i initially looked at IB it seemed like they had a different commission schedule for orders executed through the API which seems weird to me. can anyone comment on that or was i reading their site wrong? The other place i have looked into is TradeStation, but i am concerned about whether we could design our software to interact with their platform. I think they want everyone to write code in their proprietary language. We could get around this by wrapping their order calls etc. within out code and passing them on at the appropriate time to the TradeStation Software, but this seems unwieldy.

 

Thanks for the input.

Share this post


Link to post
Share on other sites

kaiynne,

 

For prototyping most applications, TradeStation should at least be considered. After you get a system prototyped and tested then moving to the next level will depend a lot on your scale and the correct path will pretty much reveal itself. TS EL code is fairly easy to port to other languages, has a decent library of 'reusable' code (and a deep reference for handling the 'gotcha's' and idiosyncracies of execution, etc), you can use multiple data streams, and with ELC/ADE 'collection' you can create your own 'tables' etc. DLL's can be wrapped in... etc etc.

 

hth,

 

zdo

Share this post


Link to post
Share on other sites
I wanted to get some feedback on which broker/brokers people would recommend using if i wanted to write my own program to generate market orders. A friend and i are planning on writing some custom software to generate buy and sell orders based on custom strategies that we are working on. Obviously we need to be able to feed live market data into the software and be able to generate buy and sell orders from our software. Backtesting would be a bonus.

Thanks in advance.

-Kain

 

you coding expertise (or lack of it) dictates the direction you can take.

Share this post


Link to post
Share on other sites
kaiynne,

 

For prototyping most applications, TradeStation should at least be considered. After you get a system prototyped and tested then moving to the next level will depend a lot on your scale and the correct path will pretty much reveal itself. TS EL code is fairly easy to port to other languages, has a decent library of 'reusable' code (and a deep reference for handling the 'gotcha's' and idiosyncracies of execution, etc), you can use multiple data streams, and with ELC/ADE 'collection' you can create your own 'tables' etc. DLL's can be wrapped in... etc etc.

 

hth,

 

zdo

 

The system we are planning on developing is going to need constant feedback from itself via backtesting. So porting the EL scripts to c++ for example would then require tweaking in c++ and then porting back into EL for testing? This would seem to be an unwieldy method. I guess the question i have is is can the backtesting data in TS be exported or at least directly accessed by a program written in C++?

Share this post


Link to post
Share on other sites
The fees for API generated orders are the same with IB. Many people use order entry applications that talk to the API (button trader, bracket trader, zeroline etc.)

 

Thanks for clearing that up, I am not sure why it seemed to not be the case, I will have to go back and take a look at their commission structure again.

Share this post


Link to post
Share on other sites
The system we are planning on developing is going to need constant feedback from itself via backtesting. So porting the EL scripts to c++ for example would then require tweaking in c++ and then porting back into EL for testing? This would seem to be an unwieldy method. I guess the question i have is is can the backtesting data in TS be exported or at least directly accessed by a program written in C++?

 

Yes, you can easily write EasyLanguage to save any TS data to a text file that can then be read by a C++ program.

 

Additionally, an EasyLanguage strategy can load a DLL written in C++ and the C++ can use COM to access EasyLanguage variables in real-time. I found info on how to do this in the TS forums a year or two ago and it worked for me.

Share this post


Link to post
Share on other sites
The system we are planning on developing is going to need constant feedback from itself via backtesting. So porting the EL scripts to c++ for example would then require tweaking in c++ and then porting back into EL for testing? This would seem to be an unwieldy method. I guess the question i have is is can the backtesting data in TS be exported or at least directly accessed by a program written in C++?

 

In a word - Yes.

 

Here are some of the ways it can be done.

 

>In EL, write strategy-performance related reserved words to .txt (etc) file for access by other apps.

 

>Strategy Performance Report itself can also be saved in an Excel workbook directly.

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=68283#333302

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=79260

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=77123

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=66550

 

> Use Fileappend see Trader Wiki

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=46429

 

>

https://www.tradestation.com/Discussions/Topic.aspx?&Topic_ID=45827

 

>

Search on or contact TS forum name Albruno. He saves "the file as .csv , rebuilds the results to an EL format.(using python to build the function and all strategy components), filters the poor results and keep the cream (ie put them in a function that enable re-optimization of this filtered list only… the iteration order is reset.. so that all the valued series of variables can be re-optimized without wasted params that were not useful) to save days... of re-processing... "

 

etc etc

hth

Share this post


Link to post
Share on other sites
In a word - Yes.

 

Here are some of the ways it can be done.

 

>In EL, write strategy-performance related reserved words to .txt (etc) file for access by other apps.

 

>Strategy Performance Report itself can also be saved in an Excel workbook directly.

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=68283#333302

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=79260

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=77123

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=66550

 

> Use Fileappend see Trader Wiki

 

>

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=46429

 

>

https://www.tradestation.com/Discussions/Topic.aspx?&Topic_ID=45827

 

>

Search on or contact TS forum name Albruno. He saves "the file as .csv , rebuilds the results to an EL format.(using python to build the function and all strategy components), filters the poor results and keep the cream (ie put them in a function that enable re-optimization of this filtered list only… the iteration order is reset.. so that all the valued series of variables can be re-optimized without wasted params that were not useful) to save days... of re-processing... "

 

etc etc

hth

 

Absolutely brilliant thank you. So now the question is how many strategies can be processed at once through trade station? If you can only run one instance at a time this will be severely limiting.

Share this post


Link to post
Share on other sites

re: "how many strategies can be processed at once through trade station"

 

You need to have a "chart window" active for each instrument you want to run strategies on. You can run multiple strategies per "chart window". Performance limits are set by number of strategies, etc running and amount of loop, array, etc. crunching in each. Upper limits are mostly set by ram... use an ASUS motherboard and pile on the gigs.

 

... any platform is 'chokable' :)

There are techniques for minimizing bottlenecks and setting processing precedence... but that's beyond the scope here... I was only suggesting TS as a prototyping and testing environment, although a few use it in production successfully... hth

Share this post


Link to post
Share on other sites
Absolutely brilliant thank you. So now the question is how many strategies can be processed at once through trade station? If you can only run one instance at a time this will be severely limiting.

 

you can give MultiCharts a try.

 

MultiCharts is a TradeStation clone, except better.

It can run multiple strategies at the same time.

Share this post


Link to post
Share on other sites

I have been looking into trying to just get the raw tick by tick data. It seems to me that by doing that you would eliminate the need to communicate with a server. The method i plan to employ in back testing is going to be highly data intensive. I am looking at running thousands of instances of each strategy simultaneously. At this point i would imagine that bandwidth becomes the bottleneck. I feel like if i build a small server farm say 5-10 machines with direct access to the database of quotes that this will blow away any over the counter solution that is currently available. So the only issue is getting the data. I found one place HISTORICAL TICK DATA ? Historical tick data for stocks, equities, futures, options, indexes and indicators! and it looks like you can get 5 years of back data for 6 symbols for around a grand which could possibly work for what we are doing. Anyone else know of a vendor that sells data directly?

Share this post


Link to post
Share on other sites

If you decide to go with an 'off the shelf' package but want "heavy duty" too you might want to take a look at NeoTicker. Personally I would be a wary of the robustness of MUlticharts and Tradestation I wouldn't trust either running un attended (even with a single simple strategy). Not sure if that is one of your goals or not.

 

Actually from your last post I am pretty sure MC and TS will not scale to that sort of level.

Share this post


Link to post
Share on other sites

after doing more research i have pretty much come to the conclusion that a server side solution is just not going to be able to compete with a client side solution. The sheer amount of data involved just makes it prohibitive. It was simple naivete on my part that allowed me to even think it would be possible. However at some point we will need to switch from back testing to real time testing at which point we will have to scale back somewhat. The only issue now seems to be finding the data at a reasonable price.

Share this post


Link to post
Share on other sites

hi Blowfish

any feedback/advice on using multicharts with IB's data feed? (mainly Es intraday and swingtrading equities)

i need to duplicate a custom TS system and wondering about the MC+IB combo...

any other recommendations?

Phall

Share this post


Link to post
Share on other sites

Depends on what you are doing. If you are trading off intra day charts with a few studies it s absolutely fine for most purposes. If you want full automation I would be wary. It is worth noting that under certain conditions that IB snapshot data (though you get multiple 'ticks' per second these might contain aggregated transactions at the same price) For most applications this is absolutely fine.

Share this post


Link to post
Share on other sites
Indeed. In fact I seem to recall Globex reserve the right to aggregate data at source though can't remember where I saw that so I'd take it with a grain of salt.

 

I did not know that, so I did a search on it, and I came up with this:

 

https://www.interactivebrokers.com/smf/index.php?topic=32212.0;wap2

 

Notification of Upcoming CME GLOBEX Data Feed Changes

 

Recently, the message traffic for market data has been

rapidly increasing. In an effort to reduce the amount

of message traffic, the CME plans to make an

industry-wide change, affecting all data vendors, to

aggregate the ticks sent by its datafeed for GLOBEX

markets. This means that you will receive fewer trade

ticks overall. This change is scheduled to take place

on 12/18/2005.

 

Currently, for example, a five lot order matched with

five one lot orders will result in five trade ticks

being disseminated, each tick having a volume of one

contract. Starting on 12/18/2005, a five lot order

matched with five one lot orders will result in two

trade ticks being disseminated, the first of these

ticks with a volume of one contract and the second of

these ticks with a volume of four contracts. This is

known as tick aggregation.

 

 

Please be aware that if you are using tick bars, this

will result in a reduction of the number of bars that

you will receive for CME GLOBEX markets starting on

12/18/2005. If you are using any time-based bars such

as intraday or daily, weekly, or monthly bars, the

number of bars that you receive should not change.

Share this post


Link to post
Share on other sites

Thanks everyone for the great feedback.

 

Has anyone tested which feeds are best for keeping up with real time ticks? I am using techniques that are similar to the Volume Splitter methodology that BLOWFISH sent out in that forum, (looking at ticks and binning them) and wondering which feed is the fastest/most reliable etc.

 

i appreciate that all of these methods suffer from the tick aggregation problem, which i think i can live with; however a poor datafeed would cause alot of erroneous analysis and this is what i'm trying to avoid.

 

Currently on TS with the TS datafeed it does alright, but there's got to be better.

 

Has anyone ever used CQG? i have heard numerous times that their data is awesome.... Another recommendations?

 

phall

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.