Lean  $LEAN_TAG$
QuoteConditionFlags.cs
1 /*
2  * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
3  * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14 */
15 
16 using System;
17 using System.ComponentModel;
18 
20 {
21  /// <summary>
22  /// Flag system for quote conditions
23  /// </summary>
24  [Flags]
25  public enum QuoteConditionFlags : long
26  {
27  /// <summary>
28  /// No Condition
29  /// </summary>
30  None = 0,
31 
32  /// <summary>
33  /// This condition is used for the majority of quotes to indicate a normal trading environment.
34  /// </summary>
35  [Description("This condition is used for the majority of quotes to indicate a normal trading environment.")]
36  Regular = 1L << 0,
37 
38  /// <summary>
39  /// This condition is used to indicate that the quote is a Slow Quote on both the Bid and Offer
40  /// sides due to a Set Slow List that includes High Price securities.
41  /// </summary>
42  [Description("This condition is used to indicate that the quote is a Slow Quote on both the Bid and Offer " +
43  "sides due to a Set Slow List that includes High Price securities.")]
44  Slow = 1L << 1,
45 
46  /// <summary>
47  /// While in this mode, auto-execution is not eligible, the quote is then considered manual and non-firm in the Bid and Offer and
48  /// either or both sides can be traded through as per Regulation NMS.
49  /// </summary>
50  [Description("While in this mode, auto-execution is not eligible, the quote is then considered manual and non-firm in the Bid and Offer and " +
51  "either or both sides can be traded through as per Regulation NMS.")]
52  Gap = 1L << 2,
53 
54  /// <summary>
55  /// This condition can be disseminated to indicate that this quote was the last quote for a security for that Participant.
56  /// </summary>
57  [Description("This condition can be disseminated to indicate that this quote was the last quote for a security for that Participant.")]
58  Closing = 1L << 3,
59 
60  /// <summary>
61  /// This regulatory Opening Delay or Trading Halt is used when relevant news influencing the security is being disseminated.
62  /// Trading is suspended until the primary market determines that an adequate publication or disclosure of information has occurred.
63  /// </summary>
64  [Description("This regulatory Opening Delay or Trading Halt is used when relevant news influencing the security is being disseminated." +
65  "Trading is suspended until the primary market determines that an adequate publication or disclosure of information has occurred.")]
66  NewsDissemination = 1L << 4,
67 
68  /// <summary>
69  /// This condition is used to indicate a regulatory Opening Delay or Trading Halt due to an expected news announcement,
70  /// which may influence the security. An Opening Delay or Trading Halt may be continued once the news has been disseminated.
71  /// </summary>
72  [Description("This condition is used to indicate a regulatory Opening Delay or Trading Halt due to an expected news announcement, " +
73  "which may influence the security. An Opening Delay or Trading Halt may be continued once the news has been disseminated.")]
74  NewsPending = 1L << 5,
75 
76  /// <summary>
77  /// The condition is used to denote the probable trading range (bid and offer prices, no sizes) of a security that is not Opening Delayed or
78  /// Trading Halted. The Trading Range Indication is used prior to or after the opening of a security.
79  /// </summary>
80  [Description("The condition is used to denote the probable trading range (bid and offer prices, no sizes) of a security that is not Opening Delayed or" +
81  "Trading Halted. The Trading Range Indication is used prior to or after the opening of a security.")]
82  TradingRangeIndication = 1L << 6,
83 
84  /// <summary>
85  /// This non-regulatory Opening Delay or Trading Halt is used when there is a significant imbalance of buy or sell orders.
86  /// </summary>
87  [Description("This non-regulatory Opening Delay or Trading Halt is used when there is a significant imbalance of buy or sell orders.")]
88  OrderImbalance = 1L << 7,
89 
90  /// <summary>
91  /// This condition is disseminated by each individual FINRA Market Maker to signify either the last quote of the day or
92  /// the premature close of an individual Market Maker for the day.
93  /// </summary>
94  [Description("This condition is disseminated by each individual FINRA Market Maker to signify either the last quote of the day or" +
95  "the premature close of an individual Market Maker for the day.")]
96  ClosedMarketMaker = 1L << 8,
97 
98  /// <summary>
99  /// This quote condition indicates a regulatory Opening Delay or Trading Halt due to conditions in which
100  /// a security experiences a 10 % or more change in price over a five minute period.
101  /// </summary>
102  [Description("This quote condition indicates a regulatory Opening Delay or Trading Halt due to conditions in which " +
103  "a security experiences a 10 % or more change in price over a five minute period.")]
104  VolatilityTradingPause = 1L << 9,
105 
106  /// <summary>
107  /// This quote condition suspends a Participant's firm quote obligation for a quote for a security.
108  /// </summary>
109  [Description("This quote condition suspends a Participant's firm quote obligation for a quote for a security.")]
110  NonFirmQuote = 1L << 10,
111 
112  /// <summary>
113  /// This condition can be disseminated to indicate that this quote was the opening quote for a security for that Participant.
114  /// </summary>
115  [Description("This condition can be disseminated to indicate that this quote was the opening quote for a security for that Participant.")]
116  OpeningQuote = 1L << 11,
117 
118  /// <summary>
119  /// This non-regulatory Opening Delay or Trading Halt is used when events relating to one security will affect the price and performance of
120  /// another related security. This non-regulatory Opening Delay or Trading Halt is also used when non-regulatory halt reasons such as
121  /// Order Imbalance, Order Influx and Equipment Changeover are combined with Due to Related Security on CTS.
122  /// </summary>
123  [Description("This non-regulatory Opening Delay or Trading Halt is used when events relating to one security will affect the price and performance of " +
124  "another related security. This non-regulatory Opening Delay or Trading Halt is also used when non-regulatory halt reasons such as " +
125  "Order Imbalance, Order Influx and Equipment Changeover are combined with Due to Related Security on CTS.")]
126  DueToRelatedSecurity = 1L << 12,
127 
128  /// <summary>
129  /// This quote condition along with zero-filled bid, offer and size fields is used to indicate that trading for a Participant is no longer
130  /// suspended in a security which had been Opening Delayed or Trading Halted.
131  /// </summary>
132  [Description("This quote condition along with zero-filled bid, offer and size fields is used to indicate that trading for a Participant is no longer " +
133  "suspended in a security which had been Opening Delayed or Trading Halted.")]
134  Resume = 1L << 13,
135 
136  /// <summary>
137  /// This quote condition is used when matters affecting the common stock of a company affect the performance of the non-common
138  /// associated securities, e.g., warrants, rights, preferred, classes, etc.
139  /// </summary>
140  [Description("This quote condition is used when matters affecting the common stock of a company affect the performance of the non-common " +
141  "associated securities, e.g., warrants, rights, preferred, classes, etc.")]
142  InViewOfCommon = 1L << 14,
143 
144  /// <summary>
145  /// This non-regulatory Opening Delay or Trading Halt is used when the ability to trade a security by a Participant is temporarily
146  /// inhibited due to a systems, equipment or communications facility problem or for other technical reasons.
147  /// </summary>
148  [Description("This non-regulatory Opening Delay or Trading Halt is used when the ability to trade a security by a Participant is temporarily " +
149  "inhibited due to a systems, equipment or communications facility problem or for other technical reasons.")]
150  EquipmentChangeover = 1L << 15,
151 
152  /// <summary>
153  /// This non-regulatory Opening Delay or Trading Halt is used to indicate an Opening Delay or Trading Halt for a security whose price
154  /// may fall below $1.05, possibly leading to a sub-penny execution.
155  /// </summary>
156  [Description("This non-regulatory Opening Delay or Trading Halt is used to indicate an Opening Delay or Trading Halt for a security whose price" +
157  " may fall below $1.05, possibly leading to a sub-penny execution.")]
158  SubPennyTrading = 1L << 16,
159 
160  /// <summary>
161  /// This quote condition is used to indicate that an Opening Delay or a Trading Halt is to be in effect for the rest
162  /// of the trading day in a security for a Participant.
163  /// </summary>
164  [Description("This quote condition is used to indicate that an Opening Delay or a Trading Halt is to be in effect for the rest " +
165  "of the trading day in a security for a Participant.")]
166  NoOpenNoResume = 1L << 17,
167 
168  /// <summary>
169  /// This quote condition is used to indicate that a Limit Up-Limit Down Price Band is applicable for a security.
170  /// </summary>
171  [Description("This quote condition is used to indicate that a Limit Up-Limit Down Price Band is applicable for a security.")]
172  LimitUpLimitDownPriceBand = 1L << 18,
173 
174  /// <summary>
175  /// This quote condition is used to indicate that a Limit Up-Limit Down Price Band that is being disseminated " +
176  /// is a ‘republication’ of the latest Price Band for a security.
177  /// </summary>
178  [Description("This quote condition is used to indicate that a Limit Up-Limit Down Price Band that is being disseminated " +
179  "is a ‘republication’ of the latest Price Band for a security.")]
181 
182  /// <summary>
183  /// This indicates that the market participant is in a manual mode on both the Bid and Ask. While in this mode,
184  /// automated execution is not eligible on the Bid and Ask side and can be traded through pursuant to Regulation NMS requirements.
185  /// </summary>
186  [Description("This indicates that the market participant is in a manual mode on both the Bid and Ask. While in this mode, " +
187  "automated execution is not eligible on the Bid and Ask side and can be traded through pursuant to Regulation NMS requirements.")]
188  Manual = 1L << 20,
189 
190  /// <summary>
191  /// For extremely active periods of short duration. While in this mode, the UTP participant will enter quotations on a “best efforts” basis.
192  /// </summary>
193  [Description("For extremely active periods of short duration. While in this mode, the UTP participant will enter quotations on a “best efforts” basis.")]
194  FastTrading = 1L << 21,
195 
196  /// <summary>
197  /// A halt condition used when there is a sudden order influx. To prevent a disorderly market, trading is temporarily suspended by the UTP participant.
198  /// </summary>
199  [Description("A halt condition used when there is a sudden order influx. To prevent a disorderly market, trading is temporarily suspended by the UTP participant.")]
200  OrderInflux = 1L << 22
201  }
202 }