- ago
These are questions I asked of the TDA API support team along with answers.

QUOTE:
Questions

Currently I am testing a live account with the API and it works well with daily data and a few symbols. I would like to know if your API support (after Schwab transition) will support features I require to trade options, Does your API:

1. Allow download of current and historical daily data for 100 stock symbols at a time?
2. Provide an option symbol given parameters of symbol, strike, and expiration date?
3. Provide Greeks for option symbols?

If there is an information page with this information, please send me a link.

Answers

1.- yes it is possible, the quotes endpoint of the market data API within the Schwab Trader API enables the ability to get Quotes by list of symbols which are separated by a comma. I just tested and pulled quote information for all stocks in the Nasdaq 100 simultaneously with a single request successfully. For pricehistory this is done for a single symbol and date range per API call. The maximum number of requests per minute is 120, so it is possible to also get historical data for all 100 symbols within a 1 minute period although it would be nearing the limitation of the maximum permitted data requests per minute.
2.- There is an Option Chains endpoint which retrieves the option symbol in a compatible format available within the same Market Data API in the Schwab Trader API ecosystem.
3.- Greeks are part of the response to the same "Chains" endpoint referenced above.
There is documentation available on developer.schwab.com which is unlocked once you have an app that is approved to use these endpoints. I hope this is helpful!

It appears that Schwab will have the option features capabilities supported by WL for other brokers, such as IB and Tradier, and will support a data-populated option chain retrieval that includes Greeks.

It does not appear that there is a set of TDAmeritradeHistorical.Instance. methods as with other brokers, or they have not been exposed. Is there a plan to expose a SchwabHistorical.Instance. set of capabilities that takes advantage of some or all of these features?
2
1,355
8 Replies

Reply

Bookmark

Sort
Cone8
 ( 4.83% )
- ago
#1
The plan is to get approved for access to the Schwab API first.
We had our request in months ago.
0
- ago
#2
Hi,
What is going on with the development of the Schwab api extension? If you guys are waiting for Schwab to respond, I would call them and find out what the heck is going on. I’m frustrated. I’m switching brokers and may or may not use your software anymore. Your team has developed some really good software and have had great customer service. I mean excellent!! But when it came to this extension, you’ve dropped the ball. I got approved to use the API. Why can’t you guys figure this out? I’m sure I’m not the only customer who has waited for it.
Thanks,
Mike
0
Glitch8
 ( 11.08% )
- ago
#3
Schwab finally responded to us via email and indicated that they are now reviewing our application for api access.
4
- ago
#4
Thank you Glitch for the update.
0
- ago
#5
Thanks for all the hard work getting the Schwab extension put out. It seems very fast for getting ticker quote data downloaded.

Any insight on the Options abilities of the data-feed at this time?

I tried briefly to use a few lines of code with no avail (compile error) including:
CODE:
double actualiv = SchwabHistorical.Instance.CalculateIV(OptSym, Optbars.LastValue, bars.LastValue);

CODE:
OptionGreek greek = SchwabHistorical.Instance.GetGreeks(OptSym);          WriteToDebugLog("IV = " + greek.IV.ToString("N2") +             " Delta = " + greek.Delta.ToString("N2") +             " Gamma = " + greek.Gamma.ToString("N2") +             " Theta = " + greek.Theta.ToString("N2") +             " Vega = " + greek.Vega.ToString("N2")

CODE:
int _minDaysToExpire = 5;          DateTime expDate = bars.DateTimes[lb].AddDays(_minDaysToExpire).NextOptionExpiryDate(bars);          List<OptionGreek> optChain = new List<OptionGreek>();          optChain = SchwabHistorical.Instance.GetOptionChainSnapshot(underlying, expDate, OptionType.Call, 470, 510);          foreach (OptionGreek g in optChain)          {             WriteToDebugLog(g.Symbol + "\t\t" + g.Delta.ToString("N2") + "\t" + g.Bid.ToString("N2") + "\t" + g.Ask.ToString("N2") + "\t" + g.Midpoint.ToString("N2")                + "\t" + g.UpdatedAt                , false);          }


Is this a limitation of the data feed, a feature that has not been yet enabled, or just poor coding on my part?

Thanks again for getting the extension rolled out.

-bd
0
- ago
#6
@bcdxxx...

Make sure your using statements at the top of the code includes this...

CODE:
using WealthLab.Schwab;
0
- ago
#7
Yes, definitely have the using Wealth lab.Schwab statement at the top.... Thanks for the double-check.
Fixed all the red squiggly underlines in the code. Just getting error messages on execution
0
Cone8
 ( 4.83% )
- ago
#8
If it's not in our documentation, it's not done yet.
.. but it (Options support) will be for Build 2. I'm glad to hear that you'll be using it!
0

Reply

Bookmark

Sort