From 450a0dac51b349d9a6f88a280e1266eb8392f458 Mon Sep 17 00:00:00 2001 From: Shawn Snyder Date: Tue, 8 Jul 2025 09:40:42 -0500 Subject: [PATCH 1/3] Add more cboe and conditions to the readme --- README.md | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b047a1..7849605 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,7 @@ sys.exit(0) * **`OTC`** - OTC in the DELAYED_SIP provider. * **`NASDAQ_BASIC`** - NASDAQ Basic in the NASDAQ_BASIC provider. * **`IEX`** - From the IEX exchange in the REALTIME provider. + * **`CBOE_ONE`** - From the CBOE One exchanges provider. * **market_center** - Provides the market center * **condition** - Provides the condition @@ -199,9 +200,106 @@ sys.exit(0) * **`OTC`** - OTC in the DELAYED_SIP provider. * **`NASDAQ_BASIC`** - NASDAQ Basic in the NASDAQ_BASIC provider. * **`IEX`** - From the IEX exchange in the REALTIME provider. + * **`CBOE_ONE`** - From the CBOE One exchanges provider. * **market_center** - Provides the market center * **condition** - Provides the condition +### Equities Trade Conditions + +| Value | Description | +|-------|---------------------------------------------------| +| @ | Regular Sale | +| A | Acquisition | +| B | Bunched Trade | +| C | Cash Sale | +| D | Distribution | +| E | Placeholder | +| F | Intermarket Sweep | +| G | Bunched Sold Trade | +| H | Priced Variation Trade | +| I | Odd Lot Trade | +| K | Rule 155 Trade (AMEX) | +| L | Sold Last | +| M | Market Center Official Close | +| N | Next Day | +| O | Opening Prints | +| P | Prior Reference Price | +| Q | Market Center Official Open | +| R | Seller | +| S | Split Trade | +| T | Form T | +| U | Extended Trading Hours (Sold Out of Sequence) | +| V | Contingent Trade | +| W | Average Price Trade | +| X | Cross/Periodic Auction Trade | +| Y | Yellow Flag Regular Trade | +| Z | Sold (Out of Sequence) | +| 1 | Stopped Stock (Regular Trade) | +| 4 | Derivatively Priced | +| 5 | Re-Opening Prints | +| 6 | Closing Prints | +| 7 | Qualified Contingent Trade (QCT) | +| 8 | Placeholder for 611 Exempt | +| 9 | Corrected Consolidated Close (Per Listing Market) | + + +### Equities Trade Conditions (CBOE One) +Trade conditions for CBOE One are represented as the integer representation of a bit flag. + +None = 0, +UpdateHighLowConsolidated = 1, +UpdateLastConsolidated = 2, +UpdateHighLowMarketCenter = 4, +UpdateLastMarketCenter = 8, +UpdateVolumeConsolidated = 16, +OpenConsolidated = 32, +OpenMarketCenter = 64, +CloseConsolidated = 128, +CloseMarketCenter = 256, +UpdateVolumeMarketCenter = 512 + + +### Equities Quote Conditions + +| Value | Description | +|-------|---------------------------------------------| +| R | Regular | +| A | Slow on Ask | +| B | Slow on Bid | +| C | Closing | +| D | News Dissemination | +| E | Slow on Bid (LRP or Gap Quote) | +| F | Fast Trading | +| G | Trading Range Indication | +| H | Slow on Bid and Ask | +| I | Order Imbalance | +| J | Due to Related - News Dissemination | +| K | Due to Related - News Pending | +| O | Open | +| L | Closed | +| M | Volatility Trading Pause | +| N | Non-Firm Quote | +| O | Opening | +| P | News Pending | +| S | Due to Related | +| T | Resume | +| U | Slow on Bid and Ask (LRP or Gap Quote) | +| V | In View of Common | +| W | Slow on Bid and Ask (Non-Firm) | +| X | Equipment Changeover | +| Y | Sub-Penny Trading | +| Z | No Open / No Resume | +| 1 | Market Wide Circuit Breaker Level 1 | +| 2 | Market Wide Circuit Breaker Level 2 | +| 3 | Market Wide Circuit Breaker Level 3 | +| 4 | On Demand Intraday Auction | +| 45 | Additional Information Required (CTS) | +| 46 | Regulatory Concern (CTS) | +| 47 | Merger Effective | +| 49 | Corporate Action (CTS) | +| 50 | New Security Offering (CTS) | +| 51 | Intraday Indicative Value Unavailable (CTS) | + ## Example Options Usage ```python @@ -535,7 +633,7 @@ You will receive your Intrinio API Key after [creating an account](https://intri `client = IntrinioRealtimeEquitiesClient(configuration)` - Creates an Intrinio Realtime client * **Parameter** `configuration.api_key`: Your Intrinio API Key -* **Parameter** `configuration.provider`: The real-time data provider to use ("REALTIME" or "DELAYED_SIP" or "NASDAQ_BASIC") +* **Parameter** `configuration.provider`: The real-time data provider to use ("IEX"/"REALTIME", or "DELAYED_SIP", or "NASDAQ_BASIC", or "CBOE_ONE") * **Parameter** `configuration.on_quote(quote, backlog)`: A function that handles received quotes. `backlog` is an integer representing the approximate size of the queue of unhandled quote/trade events. * **Parameter** `configuration.on_trade(quote, backlog)`: A function that handles received trades. `backlog` is an integer representing the approximate size of the queue of unhandled quote/trade events. * **Parameter** `configuration.logger`: (optional) A Python Logger instance to use for logging From 8b22f01d134f3e9966e5a4dad054f6597993a386 Mon Sep 17 00:00:00 2001 From: Shawn Snyder Date: Wed, 9 Jul 2025 21:43:04 -0500 Subject: [PATCH 2/3] missed a spot --- intriniorealtime/equities_client.py | 2 +- intriniorealtime/equities_replay_client.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/intriniorealtime/equities_client.py b/intriniorealtime/equities_client.py index 911c10b..34cae75 100644 --- a/intriniorealtime/equities_client.py +++ b/intriniorealtime/equities_client.py @@ -23,7 +23,6 @@ CTA_B = "CTA_B" UTP = "UTP" OTC = "OTC" -NASDAQ_BASIC = "NASDAQ_BASIC" IEX = "IEX" CBOE_ONE = "CBOE_ONE" PROVIDERS = [REALTIME, MANUAL, DELAYED_SIP, NASDAQ_BASIC, IEX, CBOE_ONE] @@ -471,6 +470,7 @@ def __init__(self, client, bypass_parsing: bool): 4: OTC, 5: NASDAQ_BASIC, 6: IEX, + 7: CBOE_ONE } def parse_quote(self, quote_bytes: bytes, start_index: int = 0) -> EquitiesQuote: diff --git a/intriniorealtime/equities_replay_client.py b/intriniorealtime/equities_replay_client.py index e76c1f4..98f41df 100644 --- a/intriniorealtime/equities_replay_client.py +++ b/intriniorealtime/equities_replay_client.py @@ -446,6 +446,7 @@ def __init__(self, client): 4: IntrinioRealtimeConstants.OTC, 5: IntrinioRealtimeConstants.NASDAQ_BASIC, 6: IntrinioRealtimeConstants.IEX, + 7: IntrinioRealtimeConstants.CBOE_ONE, } def parse_quote(self, quote_bytes, start_index=0): From fb99d6d380ba8e705f1bd9351428af9fee9fd784 Mon Sep 17 00:00:00 2001 From: Shawn Snyder Date: Wed, 9 Jul 2025 21:45:15 -0500 Subject: [PATCH 3/3] version bump --- intriniorealtime/equities_client.py | 2 +- setup.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/intriniorealtime/equities_client.py b/intriniorealtime/equities_client.py index 34cae75..4d39ab6 100644 --- a/intriniorealtime/equities_client.py +++ b/intriniorealtime/equities_client.py @@ -32,7 +32,7 @@ HEADER_MESSAGE_FORMAT_KEY = "UseNewEquitiesFormat" HEADER_MESSAGE_FORMAT_VALUE = "v2" HEADER_CLIENT_INFORMATION_KEY = "Client-Information" -HEADER_CLIENT_INFORMATION_VALUE = "IntrinioPythonSDKv6.0.1" +HEADER_CLIENT_INFORMATION_VALUE = "IntrinioPythonSDKv6.0.2" class EquitiesQuote: diff --git a/setup.py b/setup.py index 82ab308..6596a67 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ def readme(): setup( name = 'intriniorealtime', packages = ['intriniorealtime'], - version = '6.0.1', + version = '6.0.2', author = 'Intrinio Python SDK for Real-Time Stock Prices', author_email = 'success@intrinio.com', url = 'https://intrinio.com', @@ -16,7 +16,7 @@ def readme(): long_description_content_type = 'text/markdown', install_requires = ['requests>=2.26.0','websocket-client>=1.2.1','wsaccel>=0.6.3', 'intrinio-sdk>=6.26.0'], python_requires = '~=3.10', - download_url = 'https://github.com/intrinio/intrinio-realtime-python-sdk/archive/v6.0.1.tar.gz', + download_url = 'https://github.com/intrinio/intrinio-realtime-python-sdk/archive/v6.0.2.tar.gz', keywords = ['realtime','stock prices','intrinio','stock market','stock data','financial'], classifiers = [ 'Intended Audience :: Financial and Insurance Industry',