现实生活交易API

115
你知道有哪些 API 可以让你交易真实的股票或货币吗?
如果是这样,请描述一下你的经验:
- 开发难易度 - 佣金 - 沙盒环境等

3
颠覆华尔街对“交易成本”的控制?哈哈哈,这很有趣。 - S.Lott
@S.Lott-我想你仍然需要支付交易费用。 - John MacIntyre
3
它们确实存在,但我见过的那些价格都非常昂贵。 - Chris Ballance
25
不要意外编写无限循环的代码... - ceejayoz
5
如果你这样做了,那么这可能是一个非常好的或者非常糟糕的一天!无论如何,这将是一个改变生活的事件!;-) - John MacIntyre
TD Ameritrade客户端库适用于.NET http://github.com/kriasoft/tdameritrade - Konstantin Tarkus
12个回答

36

据我所知,TradeStation 是最著名的交易软件。其他大部分交易软件提供API(如NinjaTrader、MetaStock等)。另外,有自动化交易系统比赛 - 可以看这里

此外,交易所和经纪人都必须支持自动化交易。我了解的大多数交易所在未经事先允许的情况下是不允许自动化交易的。


就我所知,我认为MetaStock API不允许您进行交易;他们的软件严格限于技术分析,因此只能获取价格。 - Jeff Barger
@Jeff Barger:这里有一些不太好的解决方法:http://www.elitetrader.com/vb/showthread.php?threadid=17343 - dirkgently
TradeStation还拥有基于HTTP的API,可以在以下文档中查看:http://tradestation.github.io/webapi-docs/ - dk.
我们需要对这个答案进行更新;它不能用于高频交易,对吧? - user9903
TradeStation需要存入50,000美元的保证金才能获得他们的API访问权限。只是让你知道一下... - Carles Estevadeordal
交互式经纪商API是一个陷阱,慢慢地消耗着大量的开发时间。他们的客户门户网站API演示已经过期了(1年前过期)。您一次只能有一个登录会话,任何类型的客户(交易员、API和Web),因此无法跟踪您的API活动。我还没有联系到他们的客户支持。使用像Alpaca这样简单的API可以在一天内完成的事情,在与Interactive Brockers API的工作周围需要几周的解决方案。 - profimedica

20

有许多经纪人可以为您提供API访问权限,使您可以进行交易。显然,您将支付佣金以及买卖价差,这可能比直接市场的价差更大。它们在允许您交易的工具类型方面也会有所不同。

如果您想要一种简单的方式,可以使用预包装软件,例如Tradestation(糟糕的专有语言)、NinjaTrader(稍微好一些,基于C#)或SmartQuant(更好,基于C#)。这些通常具有与执行交易的多个经纪公司的预构建接口。InteractiveBrokers也具有直接的API,但他们的声誉是令人头疼的。

我建议检查其他论坛,例如EliteTrader,该论坛拥有大量关于不同经纪公司相对优点的信息。那里也有很多人通过API进行交易。


我认为那些服务不提供实时数据 :( - frabiacca

15
尝试使用TD Ameritrade - 他们有一个不错的API,相对较低的交易费用和一个良好的帮助论坛。链接到他们的API提供概述

7
TD Ameritrade的成本非常高。我的意思是,为什么要支付每笔交易10美元的费用,而不使用互动券商,只需支付每笔交易1美元呢?这根本不需要比较就知道哪个更好。 - Contango
1
一个原因是,交互经纪商的账户最低要求很高。而 TD 的账户最低要求只有100美元,或者说非常低。 - extracrispy
TD Ameritrade客户端库适用于.NET,github.com/kriasoft/tdameritrade。 - Konstantin Tarkus
这对于免费获取实时报价可能很有用。 - train
编辑:似乎需要25000美元的账户最低限制才能访问他们的API... - train

12

大多数电子证券交易所不提供API,而是提供消息规范。要让它们接受您的消息(即直接与它们进行交易),您将不得不花费大量资金并成为交易所的会员 - 这就是IB所做的。即使是实时市场数据源(您需要以合理的方式进行交易),也可能非常昂贵。


10
正确。您必须成为会员才能直接交易,因此实际上您正在与一个“经纪人/交易商”的API对话,该API直接与另一个API交换信息。 交易所从销售实时数据提供的服务中获得了大部分收入。 - Joshua Davis

11

这与我几年前提出的一个问题类似: 在线经纪商提供API的有哪些?

我建议研究一下交互经纪商,这是我最终选择的经纪商。他们的API支持包括Java、C++、ActiveX和Excel的DDE在内的多种语言。你可以通过API有效地完成几乎所有你可以使用其相当强大的交易平台所能做的事情。

作为仅仅是一个经纪商,很难击败IB的低手续费(我的大部分订单都太低了,以至于它们被舍入到每个订单的1美元最低佣金)。再加上一个相当简单的API,它就难以被击败。

此外,还可以查看我之前提出的问题(链接在上面,也可在这里),以获取更多关于提供API的经纪商的信息。


1
仅就InteractiveBrokers所说的内容补充一点,如果您交易了大量股票,例如超过1500股,他们的佣金会很高。佣金是按每股交易计算的。他们在其网站上提供了交易数百万股票的佣金示例,高达150,000美元。 - user758309
4
补充匿名评论所说,佣金在这里:http://individuals.interactivebrokers.com/en/p.php?f=commission (美国股票每股佣金为0.005美元,最高不超过交易价值的0.5%;因此,15万美元的佣金意味着购买了三千万股某种股票...) - Darren Cook
据我所知,IB API连接到您的桌面上运行的程序。它似乎并不是非常有用... - Carles Estevadeordal

7

我刚开始尝试使用TradeKing的API。它很简单,使用oauth。$5的交易佣金也还不错。

E-trade也有一个API,但是你需要经过一些步骤才能获得生产环境的访问权。他们还通过Comet接口提供实时流媒体服务。似乎没有任何关于etrade的库,除了etrade所提供的Java库。


你必须是美国公民... - Carles Estevadeordal

6

https://www.quantopian.com

我认为这是最新的一个,它有在线IDE/调试器/可视化工具,并且可以与交互式经纪人进行模拟交易和实盘交易。此外,这个平台还有一个非常好的研发社区。


Quantopian 不允许您进行实时交易,只能测试您的算法,这是不同的。 - Dmitri Zaitsev
Quantopian可以通过与交互经纪商(IB)的集成进行实盘和模拟交易。但是,您需要拥有一个IB账户。 - JasonS
谢谢您的纠正 :) 这个限制只适用于IB吗?还是其他经纪商也有类似的限制? - Dmitri Zaitsev
只有IB,您需要为IB账户充值才能进行模拟交易,但它是有效的! - JasonS

3

请查看此页面上的链接。

该页面列出了许多开源API。我还没有尝试过任何一个,但计划检查active-quant。


2

联系你所需要交易的证券交易所,获取交易API和测试服务器。如果你所需要的证券交易所在OMX平台上,你将会获得X-Stream API(未经管理的C++)和文档。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接