Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)

"Thank God for your Data Feed as the only Zippers I see are on my pants (LOL), and no more 200 pip spikes to mess up charts." - Comment from Spiro via Email
"Thank you so much - awesome feed, awesome service!" - Comment from Greg via Email
"There is no doubt that IQFeed is the best data provider. I am very satisfied with your services. And IQFeed is the only one that I would recommend to my friends. Now, most of them are using your product in China." - Comment from Zhezhe
"I had always used ******* but for the past 2 weeks have been trying DTN IQFeed. Customer support has been extraordinary. They call just to make sure your problem hasn't recurred." - Comment from Public Forum
"And by the way, have to say this. I love the IQFeed software. It's rock solid and it has a really nice API." - Comment from Thomas via RT Chat
"Previously I was using *******. IQFeed is WAY more economical, and for my charting needs is just as good, if not better." - Comment from Public Forum Post
"If you want customer service that answers the phone, your best bet is IQFeed. I cannot stop praising them or their technical support. They are always there for you, and they are quick. I have used ****** too but the best value is IQFeed." - Comment from Public Forum
"Interactive Brokers tick data was inconsistent, so I have switched to using DTN exclusively. It is great to no longer have to worry about my datafeed all day long." - Comment from Philippe
"I have to tell you though that using the IQFeed API is about the easiest and cleanest I have seen for some time." - Comment from Jim
"I cannot believe what a difference it makes trading with ProphetX!" - Comment from Bruce in Los Angeles
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
Viewing User Profile for: J
About Contact
Joined: Jun 27, 2017 06:38 PM
Last Post: Aug 19, 2018 05:16 PM
Last Visit: Aug 19, 2018 05:19 PM
Yahoo IM:
Post Statistics
J has contributed to 24 posts out of 20596 total posts (0.12%) in 1,790 days (0.01 posts per day).

20 Most recent posts:

Oh right. You mentioned tick data. Try pulling 1 minute bars to validate the query first, then try for tick.


Assuming you are paying for the OPRA feed, there is probably something wrong with how you are querying. The typical problem I observed has to do with naming the symbol correctly.

Here is a sample query that worked for me just now. I picked one of the first AAPL symbols from the ftp file mentioned above.


(Obviously the query identifier -- the string that has HISTORY in it-- is optional and can be omitted).
The reply I got was one line:

AAPL1001J210 2010-09-28T17:05:54 76.34 68.34 68.34 73.69 20 0

@AK786, I think that open interest is available.

You do have to use the Dynamic Fieldsets to request it.

Open interest is part of the update/summary structure.

Frequently, however, open interest is zero for much of the chain. Cross reference against your broker to verify a non-zero expected value.

IQFeed Developer Support » greeks / delta Sep 27, 2017 08:17 AM (Total replies: 10)

> Any thoughts?

@stargazer: I confirmed with a popular vendor of historical options data and derived data that they use the 30 day interest rate even for expirations of less than 30 days.

Page 2 of this flyer from Schwab (also attached) seems to indicate that (at least Schwab's rules for the symbology the publish under) are dependent on the type and size of the split:

1. regular splits: always reduce strike price; and adjust the symbol if the M:N split has N > 1,

1. reverse splits: never adjust strike price; and always change the symbol.

Two questions then:

a) do IQFeed net options symbology follow the same rules as Schwab? If not, what rules are followed?

b) If the same rules as Schwab: For reverse splits, the symbol always changes... this begs the question, how does the symbol change? Examples would be most helpful here.

Thank you.

A related question about the symbology of options when a split has happened between when the option was first issued and when it expired:

Does the strike price at the end of the option symbol reflect the split or split-adjusted price?


I have noticed that HIT calls for intra-day bars of length 1 hour are not split-adjusted in the two symbols I checked. Can this be relied upon? In other words, is it the case that a HIT call will never return split back-adjusted prices?

Just following up. Any progress on this? Thanks!

IQFeed Developer Support » greeks / delta Sep 15, 2017 12:51 AM (Total replies: 10)

> Any thoughts?

