NASDAQ Options chain Scraper
Python Options Chain scraper for the old NASDAQ website : https://old.nasdaq.com
Install
pip install options-scraper
API
Use the API if you want to access the scraped data records ( as python objects ) directly.
Usage
from options_scraper.scraper import NASDAQOptionsScraper
from options_scraper.utils import batched
scraper = NASDAQOptionsScraper()
ticker_symbol = 'XOM'
kwargs = { "money": 'all',
"expir": 'week',
"excode": None,
"callput": None
}
records_generator = scraper(ticker_symbol, **kwargs)
# Either access each record individually as shown below
for item in records_generator:
print(item)
# Or use the batched util to get a list of items
for items in batched(records_generator, batch_size=100):
print(items)
Output
Each scraped record will have the following structure
{'Ask': '23.20',
'Bid': '18.50',
'Calls': 'Apr 24, 2020',
'Chg': '',
'Last': '19.40',
'Open Int': '15',
'Puts': 'Apr 24, 2020',
'Root': 'XOM',
'Strike': '60',
'Vol': '0'}
{'Ask': '28.20',
'Bid': '23.50',
'Calls': 'Apr 24, 2020',
'Chg': '',
'Last': '29.67',
'Open Int': '3',
'Puts': 'Apr 24, 2020',
'Root': 'XOM',
'Strike': '65',
'Vol': '0'}
Console Script
Use this script to scrape records and save them either in CSV or JSON format.
options-scraper --help
usage: options-scraper [-h]
[-l {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
[-t TICKER]
[-o ODIR]
[-b BATCH_SIZE]
[-c {call,put}]
[-m {all,in,out,near}]
[-e EXCODE]
[-x {week,stan,quart,cebo}]
[-s {json,csv}]
optional arguments:
-h, --help show this help message and exit
-l {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}, --log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}
-t TICKER, --ticker TICKER Ticker Symbol
-o ODIR, --odir ODIR Output directory
-b BATCH_SIZE, --batch_size BATCH_SIZE Batch Size
-c {call,put}, --callput {call,put}
-m {all,in,out,near}, --money {all,in,out,near}
-e EXCODE, --excode EXCODE excode
-x {week,stan,quart,cebo}, --expir {week,stan,quart,cebo}
-s {json,csv}, --serialize {json,csv} Serialization format
Serialization format (-s)
You have an option to output the data either in a CSV file or a JSON file. Default format is CSV.
Batch Size (-b)
Define how many records each csv or json file should have.
Examples
- To get all the option chain for XOM in a batch_size of 1000 and
csvfile format. This will make sure that each CSV file has 1000 records in it. The last file will have the remaining records
options-scraper -t XOM -o /Users/abhishek/options_data -b 1000 -s csv
- To get all option chain data for MSFT in a batch_size of 10 and
jsonfile format.
options-scraper -t MSFT -o /Users/abhishek/options_data -b 10 -s json
- To get all
putoptions with weekly expiry.
options-scraper -t XOM -e cbo -c put -x week -o /Users/abhishek/options_data
- To get all
calloptions withceboexpiry.
options-scraper -t XOM -c call -x cebo -o /Users/abhishek/options_data
Metadata
Release files for options-scraper 0.9.91
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| options_scraper-0.9.91.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| options_scraper-0.9.91-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / options_scraper-0.9.91.tar.gz
| Download URL | options_scraper-0.9.91.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf9d0a787d4f512c423408c47ec05b5c7bbab30ec3c7f4b67ce04f5899805f50
|
|
BLAKE2b-256 checksum How to use checksums |
3f21d375dff3217fc5d0c2c7eb6d31cb6bd462132325af5b2cdb9dd28edd5319
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
|
Release files / options_scraper-0.9.91-py3-none-any.whl
| Download URL | options_scraper-0.9.91-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
549fd132e30488537410fed069eb9fe2ffd66fd87a029bda3de71193fecdb329
|
|
BLAKE2b-256 checksum How to use checksums |
84c1c8f027655c418193759043d33346872f9a11a84be971f96d81579764cfff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7
|