HPK

mesothelioma survival rates,structured settlement annuity companies,mesothelioma attorneys california,structured settlements annuities,structured settlement buyer,mesothelioma suit,mesothelioma claim,small business administration sba,structured settlement purchasers,wisconsin mesothelioma attorney,houston tx auto insurance,mesotheliama,mesothelioma lawyer virginia,seattle mesothelioma lawyer,selling my structured settlement,mesothelioma attorney illinois,selling annuity,mesothelioma trial attorney,injury lawyer houston tx,baltimore mesothelioma attorneys,mesothelioma care,mesothelioma lawyer texas,structered settlement,houston motorcycle accident lawyer,p0135 honda civic 2004,structured settlement investments,mesothelioma lawyer dallas,caraccidentlawyer,structured settlemen,houston mesothelioma attorney,structured settlement sell,new york mesothelioma law firm,cash out structured settlement,mesothelioma lawyer chicago,lawsuit mesothelioma,truck accident attorney los angeles,asbestos exposure lawyers,mesothelioma cases,emergency response plan ppt,support.peachtree.com,structured settlement quote,semi truck accident lawyers,auto accident attorney Torrance,mesothelioma lawyer asbestos cancer lawsuit,mesothelioma lawyers san diego,asbestos mesothelioma lawsuit,buying structured settlements,mesothelioma attorney assistance,tennessee mesothelioma lawyer,earthlink business internet,meso lawyer,tucson car accident attorney,accident attorney orange county,mesothelioma litigation,mesothelioma settlements amounts,mesothelioma law firms,new mexico mesothelioma lawyer,accident attorneys orange county,mesothelioma lawsuit,personal injury accident lawyer,purchase structured settlements,firm law mesothelioma,car accident lawyers los angeles,mesothelioma attorneys,structured settlement company,auto accident lawyer san francisco,mesotheolima,los angeles motorcycle accident lawyer,mesothelioma attorney florida,broward county dui lawyer,state of california car insurance,selling a structured settlement,best accident attorneys,accident attorney san bernardino,mesothelioma ct,hughes net business,california motorcycle accident lawyer,mesothelioma help,washington mesothelioma attorney,best mesothelioma lawyers,diagnosed with mesothelioma,motorcycle accident attorney chicago,structured settlement need cash now,mesothelioma settlement amounts,motorcycle accident attorney sacramento,alcohol rehab center in florida,fast cash for house,car accident lawyer michigan,maritime lawyer houston,mesothelioma personal injury lawyers,personal injury attorney ocala fl,business voice mail service,california mesothelioma attorney,offshore accident lawyer,buy structured settlements,philadelphia mesothelioma lawyer,selling structured settlement,workplace accident attorney,illinois mesothelioma lawyer

Menu Navigasi

Things I wish interactive brokers would do with their API software

Start

As everyday readers recognise I use interactive brokers (IB) to run an automatic futures trading gadget. Now in many ways IB are high-quality. They have several massive plus factors in comparison to most different brokers:

  • Uniquely (?) they offer an API that allows you to build your own automated trading system. What's more the trading server software is available for Unix (and Mac, if that's your thing), not just Windows.
  • They have extremely low commissions.
  • They have a flexible and straightforward portfolio margin and multi-currency system.
  • They have a very wide range of markets.
However now I have been running my system for around a year with real money (with several months of test trading before that) there are a few things that are Truly annoying.

There are a few more things that other people might find annoying, but which I don't. For example IB don't offer UK spread betting, but then spread betting is the work of Satan so that's fine with me. I don't mind the lack of futures execution algos, despite the fact there are loads for stocks, because I'm perfectly happy with my own. The API documentation is... sketchy... but you can read my blog instead!

No python, matlab, or R API

(In 2017, a couple of years after I wrote this publish, IB sooner or later offered a native python API. I wrote a sequence of posts on this, beginning here. I've edited this section to reflect that exchange).

IB offers their API in five flavors:

  • Excel DDE
  • Active X
  • C++
  • Java
  • C#
  • Python

Now there has some very massive omissions from that list. The five languages used most inside the systematic buying and selling international are (in no precise order): C , Java, Python, R and Matlab.

I've never Truly understood why Active X needs to be included as well as DDE; surely one spreadsheet based solution is enough? I've never met anyone who uses C#, though I'm sure they exist, but isn't having C++ and C# gilding that particular lily?

So why no Python, R or Matlab? An entire middle ground of people between Excel using 'F9 monkeys' and hairy chested C++ programmers has been missed out.

Fortunately there are third party API's available to support the likes of Python, R and Matlab; such as theswigibpy API that I use which wraps around the C++ code. However it makes me slightly nervous to use a third party product which has been written and is only supported by someone on a part time basis (though I hasten to add this hasn't given me any problems yet). It particularly worries me when combined with the possibility of an IB API upgrade breaking everything (see below). And it would absolutely terrify me if I was using this platform to trade other peoples money.