I'm not certain. I was reading that libor USD overnight rate is the usual thing, as "its more independent of New York". LOL. For all that suspicion of the US market, it turns out LIBOR is more likely to have been manipulated. Anyway, the short term LIBOR rates denominated in USD should be reasonable.

> Whether they use mid-bid...

The midpoint is probably your best bet. Model computations typically put the theoretical price between the inside bid and inside ask of my broker's quotes.

> code is at:

This is quite a nice collection of code!

When pulling daily bars (daily open/low/high/close) historical data for stocks and ETFs/ETNs, it appears that some data has been back adjusted for splits. Is there some way to know if a split adjustment has been applied or not?

p.s. Apologies if this has been asked and answered before. The forum search functionality was reported broken at least since 2014 and apparently remains broken in 2017.

IQFeed Developer Support » greeks / delta Sep 12, 2017 10:24 PM (Total replies: 10)

@stargazer: The data look reasonable for those symbols. My only concern would be interest rate used for 0-2 week expiring options. TB30.X may be reasonable, but then again it may not be. I would spot check and compare against broker or other software's computed greeks.

Also as a sanity check for the 90 day/IRX.XO suggestion, here is the IRX.XO in context. It doesn't interpolate perfectly, but its not bad.

## showing current values after market close 2017Sept12.
## for same day/same week options, TB30.X is probably a little too high.
structSymbol( time_duration( hours( 0 * 24 ) ), "ONLIB.X" ), // overnight # 1.18%
structSymbol( time_duration( hours( 7 * 24 ) ), "1WLIB.X" ), // 1 week # 1.20%
structSymbol( time_duration( hours( 30 * 24 ) ), "1MLIB.X" ), // 1 month # 1.24%
structSymbol( time_duration( hours( 60 * 24 ) ), "2MLIB.X" ), // 2 month # 1.27%
structSymbol( time_duration( hours( 90 * 24 ) ), "3MLIB.X" ), // 3 month # 1.32%
structSymbol( time_duration( hours( 180 * 24 ) ), "6MLIB.X" ), // 6 month # 1.45%
structSymbol( time_duration( hours( 365 * 24 ) ), "1YLIB.X" ); // 1 year # 1.70%

structSymbol( time_duration( hours( 0 * 24 ) ), "TB30.X" ), // ???
structSymbol( time_duration( hours( 30 * 24 ) ), "TB30.X" ), // 30 day # 0.96%
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "IRX.XO" // 91 day # 1.018
structSymbol( time_duration( hours( 90 * 24 ) ), "TB90.X" ), // 90 day # 1.03%
structSymbol( time_duration( hours( 180 * 24 ) ), "TB180.X" ), // 180 day # 1.14%
structSymbol( time_duration( hours( 365 * 24 ) ), "1YCMY.X" ); // 1 year # 1.27%
structSymbol( time_duration( hours( 2*365*24 ) ), "2YCMY.X" ); // 2 year # 1.33%

IQFeed Developer Support » greeks / delta Sep 12, 2017 12:59 PM (Total replies: 10)

Nice. Great finds.

For those using IRX.XO (e.g. for the ~13week timeframe), remember to divide by 1000 to get a percentage (annualized percentage rate). Example: the current value of 10.18 represents a 1.018% interest rate.
Edited by J on Sep 12, 2017 at 03:16 PM

IQFeed Developer Support » greeks / delta Sep 12, 2017 07:03 AM (Total replies: 10)

The short story is, use IRX.XO. The long story is longer, of course.

Theoretically, if you want to be precise, that depends on two things. A call is a delayed purchase, so you are holding cash and earning the risk-free rate on that cash prior to purchase. The benefit of delaying the purchase with the call goes up as the interest rate on your cash goes up, so the price of the call goes up. So length of time and location in the world where you are holding your cash would both be factors.

In the US, you might typically use T-bill rates that correspond to the time-to-expiry of the option.

In Europe, you might typically use German Bund rates.

However the LIBOR interbank over-night interest rates is also widely used for shorter terms.

