Download in Bulk
US Index Option Universe
Introduction
Download the US Index Option Universe dataset in bulk to get the full dataset without any selection bias. The bulk dataset packages contains the available Option contracts and their daily Greeks and implied volatility values for every underlying US Index and trading day.
Download History
To unlock local access to the US Index Option Universe dataset, open the Pricing page of your organization and subscribe to the data package. You need billing permissions to change the organization's subscriptions.
After you subscribe to local access, to download the US Equity Option Universe data, follow these steps:
- Log in to the Algorithm Lab.
- On the CLI tab of the dataset listing, use the CLI Command Generator to generate your download command and then copy it.
- Open a terminal in your organization workspace and then run the command from the CLI Command Generator.
The Ticker, Start Date, and End Date fields are irrelevant for bulk downloads.
Download Daily Updates
After you bulk download the US Index Option Universe dataset, new daily updates are available at 7 AM Eastern Time (ET) after each trading day. To unlock local access to the data updates, open the Pricing page of your organization and subscribe to the data package. You need billing permissions to change the organization's subscriptions.
After you subscribe to dataset updates, to update your local copy of the US Index Option Universe dataset, use the CLI Command Generator to generate your download command and then run it in a terminal in your organization workspace.
Alternatively, instead of directly calling the lean data download
command, you can place the following Python script in the data directory of your organization workspace and run it to update your data files.
import os from datetime import datetime, time, timedelta from pytz import timezone from os.path import abspath, dirname os.chdir(dirname(abspath(__file__))) OVERWRITE = False def __get_start_date() -> str: dir_name = f"indexoption/usa/universes" files = [] if not os.path.exists(dir_name) else sorted(os.listdir(dir_name)) return files[-1].split(".")[0] if files else '19980101' def __get_end_date() -> str: now = datetime.now(timezone("US/Eastern")) if now.time() > time(7, 0): return (now - timedelta(1)).strftime("%Y%m%d") print('New data is available at 07:00 AM EST') return (now - timedelta(2)).strftime("%Y%m%d") if __name__ == "__main__": start, end = __get_start_date(), __get_end_date() if start >= end: exit("Your data is already up to date.") command = f'lean data download --dataset "US Index Option Universe" --data-type "Bulk" --start {start} --end {end}' if OVERWRITE: command += " --overwrite" print(command) os.system(command)
The preceding script checks the date of the most recent US Index Option Universe data you have. If there is new data available, it downloads the new data files.