Tell me more ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

I'm trying to make up my mind and choose a broker, however much of my choice depends on the trading API offered. I'm definitely not interested in FIX solutions and I'd very much like a .NET implementation of the client interface.

So far I've looked at MBTrading (poorly implemented, not compatible with modern software stacks), IB (complicated, not .NET, requires their TWS software to be running as a proxy), Thinkorswim (little documentation, not .NET).

I also have some experience with Lime Brokerage's API, which is very nice indeed, however I'm afraid the operation I intend on starting might not meet their minimums.

Are there any good alternatives?

Of course an API is worthless without an efficient broker, so speed of execution and a decent fee structure would be appreciated.

Thanks in advance.

share|improve this question
Why the aversion to FIX? – NPE Aug 1 '11 at 10:06
1  
@aix: too many resources would end up going in boilerplate code, I'm the only coder and I'd like to minimize the time before I start trading. Besides FIX comes in different versions and that makes for additional problems, in my opinion. Let's say it feels like overkill for what I'm trying to achieve. – emaster70 Aug 1 '11 at 10:51
1  
I have looked around as well and have not found any good alternatives to the ones you've mentioned. – Tal Fishman Aug 1 '11 at 12:31
1  
Do any of these offer a full one stop solution? Live data APIs, trading APIs, and even a demo environment? That sure would cut down on the coding time and learning curve. – Krum Jan 9 at 23:27
Have you looked a cAlgo witch is part of cTrader. It's not an api but has back test functionality that I found useful when I started – user1810626 Jan 10 at 14:39
show 1 more comment

11 Answers

up vote 13 down vote accepted

Interactive Brokers does have a .NET API, albeit a free (as in speach) one written by Karl Schulze, not IB themselves.

http://www.dinosaurtech.com/utilities/

It's written in C# (and IMHO well written). I've examined both it and the Java API and find the .NET version more to my liking. That's probably just because I'm more familiar with .NET than I am with Java.

You're right about TWS, the API talks to a TWS or IB Gateway instance. As far as I can tell, IB Gateway is produced for no other reason than to allow API clients to execute.

The IB API may indeed by overly complicated compared to other APIs -- I've read as much elsewhere. But it's the first trading API I've worked with personally, so I can't say for sure.

share|improve this answer
+1 but I still don't like the idea of having a gateway (overhead!) Besides, I'm looking for an official implementation, whereas available, for this way if support is needed or things go wrong I can get the required assistance... – emaster70 Aug 3 '11 at 18:16
Also, you could use the ActiveX API from IB. It integrates fully into C# (including events, code completion in VS, etc.) and works very well. But the other remarks are also true, namely: 1.) it's not the easiest API to learn, and everything is event-based, which is good but more complex then sync calls. 2.) there's no way around TWS/Gateway, and the main problem here is that you need to log into TWS/Gateway once per day. Though there are some workarounds/hacks around that. – Christoph Glur Feb 24 '12 at 14:16
For support on API see: linkedin.com/groups/… – Pam Apr 15 at 9:11

TradeStation offers .NET support via their WebAPI. Check it out here: http://tradestation.github.io/webapi-docs/. They even have some C# samples on their github: https://github.com/tradestation. I think they may even have a .NET client library available via NuGet soon as well.

share|improve this answer
What is it with you and the TradeStation WebAPI?! You know, we do expect people who post on here to actually work as professional quants. See the FAQ. – chrisaycock yesterday
I have the most experience with that one and have found it useful for a number of different languages. So I think it's on-topic to this question and other variants to this question. :) – John Jelinek yesterday
@chrisaycock downvote? Do you disagree? – John Jelinek yesterday

Fusion (ex-Blackwood Pro) trading platform has a nice C#/.NET-based API. It is fast and quite easy to use. You can find a lot of brokers and prop-companies offering this platform. One example is http://www.traderbonanza.com

share|improve this answer
1  
You need to disclose that you work for the company that produces this software. – chrisaycock Mar 13 at 13:33
i do not work for this company. i trade in a proprietary firm that uses this software, and in no way i am connected to Fusion developers – Andrii Mar 13 at 17:11
I see. I was confused since your profile here lists an email address for KSG Invest, who owns Trader Bonanza. Since the question is about brokers (rather than prop shops), perhaps you can list some brokers that use this software. You can see some other answers below that have been downvoted for listing software rather than brokers. All of the answers above that have been upvoted list brokers. – chrisaycock Mar 13 at 18:19

I'm a little surprised that no one has mentioned Fidelity (Wealth-Lab Pro, using C#):

https://www.fidelity.com/trading/advanced-trading-tools/strategy-testing/overview

https://www.fidelity.com/trading/advanced-trading-tools/strategy-testing/faqs

I realize that this has now been extended to retail trading, however for certain types of hedge funds, this is more than good enough. If you're running/testing your own Index, the Index-Lab extension is a cheap way to test things out.

If you want to test some auto-trades and don't require millisecond timing, it's a cheap way to play with various schemes.

share|improve this answer

RightEdge might have a combination of features to suit your needs: http://www.rightedgesystems.com/

share|improve this answer
This isn't a broker. – chrisaycock Feb 4 at 12:24

LMAX Exchange has a nicely written .NET API which is free and can be used to in demo environment. However, note that LMAX is mostly a FX platform with few CFDs on equities and commodities.

share|improve this answer
If I wasn't in the US, I would be all over LMAX. – Arron Nov 27 '12 at 22:59
Thanks, I am aware of LMAX but the question targeted equities directly, not CFDs. I agree about the fact that their API is quite decent, at least on paper and for small investors anyway. – emaster70 Dec 1 '12 at 21:49

Easy way to build mechanical trading systems in Java or C# : nj4x

share|improve this answer
1  
That isn't a broker. – chrisaycock Nov 27 '12 at 13:40

FXCM's new ForexConnect API offers a C# version (in addition to C++ and Java; they also support all of Linux/Win/Mac/Android/iOS, though the C# version is Windows only, android is java-only and iOS is Objective-C/C++ only).

I find the online samples can be a mix of latest and old version code; however the SDK download contains a Samples directory with lots and lots of examples, so start there. The C++ API is very similar to the C# one. (In fact, the C# API seemed more natural than the C++ one; my guess is they started with C# and then ported it to C++.)

share|improve this answer

TD Ameritrade has a streaming API available at their TD AMERITRADE API Support Portal. It is implemented as a web service so you can choose whatever language you'd like. They have examples in many languages, including .NET. My first exploration into automating my trading through TD Ameritrade has been using Java on Windows but I'm switching to C++ on Unix -- fortunately, much of my logic, and the API, will remain he same.

share|improve this answer

JunoTrade claims to have a streaming .NET API -- http://www.junotrade.com/index.php/junotradeapi

Pinncle Trading - http://www.pcmtrading.com/technology/api.html (supports C# according to the last item).

TD Ameritrade @ codeplex (unoffical)

share|improve this answer

I would suggested you have a look @ Interactive Brokers, they seem to have a very decent API and reasonable fee structure.

http://www.interactivebrokers.com/en/p.php?f=programInterface

share|improve this answer
2  
Thanks but please refer to my comments about IB... – emaster70 Aug 1 '11 at 10:51

protected by chrisaycock Mar 13 at 18:26

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 1 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.