Hull and White (authors of the canonical textbook on derivatives pricing)
write in their abstract:
"Traditionally practitioners have used LIBOR and LIBOR-swap rates as proxies for risk-free rates
when valuing derivatives. This practice has been called into question by the credit crisis that
started in 2007. Many banks now consider that overnight indexed swap (OIS) rates should be
used as the risk-free rate when collateralized portfolios are valued and that LIBOR should be
used for this purpose when portfolios are not collateralized. This paper examines this practice
and concludes that OIS rates should be used in all situations."

Beyond theory, in practice, the risk-free rate is both (nowadays) small and changes very slowly. Since you usually want to match your markets pricing, you would typically either (1) just use a 30-day t-bill price; or (2) just calibrate against what an average of what current prices are saying they are using for the risk free rate by backsolving for it.

In even simpler practice, and for computing with IQFeed data, I would simply use the IRX.XO symbol:

IRX.XO is the 13-week T-bill (Treasury bill) yield index, published by the CBOE. Currently it is about 1% so its not going to make a huge impact on your greeks anyway, but you've got to use something, so use IRX.XO. It is readily available in the IQFeed.

IQFeed Developer Support » greeks / delta Sep 8, 2017 09:14 PM (Total replies: 10)

For historical and/or real-time options data, is there any computation of greeks available from iqfeed?

IQFeed Developer Support » premature !ENDMSG! Jul 23, 2017 07:43 PM (Total replies: 4)

Yep, Nevermind. This was all user error on my part.

IQFeed Developer Support » premature !ENDMSG! Jul 23, 2017 06:21 PM (Total replies: 4)

This is not an IQFEED issue but rather something to do with my code, since I can checkout an earlier version of my code and the earlier code retreives symbols far beyond the 2500; it works correctly.

Still puzzling over what the problem could be, so suggestions welcome.

IQFeed Developer Support » premature !ENDMSG! Jul 23, 2017 02:19 PM (Total replies: 4)

It's not symbol specific, I see the same truncation with 'SPY' and 'AAPL'.

If I set the DataPointsPerSend to 5797440 (asking server to queue all/approximately 11 years worth of 1 minute bars before sending it all down the socket), then I got 6369 lines of AAPL history 1-minute bars, covering only 2007-04-27 to 2007-05-21. This was the query:


Similarly for SPY I got only 10618 bars, covering 2007-04-23 to 2007-05-31.

Perhaps the database is down for maintenance? I should expect it to be available all weekend, no?


- J

IQFeed Developer Support » premature !ENDMSG! Jul 23, 2017 02:05 PM (Total replies: 4)

same thing happening with HID, for example:


returns on 2500 1-minute bars, instead of all available.

IQFeed Developer Support » premature !ENDMSG! Jul 23, 2017 01:48 PM (Total replies: 4)


I'm trying to retrieve historical 1-minute bar data for SPX.XO, from 2007 - present. For example, using the following request:

HIT,SPX.XO,60,20160101 093000,,,093000,160000,1,SPX.XO_HISTORY_9b1j30oylux517pwdzq1,,s

...and the odd part is that I'm getting an early !ENDMSG! after only 2500 bars retrieved (the value of DatapointsPerSend; if I raise DatapointsPerSend to 5000, I get 5000 bars before the !ENDMSG!).

I'm *fairly sure* I've succeeded before in pulling much more than DatapointsPerSend before getting !ENDMSG!... so I wanted to check if anything changed on the IQFEED end?

- J

Apart from historical, is there any advice for pulling just say, today's options chains that have trades?

To illustrate the problem: when I download the symbology .zip file for today, and exclude weeklies, for SPX alone there are 5405 symbols to query.

I thought I read somewhere that we're not allowed to rotate the symbol subscription list -- did I misunderstand? Or maybe the limits treat SPX as a single symbol so this isn't a problem? I'm just wondering how to subscribe to the SPX active option feed.

Time: Sat May 21, 2022 5:08 AM CFBB v1.2.0 15 ms.
© AderSoftware 2002-2003