Why can't IB create proper API's for these three two high level languages? I am not an expert on Matlab and R, but it would be trivial for IB to do the wrapping of their C++ (as they appear to have done for POSIX). At least then we have some comfort that we are using an official product.

API and server updates are not always backwardly like minded

There is nothing extra demanding than humans converting their software program in order that the modifications are not backwardly like minded. Add new features? By all manner, I don't should use them do I? Fix insects? Feel loose, as long because it's not a 'worm' whose behaviour I were counting on (so this is an undocumented feature, not a computer virus).

Change the name of an current characteristic simply to harass me? Force me to download the latest model of your API server or stop me buying and selling altogether? No thanks. Especially now not whilst I am relying on a 3rd birthday party to replace their python API so it nevertheless works. Also why have to I should rewrite my code, retest it and normally make certain its nonetheless strong?

No unfastened delayed facts via API

When I use the IB front ends (of which more in a second), and I try and look at FTSE futures prices I get the nice friendly message 'Would you like to use 15 minute delayed data, you cheapskate?' (I'm paraphrasing). Click yes, and I can. I can even trade the dammn things, once I've ticked another disclaimer 'Would you Truly put your families future at stake by submitting a blind market order, just because you refuse to pay the very reasonable fee that Euronext LIFFE want to charge you for live data?'. Oh yes I would.

However whilst you operate the API to get a FTSE futures fee you get a very unfriendly message 'IB blunders identification 23 errorcode 200: No security definition has been discovered for the request'.

Why oh why oh why is it so difficult to have a tickbox in the IB API server that asserts 'Yes I want not on time data wherein I don't have a subscription. Yes I don't thoughts trading blind. Yes I am a cheapskate'.

Please IB - give us behind schedule API statistics.

No multiple buying and selling login

You can only have be logged into IB in a single vicinity at a time.

This means:

  • It means you can't have multiple IB servers running for one account. No problem since you can connect over a network to your server from multiple machines.
  • It means you can't have multiple IB servers for two linked accounts. Cue lots of messy code specifying which account you are trading from and hoping the server doesn't get it wrong. So a small problem, but with a solution.
  • It means you can't have a manual front end (see next section) open, perhaps to monitor your trades or do a little manual trading in another account. Unsolvable problem.
  • It means you can't have an IB server running a test account, and another for your live account, so running proper tests is impossible. Unsolvable, and very annoying, problem.
  • It means, it sucks.

No lightweight stable the front end for guide buying and selling

Apart from the API server, that is a completely stable product that you can go away going for walks for weeks on end, IB offer some of methods to alternate manually. At the time of writing those are:

  • Client side TWS. You download this thing and run it on your machine. It is an obese piece of software with far too many bells and whistles. When I run it it freezes eithier immediately, or when I try and do something complicated, like search for a symbol.
  • Server side TWS. Half the time this doesn't download the thin client properly and the other half the time it freezes.
  • Web trader. The vanilla version of this just freezes. The 'beta' version of this runs brilliantly, at least compared to the other front ends. Which is to say that I've managed to use it to submit one order at a time. After that, when I try and find the next symbol, it freezes. And I have to close the session. And login again (using my stupid security card, see below). Half a dozen end of tax year housekeeping trades took me the best part of an hour.
  • Mobile. I haven't tried this. But if something doesn't run on my 4GB laptop it probably won't run on my little Samsung...
I don't know if it's my machine, operating system or browser that is at fault (though I've tried it on every machine I have which covers both windows and linux, though not Mac). But all the UK retail stockbrokers I use seem to manage to create simple lightweight web front ends that are platform independent, and just work. Yet IB cannot.

1990's fashion safety get admission to protocol

Darn, a electricity cut. I'll just reset my fuse box. Now all I need to do is find vncviewer to log in to my headless buying and selling container*, run the IB gateway server, pull out a stupid plastic card component from my wallet (assuming I haven't quickly mislaid it) which I want to log in and restart my own consumer techniques.

It's like digital safety became by no means invented. If I ought to login to some thing like webtrader then truthful sufficient, let me use a cruddy plastic card. But why cannot I just have a steady ID sitting on a report on my device? I can then setup my crontab so that the IB API, and all my server side stuff, restarts when I transfer the gadget on. After each energy cut all I might need to do is reset the fuse container after which turn my server back on again.

* This now reflects my current setup - in earlier versions of this post I wasn't using vnc. Thanks to all those who commented below so that I could address this issue - the security is still rubbish but at least I don't have to plug a keyboard and monitor into my headless trading box.

To finish...

It does appear as an interloper that the IB development crew spend maximum of their time adding new capabilities to the already bloated TWS the front cease, and designing matters that they suppose are cool and pretty. It is probably that the API community are accountable for handiest a tiny fraction of IB's profits. However I significantly doubt that given that algorithimic investors will exchange a lot extra, and possibly use margin more aggresively, than the average Joe.

So please men, I love the product, we could make it higher.

Finish
Bagikan ke Facebook

Artikel Terkait

Lanjut