此问题适用于已成功编码TD Ameritrade API流光的任何人
我对这个问题的范围非常狭窄表示道歉 - 你要么知道答案,要么不知道答案。我已经尝试了所有我能想到的东西,没有任何东西,而且它已接近关键时刻。
如果您使用Ameritrade API进行流式实时报价 - 您知道用于期货的惯例吗?这些是ThinkOrSwim中的“斜线”项目(/ CL(WTI)/ M6E (欧元/美元)/ YG(黄金)等)。只有他们不会转换为流式订阅(可能是由于需要一个前言)。与其他一些股票一样,我敢打赌Ameritrade对于飘带使用的命名约定与对ThinkOrSwim不同。
string[] indices = new string[] { "$DJI", "SPX.X", "$COMPX" };//Indices
string[] tick = new string[] { "$TICK", "$TIKI", "$TIKSP", "$TIKRL" };//TICK
string[] vix = new string[] { "TVIX", "XIV" };//regular symbols
string[] futures = new string[] {"/CL","/YG","/M6E","/SL"};//These DON'T work! That's what I need! How do they transfer to the API?
API文档明确提到期货是流式响应的一部分,但不提供约定。 Ameritrade的API部门在过去几个月一直没有回应。
PS 我已经尝试了所有的东西,包括删除斜线,使用“长”CBOE名称转义/编码它 - 除非你真的完成,否则没有必要在这里猜测它
我已经尝试了我能想到的一切,包括“实际”的CBOE符号,但得到了BAD REQUEST错误。
获得期货对我的算法至关重要。如果你愿意,如果你有足够的知识来分享你的知识,我会很多。感谢您的时间,并提前感谢您提供的任何帮助!
PS-我在标记这个的逻辑?是旧的SDK是用C ++编写的,端口是.NET - 因此这些语言最有可能达到有API经验的人。不试图标记垃圾邮件。
编辑 Google上有一些信息表明期货不属于API。这些信息来自他们更新API以包含许多其他内容之前。我基于期货现在确实存在的可能性,因为期权之前不存在(它们现在是),期货现在可以通过不同类型的流媒体获得(之前不存在)。对我而言,TDA将升级其80%的东西而不是最后的20%是没有意义的。另外,从API文档:
52.7一级 1级提供股票,期权和期货报价和交易数据。 52.7.1一级股票 QUOTE服务器ID用于请求股票,指数,期货和共同基金的第一级报价。对于选项,您将使用OPTION服务ID
因此,这让我相信期货可用 - 我只是不知道如何命名它们。
谢谢!
答案 0 :(得分:2)
如果要流式传输一级报价,则这里是不同“工具”所需的符号。
"SPY"
"/ES"
"AAPL_040920C115"
"EUR/USD"
"./EW2J20C2675"
答案 1 :(得分:1)
TDAmeritrade的新API在内部构建。将旧的API分发给一组兄弟,他们会非常详细地响应。他们的旧论坛已经死了!旧的API最终将被删除。新的API的规则是,他们将不提供任何技术帮助,仅回答对已记录API的澄清。当然,您需要的是埋在https://developer.tdameritrade.com/content/streaming-data
中答案 2 :(得分:1)
我没有流期货数据的问题。
您可以在其流API页面上看到以下内容: https://developer.tdameritrade.com/content/streaming-data
在示例中使用/ ES。我也尝试过/ CL和/ RTY。
您还可以使用报价终点获取期货的实时报价: https://developer.tdameritrade.com/quotes/apis
期货不支持的是历史数据(价格历史终点),而可悲的是,最重要的是:交易期货。考虑到他们的API实际上对于股票和期权交易非常好,这确实是一个遗憾。我喜欢TDA的API比IB更好,因为它是基于Web的(RESTful),并且您不必担心像IB那样在后台运行其平台。
这个人围绕TDA的新API编写了许多很棒的代码和youtube视频。他的频道名为Sigmacoding。强烈推荐的内容。
答案 3 :(得分:0)
在阅读完您的问题后,我决定在TD Ameritrade注册。记下他们的注册页面上的内容:
此截图于2016-10-04格林威治标准时间10:28拍摄。很抱歉,如果此回复令您失望。另外,请注意与期货数据相关的线程已被阻止和隐藏。
答案 4 :(得分:0)
我在同一条船上。我对获取外汇期货数据感兴趣。例如:欧元兑美元。 确实没有文档。我不能使用 API,但能够使用 TD 流数据来获取我需要的东西(相信我这很痛苦。我是一个新手 python 开发人员) 无论如何,遵循命名法对我有帮助。
TD Ameritrade EURO FX symbols
FUTURE Symbol:
/6E+QUARTER MONTH+YEAR
ex: /6EH19 = H for march quarter, 19 year 2019
ex: /6EM20 = H for June quarter, 20 year 2020
FUTURE_OPTION_SYMBOL:
/EUU+MONTH+YEAR
ex: /EUUJ20 for /66EM20 means: J for April option with expiration
以下是TD流接受的符号:
-------------------------------
"service": "LEVELONE_FUTURES"
"keys": "/6EM21"
-------------------------------
-------------------------------
"service": "LEVELONE_FUTURES_OPTIONS"
"keys": "./EUUJ22C1.175"
-------------------------------
-------------------------------
"service": "LEVELONE_FOREX"
"keys": "EUR/USD"
-------------------------------
下面是一个网站的摘录(不记得是哪一个了)
**Futures Symbols**
Futures and Futures Options can be obtained from the following exchanges: CME, CBOT, COMEX, KCBT, MGEX, ICE, NYMEX, and others. Trade the Currencies, Energies, Financials, Grains, Indices, Meats, Metals, and Softs. Press CTRL-F on the keyboard to search down through the symbols
Futures Commodity symbols are created in three parts:
the root symbol, the month code, and the year code.
The month code is represented with a single letter as displayed below:
F - January
G - February
H - March (accepted by TD)
J - April
K - May
M - June (accepted by TD)
N - July
Q - August
U - September (accepted by TD)
V - October
X - November
Z - December (accepted by TD)
The year code is displayed as one digit:
2018 would be displayed as 8
2019 would be displayed as 9
For example, the E-mini S&P 500, December 2018 would be -ESZ8
-ES is the root symbol
Z is the month of December
8 is for the year 2018
Sample Futures Symbols
-ESZ8 E-mini S&P 500, December 2018 contract
-NQH9 nbsp; E-mini Nasdaq, March 2019 contract
-YMH9 E-mini Dow Jones, March 2019 contract