itchfeed 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
itch/__init__.py ADDED
@@ -0,0 +1,14 @@
1
+ """
2
+ Nasdaq TotalView-ITCH 5.0 Parser
3
+ ================================
4
+ """
5
+
6
+ __author__ = "Bertin Balouki SIMYELI"
7
+ __copyright__ = "2025 Bertin Balouki SIMYELI"
8
+ __email__ = "bertin@bbstrader.com"
9
+ __license__ = "MIT"
10
+ __version__ = "1.0.0"
11
+
12
+
13
+ from itch.messages import * # noqa: F403
14
+ from itch.parser import MessageParser # noqa: F401
itch/indicators.py ADDED
@@ -0,0 +1,206 @@
1
+ SYSTEM_EVENT_CODES = {
2
+ b"O": "Start of Messages",
3
+ b"S": "Start of System hours",
4
+ b"Q": "Start of Market hours",
5
+ b"M": "End of Market hours",
6
+ b"E": "End of System hours",
7
+ b"C": "End of Messages",
8
+ }
9
+
10
+
11
+ MARKET_CATEGORY = {
12
+ b"N": "NYSE",
13
+ b"A": "AMEX",
14
+ b"P": "Arca",
15
+ b"Q": "NASDAQ Global Select",
16
+ b"G": "NASDAQ Global Market",
17
+ b"S": "NASDAQ Capital Market",
18
+ b"Z": "BATS",
19
+ b"V": "Investors Exchange",
20
+ b" ": "Not available",
21
+ }
22
+
23
+
24
+ FINANCIAL_STATUS_INDICATOR = {
25
+ b"D": "Deficient",
26
+ b"E": "Delinquent",
27
+ b"Q": "Bankrupt",
28
+ b"S": "Suspended",
29
+ b"G": "Deficient and Bankrupt",
30
+ b"H": "Deficient and Delinquent",
31
+ b"J": "Delinquent and Bankrupt",
32
+ b"K": "Deficient, Delinquent and Bankrupt",
33
+ b"C": "Creations and/or Redemptions Suspended for Exchange Traded Product",
34
+ b"N": "Normal (Default): Issuer is NOT Deficient, Delinquent, or Bankrupt",
35
+ b" ": "Not available. Firms should refer to SIAC feeds for code if needed",
36
+ }
37
+
38
+
39
+ ISSUE_CLASSIFICATION_VALUES = {
40
+ b"A": "American Depositary Share",
41
+ b"B": "Bond",
42
+ b"C": "Common Stock",
43
+ b"F": "Depository Receipt",
44
+ b"I": "144A",
45
+ b"L": "Limited Partnership",
46
+ b"N": "Notes",
47
+ b"O": "Ordinary Share",
48
+ b"P": "Preferred Stock",
49
+ b"Q": "Other Securities",
50
+ b"R": "Right",
51
+ b"S": "Shares of Beneficial Interest",
52
+ b"T": "Convertible Debenture",
53
+ b"U": "Unit",
54
+ b"V": "Units/Beneficial Interest",
55
+ b"W": "Warrant",
56
+ }
57
+
58
+
59
+ ISSUE_SUB_TYPE_VALUES = {
60
+ b"A": "Preferred Trust Securities",
61
+ b"AI": "Alpha Index ETNs",
62
+ b"B": "Index Based Derivative",
63
+ b"C": "Common Shares",
64
+ b"CB": "Commodity Based Trust Shares",
65
+ b"CF": "Commodity Futures Trust Shares",
66
+ b"CL": "Commodity-Linked Securities",
67
+ b"CM": "Commodity Index Trust Shares",
68
+ b"CO": "Collateralized Mortgage Obligation",
69
+ b"CT": "Currency Trust Shares",
70
+ b"CU": "Commodity-Currency-Linked Securities",
71
+ b"CW": "Currency Warrants",
72
+ b"D": "Global Depositary Shares",
73
+ b"E": "ETF-Portfolio Depositary Receipt",
74
+ b"EG": "Equity Gold Shares",
75
+ b"EI": "ETN-Equity Index-Linked Securities",
76
+ b"EM": "NextShares Exchange Traded Managed Fund*",
77
+ b"EN": "Exchange Traded Notes",
78
+ b"EU": "Equity Units",
79
+ b"F": "HOLDRS",
80
+ b"FI": "ETN-Fixed Income-Linked Securities",
81
+ b"FL": "ETN-Futures-Linked Securities",
82
+ b"G": "Global Shares",
83
+ b"I": "ETF-Index Fund Shares",
84
+ b"IR": "Interest Rate",
85
+ b"IW": "Index Warrant",
86
+ b"IX": "Index-Linked Exchangeable Notes",
87
+ b"J": "Corporate Backed Trust Security",
88
+ b"L": "Contingent Litigation Right",
89
+ b"LL": "Limited Liability Company (LLC)",
90
+ b"M": "Equity-Based Derivative",
91
+ b"MF": "Managed Fund Shares",
92
+ b"ML": "ETN-Multi-Factor Index-Linked Securities",
93
+ b"MT": "Managed Trust Securities",
94
+ b"N": "NY Registry Shares",
95
+ b"O": "Open Ended Mutual Fund",
96
+ b"P": "Privately Held Security",
97
+ b"PP": "Poison Pill",
98
+ b"PU": "Partnership Units",
99
+ b"Q": "Closed-End Funds",
100
+ b"R": "Reg-S",
101
+ b"RC": "Commodity-Redeemable Commodity-Linked Securities",
102
+ b"RF": "ETN-Redeemable Futures-Linked Securities",
103
+ b"RT": "REIT",
104
+ b"RU": "Commodity-Redeemable Currency-Linked Securities",
105
+ b"S": "SEED",
106
+ b"SC": "Spot Rate Closing",
107
+ b"SI": "Spot Rate Intraday",
108
+ b"T": "Tracking Stock",
109
+ b"TC": "Trust Certificates",
110
+ b"TU": "Trust Units",
111
+ b"U": "Portal",
112
+ b"V": "Contingent Value Right",
113
+ b"W": "Trust Issued Receipts",
114
+ b"WC": "World Currency Option",
115
+ b"X": "Trust",
116
+ b"Y": "Other",
117
+ b"Z": "Not Applicable",
118
+ }
119
+
120
+
121
+ TRADING_STATES = {
122
+ b"H": "Halted across all U.S. equity markets / SROs",
123
+ b"P": "Paused across all U.S. equity markets / SROs",
124
+ b"Q": "Quotation only period for cross-SRO halt or pause",
125
+ b"T": "Trading on NASDAQ",
126
+ }
127
+
128
+
129
+ TRADING_ACTION_REASON_CODES = {
130
+ b"T1": "Halt News Pending",
131
+ b"T2": "Halt News Disseminated",
132
+ b"T3": "News and Resumption Times",
133
+ b"T5": "Single Security Trading Pause In Effect",
134
+ b"T6": "Regulatory Halt - Extraordinary Market Activity",
135
+ b"T7": "Single Security Trading Pause / Quotation Only Period",
136
+ b"T8": "Halt ETF",
137
+ b"T12": "Trading Halted; For Information Requested by Listing Market",
138
+ b"H4": "Halt Non-Compliance",
139
+ b"H9": "Halt Filings Not Current",
140
+ b"H10": "Halt SEC Trading Suspension",
141
+ b"H11": "Halt Regulatory Concern",
142
+ b"O1": "Operations Halt; Contact Market Operations",
143
+ b"LUDP": "Volatility Trading Pause",
144
+ b"LUDS": "Volatility Trading Pause - Straddle Condition",
145
+ b"MWC0": "Market Wide Circuit Breaker Halt - Carry over from previous day",
146
+ b"MWC1": "Market Wide Circuit Breaker Halt - Level 1",
147
+ b"MWC2": "Market Wide Circuit Breaker Halt - Level 2",
148
+ b"MWC3": "Market Wide Circuit Breaker Halt - Level 3",
149
+ b"MWCQ": "Market Wide Circuit Breaker Resumption",
150
+ b"IPO1": "IPO Issue Not Yet Trading",
151
+ b"IPOQ": "IPO Security Released for Quotation (Nasdaq Securities Only)",
152
+ b"IPOE": "IPO Security — Positioning Window Extension (Nasdaq Securities Only)",
153
+ b"M1": "Corporate Action",
154
+ b"M2": "Quotation Not Available",
155
+ b"R1": "New Issue Available",
156
+ b"R2": "Issue Available",
157
+ b"R4": "Qualifications Issues Reviewed/Resolved; Quotations/Trading to Resume",
158
+ b"R9": "Filing Requirements Satisfied/Resolved; Quotations/Trading To Resume",
159
+ b"C3": "Issuer News Not Forthcoming; Quotations/Trading To Resume",
160
+ b"C4": "Qualifications Halt Ended; Maintenance Requirements Met; Resume",
161
+ b"C9": "Qualifications Halt Concluded; Filings Met; Quotes/Trades To Resume",
162
+ b"C11": "Trade Halt Concluded By Other Regulatory Authority; Quotes/Trades Resume",
163
+ b" ": "Reason Not Available",
164
+ }
165
+
166
+
167
+ PRIMARY_MARKET_MAKER = {
168
+ b"Y": "Primary market maker",
169
+ b"N": "Non-primary market maker",
170
+ }
171
+
172
+
173
+ MARKET_MAKER_MODE = {
174
+ b"N": "Normal",
175
+ b"P": "Passive",
176
+ b"S": "Syndicate",
177
+ b"R": "Pre-syndicate",
178
+ b"L": "Penalty",
179
+ }
180
+
181
+
182
+ MARKET_PARTICIPANT_STATE = {
183
+ b"A": "Active",
184
+ b"E": "Excused",
185
+ b"W": "Withdrawn",
186
+ b"S": "Suspended",
187
+ b"D": "Deleted",
188
+ }
189
+
190
+
191
+ PRICE_VARIATION_INDICATOR = {
192
+ b"L": "Less than 1%",
193
+ b"1": "1 to 1.99%",
194
+ b"2": "2 to 2.99%",
195
+ b"3": "3 to 3.99%",
196
+ b"4": "4 to 4.99%",
197
+ b"5": "5 to 5.99%",
198
+ b"6": "6 to 6.99%",
199
+ b"7": "7 to 7.99%",
200
+ b"8": "8 to 8.99%",
201
+ b"9": "9 to 9.99%",
202
+ b"A": "10 to 19.99%",
203
+ b"B": "20 to 29.99%",
204
+ b"C": "30% or greater",
205
+ b" ": "Cannot be calculated",
206
+ }