SOLUTION: detecting NS strikes (when not marked in the data)
As is nastily well known, some options data sources (for example YF-API ) do not differentiate between normal standard strikes and Non-Standard (NS) strikes, ie. both are mixed in the same chain table without any markings for the NS strikes. Of course such data is not usable! But at the same time it's not possible to know whether its usable or not usable b/c one simply does not know whether it's NS!... Of course a real dilemma...
BUT I today finally have found a solution to make this data still usable!
Some programming (or scripting) is required.
Here the solution:
Step 1: Before market opens, get a daily list that has all the valid strikes (see below).
Step 2: Test whether strike is NS by looking up in the list from Step 1.
Voila! Problem cleverly solved!
Downloading daily list of US options as CSV file (UnderlyingTicker, ExpDates, Strikes, ...):
$ wget -O options.csv "ftp://ftp.nasdaqtrader.com/SymbolDirectory/options.txt"
Example excerpt:
The options data from YahooFinance (Web or via API) has additionally the Put NS strike 1.5 and Call NS strike 0.5. As can be seen, these nasty NS strikes now can be detected and filtered out by looking up in the above list.
As is nastily well known, some options data sources (for example YF-API ) do not differentiate between normal standard strikes and Non-Standard (NS) strikes, ie. both are mixed in the same chain table without any markings for the NS strikes. Of course such data is not usable! But at the same time it's not possible to know whether its usable or not usable b/c one simply does not know whether it's NS!... Of course a real dilemma...

BUT I today finally have found a solution to make this data still usable!
Some programming (or scripting) is required.
Here the solution:
Step 1: Before market opens, get a daily list that has all the valid strikes (see below).
Step 2: Test whether strike is NS by looking up in the list from Step 1.
Voila! Problem cleverly solved!

Downloading daily list of US options as CSV file (UnderlyingTicker, ExpDates, Strikes, ...):
$ wget -O options.csv "ftp://ftp.nasdaqtrader.com/SymbolDirectory/options.txt"
Example excerpt:
Code:
...
SKLZ|N|C|03/15/2024|1.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|2.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|3.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|4.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|5.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|6.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|7.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|8.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|C|03/15/2024|9.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|1.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|2.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|3.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|4.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|5.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|6.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|7.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|8.000|SKLZ|Skillz Inc. Class A|N
SKLZ|N|P|03/15/2024|9.000|SKLZ|Skillz Inc. Class A|N
...
The options data from YahooFinance (Web or via API) has additionally the Put NS strike 1.5 and Call NS strike 0.5. As can be seen, these nasty NS strikes now can be detected and filtered out by looking up in the above list.
Last edited:
), and even some more strikes, which is/are non-existent at other brokerages nor in the above said options.csv file.