ib-api 10.33.1

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.
Files changed (161) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +52 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/CLAUDE.md +131 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +17 -0
  8. data/Gemfile.lock +120 -0
  9. data/Guardfile +24 -0
  10. data/LICENSE +674 -0
  11. data/LLM_GUIDE.md +388 -0
  12. data/README.md +114 -0
  13. data/Rakefile +11 -0
  14. data/VERSION +1 -0
  15. data/api.gemspec +50 -0
  16. data/bin/console +96 -0
  17. data/bin/console.yml +3 -0
  18. data/bin/setup +8 -0
  19. data/bin/simple +91 -0
  20. data/changelog.md +32 -0
  21. data/conditions/ib/execution_condition.rb +31 -0
  22. data/conditions/ib/margin_condition.rb +28 -0
  23. data/conditions/ib/order_condition.rb +29 -0
  24. data/conditions/ib/percent_change_condition.rb +34 -0
  25. data/conditions/ib/price_condition.rb +44 -0
  26. data/conditions/ib/time_condition.rb +42 -0
  27. data/conditions/ib/volume_condition.rb +36 -0
  28. data/lib/class_extensions.rb +167 -0
  29. data/lib/ib/base.rb +109 -0
  30. data/lib/ib/base_properties.rb +178 -0
  31. data/lib/ib/connection.rb +573 -0
  32. data/lib/ib/constants.rb +402 -0
  33. data/lib/ib/contract.rb +30 -0
  34. data/lib/ib/errors.rb +52 -0
  35. data/lib/ib/messages/abstract_message.rb +68 -0
  36. data/lib/ib/messages/incoming/abstract_message.rb +116 -0
  37. data/lib/ib/messages/incoming/abstract_tick.rb +25 -0
  38. data/lib/ib/messages/incoming/account_message.rb +26 -0
  39. data/lib/ib/messages/incoming/alert.rb +34 -0
  40. data/lib/ib/messages/incoming/contract_data.rb +105 -0
  41. data/lib/ib/messages/incoming/contract_message.rb +13 -0
  42. data/lib/ib/messages/incoming/delta_neutral_validation.rb +23 -0
  43. data/lib/ib/messages/incoming/execution_data.rb +50 -0
  44. data/lib/ib/messages/incoming/histogram_data.rb +30 -0
  45. data/lib/ib/messages/incoming/historical_data.rb +65 -0
  46. data/lib/ib/messages/incoming/historical_data_update.rb +50 -0
  47. data/lib/ib/messages/incoming/managed_accounts.rb +21 -0
  48. data/lib/ib/messages/incoming/market_depth.rb +34 -0
  49. data/lib/ib/messages/incoming/market_depth_l2.rb +15 -0
  50. data/lib/ib/messages/incoming/next_valid_id.rb +19 -0
  51. data/lib/ib/messages/incoming/open_order.rb +290 -0
  52. data/lib/ib/messages/incoming/order_status.rb +85 -0
  53. data/lib/ib/messages/incoming/portfolio_value.rb +47 -0
  54. data/lib/ib/messages/incoming/position_data.rb +21 -0
  55. data/lib/ib/messages/incoming/positions_multi.rb +15 -0
  56. data/lib/ib/messages/incoming/real_time_bar.rb +32 -0
  57. data/lib/ib/messages/incoming/receive_fa.rb +30 -0
  58. data/lib/ib/messages/incoming/scanner_data.rb +54 -0
  59. data/lib/ib/messages/incoming/tick_by_tick.rb +77 -0
  60. data/lib/ib/messages/incoming/tick_efp.rb +18 -0
  61. data/lib/ib/messages/incoming/tick_generic.rb +12 -0
  62. data/lib/ib/messages/incoming/tick_option.rb +60 -0
  63. data/lib/ib/messages/incoming/tick_price.rb +60 -0
  64. data/lib/ib/messages/incoming/tick_size.rb +55 -0
  65. data/lib/ib/messages/incoming/tick_string.rb +13 -0
  66. data/lib/ib/messages/incoming.rb +292 -0
  67. data/lib/ib/messages/outgoing/abstract_message.rb +84 -0
  68. data/lib/ib/messages/outgoing/bar_request_message.rb +247 -0
  69. data/lib/ib/messages/outgoing/new-place-order.rb +193 -0
  70. data/lib/ib/messages/outgoing/old-place-order.rb +147 -0
  71. data/lib/ib/messages/outgoing/place_order.rb +149 -0
  72. data/lib/ib/messages/outgoing/request_account_summary.rb +79 -0
  73. data/lib/ib/messages/outgoing/request_historical_data.rb +182 -0
  74. data/lib/ib/messages/outgoing/request_market_data.rb +102 -0
  75. data/lib/ib/messages/outgoing/request_market_depth.rb +57 -0
  76. data/lib/ib/messages/outgoing/request_real_time_bars.rb +48 -0
  77. data/lib/ib/messages/outgoing/request_scanner_subscription.rb +73 -0
  78. data/lib/ib/messages/outgoing/request_tick_by_tick_data.rb +21 -0
  79. data/lib/ib/messages/outgoing.rb +410 -0
  80. data/lib/ib/messages.rb +139 -0
  81. data/lib/ib/order_condition.rb +26 -0
  82. data/lib/ib/plugins.rb +27 -0
  83. data/lib/ib/prepare_data.rb +61 -0
  84. data/lib/ib/raw_message_parser.rb +99 -0
  85. data/lib/ib/socket.rb +83 -0
  86. data/lib/ib/support.rb +236 -0
  87. data/lib/ib/version.rb +6 -0
  88. data/lib/ib-api.rb +44 -0
  89. data/lib/server_versions.rb +145 -0
  90. data/lib/support/array_function.rb +28 -0
  91. data/lib/support/logging.rb +45 -0
  92. data/models/ib/account.rb +72 -0
  93. data/models/ib/account_value.rb +33 -0
  94. data/models/ib/bag.rb +55 -0
  95. data/models/ib/bar.rb +31 -0
  96. data/models/ib/combo_leg.rb +127 -0
  97. data/models/ib/contract.rb +411 -0
  98. data/models/ib/contract_detail.rb +118 -0
  99. data/models/ib/execution.rb +67 -0
  100. data/models/ib/forex.rb +12 -0
  101. data/models/ib/future.rb +64 -0
  102. data/models/ib/index.rb +14 -0
  103. data/models/ib/option.rb +149 -0
  104. data/models/ib/option_detail.rb +84 -0
  105. data/models/ib/order.rb +720 -0
  106. data/models/ib/order_state.rb +155 -0
  107. data/models/ib/portfolio_value.rb +86 -0
  108. data/models/ib/spread.rb +176 -0
  109. data/models/ib/stock.rb +25 -0
  110. data/models/ib/underlying.rb +32 -0
  111. data/plugins/ib/advanced-account.rb +442 -0
  112. data/plugins/ib/alerts/base-alert.rb +125 -0
  113. data/plugins/ib/alerts/gateway-alerts.rb +15 -0
  114. data/plugins/ib/alerts/order-alerts.rb +73 -0
  115. data/plugins/ib/auto-adjust.rb +0 -0
  116. data/plugins/ib/connection-tools.rb +122 -0
  117. data/plugins/ib/eod.rb +326 -0
  118. data/plugins/ib/greeks.rb +102 -0
  119. data/plugins/ib/managed-accounts.rb +274 -0
  120. data/plugins/ib/market-price.rb +150 -0
  121. data/plugins/ib/option-chain.rb +167 -0
  122. data/plugins/ib/order-flow.rb +157 -0
  123. data/plugins/ib/order-prototypes/abstract.rb +67 -0
  124. data/plugins/ib/order-prototypes/adaptive.rb +40 -0
  125. data/plugins/ib/order-prototypes/all-in-one.rb +46 -0
  126. data/plugins/ib/order-prototypes/combo.rb +46 -0
  127. data/plugins/ib/order-prototypes/forex.rb +40 -0
  128. data/plugins/ib/order-prototypes/limit.rb +193 -0
  129. data/plugins/ib/order-prototypes/market.rb +116 -0
  130. data/plugins/ib/order-prototypes/pegged.rb +169 -0
  131. data/plugins/ib/order-prototypes/premarket.rb +31 -0
  132. data/plugins/ib/order-prototypes/stop.rb +202 -0
  133. data/plugins/ib/order-prototypes/volatility.rb +39 -0
  134. data/plugins/ib/order-prototypes.rb +118 -0
  135. data/plugins/ib/probability-of-expiring.rb +109 -0
  136. data/plugins/ib/process-orders.rb +155 -0
  137. data/plugins/ib/roll.rb +86 -0
  138. data/plugins/ib/spread-prototypes/butterfly.rb +77 -0
  139. data/plugins/ib/spread-prototypes/calendar.rb +97 -0
  140. data/plugins/ib/spread-prototypes/stock-spread.rb +56 -0
  141. data/plugins/ib/spread-prototypes/straddle.rb +70 -0
  142. data/plugins/ib/spread-prototypes/strangle.rb +93 -0
  143. data/plugins/ib/spread-prototypes/vertical.rb +83 -0
  144. data/plugins/ib/spread-prototypes.rb +70 -0
  145. data/plugins/ib/symbols/abstract.rb +136 -0
  146. data/plugins/ib/symbols/bonds.rb +28 -0
  147. data/plugins/ib/symbols/cfd.rb +19 -0
  148. data/plugins/ib/symbols/combo.rb +46 -0
  149. data/plugins/ib/symbols/commodity.rb +17 -0
  150. data/plugins/ib/symbols/forex.rb +41 -0
  151. data/plugins/ib/symbols/futures.rb +127 -0
  152. data/plugins/ib/symbols/index.rb +43 -0
  153. data/plugins/ib/symbols/options.rb +99 -0
  154. data/plugins/ib/symbols/stocks.rb +44 -0
  155. data/plugins/ib/symbols/version.rb +5 -0
  156. data/plugins/ib/symbols.rb +118 -0
  157. data/plugins/ib/verify.rb +226 -0
  158. data/symbols/w20.yml +210 -0
  159. data/t.txt +20 -0
  160. data/update.md +71 -0
  161. metadata +327 -0
data/symbols/w20.yml ADDED
@@ -0,0 +1,210 @@
1
+ ---
2
+ 0: !ruby/object:IB::Stock
3
+ attributes:
4
+ :symbol: ANW
5
+ :con_id: 0
6
+ :right: ''
7
+ :sec_type: STK
8
+ :currency: USD
9
+ :exchange: SMART
10
+ :created_at: 2024-07-11 11:13:47.303012890 +02:00
11
+ :include_expired: false
12
+ :description: 'Stock: ANW USD'
13
+ 1: !ruby/object:IB::Stock
14
+ attributes:
15
+ :symbol: AEB
16
+ :con_id: 0
17
+ :right: ''
18
+ :sec_type: STK
19
+ :currency: USD
20
+ :exchange: SMART
21
+ :created_at: 2024-07-11 11:13:47.304535419 +02:00
22
+ :include_expired: false
23
+ :description: 'Stock: AEB USD'
24
+ 2: !ruby/object:IB::Stock
25
+ attributes:
26
+ :symbol: AED
27
+ :con_id: 0
28
+ :right: ''
29
+ :sec_type: STK
30
+ :currency: USD
31
+ :exchange: SMART
32
+ :created_at: 2024-07-11 11:13:47.305076488 +02:00
33
+ :include_expired: false
34
+ :description: 'Stock: AED USD'
35
+ 3: !ruby/object:IB::Stock
36
+ attributes:
37
+ :symbol: AEG
38
+ :con_id: 0
39
+ :right: ''
40
+ :sec_type: STK
41
+ :currency: USD
42
+ :exchange: SMART
43
+ :created_at: 2024-07-11 11:13:47.305668741 +02:00
44
+ :include_expired: false
45
+ :description: 'Stock: AEG USD'
46
+ 4: !ruby/object:IB::Stock
47
+ attributes:
48
+ :symbol: AEH
49
+ :con_id: 0
50
+ :right: ''
51
+ :sec_type: STK
52
+ :currency: USD
53
+ :exchange: SMART
54
+ :created_at: 2024-07-11 11:13:47.306387580 +02:00
55
+ :include_expired: false
56
+ :description: 'Stock: AEH USD'
57
+ 5: !ruby/object:IB::Stock
58
+ attributes:
59
+ :symbol: AER
60
+ :con_id: 0
61
+ :right: ''
62
+ :sec_type: STK
63
+ :currency: USD
64
+ :exchange: SMART
65
+ :created_at: 2024-07-11 11:13:47.307176556 +02:00
66
+ :include_expired: false
67
+ :description: 'Stock: AER USD'
68
+ 6: !ruby/object:IB::Stock
69
+ attributes:
70
+ :symbol: HIVE
71
+ :con_id: 0
72
+ :right: ''
73
+ :sec_type: STK
74
+ :currency: USD
75
+ :exchange: SMART
76
+ :created_at: 2024-07-11 11:13:47.308077562 +02:00
77
+ :include_expired: false
78
+ :description: 'Stock: HIVE USD'
79
+ 7: !ruby/object:IB::Stock
80
+ attributes:
81
+ :symbol: AJRD
82
+ :con_id: 0
83
+ :right: ''
84
+ :sec_type: STK
85
+ :currency: USD
86
+ :exchange: SMART
87
+ :created_at: 2024-07-11 11:13:47.309462908 +02:00
88
+ :include_expired: false
89
+ :description: 'Stock: AJRD USD'
90
+ 8: !ruby/object:IB::Stock
91
+ attributes:
92
+ :symbol: AET
93
+ :con_id: 0
94
+ :right: ''
95
+ :sec_type: STK
96
+ :currency: USD
97
+ :exchange: SMART
98
+ :created_at: 2024-07-11 11:13:47.311778738 +02:00
99
+ :include_expired: false
100
+ :description: 'Stock: AET USD'
101
+ 9: !ruby/object:IB::Stock
102
+ attributes:
103
+ :symbol: AMG
104
+ :con_id: 0
105
+ :right: ''
106
+ :sec_type: STK
107
+ :currency: USD
108
+ :exchange: SMART
109
+ :created_at: 2024-07-11 11:13:47.313762230 +02:00
110
+ :include_expired: false
111
+ :description: 'Stock: AMG USD'
112
+ 10: !ruby/object:IB::Stock
113
+ attributes:
114
+ :symbol: AFL
115
+ :con_id: 0
116
+ :right: ''
117
+ :sec_type: STK
118
+ :currency: USD
119
+ :exchange: SMART
120
+ :created_at: 2024-07-11 11:13:47.315120668 +02:00
121
+ :include_expired: false
122
+ :description: 'Stock: AFL USD'
123
+ 11: !ruby/object:IB::Stock
124
+ attributes:
125
+ :symbol: MITT
126
+ :con_id: 0
127
+ :right: ''
128
+ :sec_type: STK
129
+ :currency: USD
130
+ :exchange: SMART
131
+ :created_at: 2024-07-11 11:13:47.316746279 +02:00
132
+ :include_expired: false
133
+ :description: 'Stock: MITT USD'
134
+ 12: !ruby/object:IB::Stock
135
+ attributes:
136
+ :symbol: AGCO
137
+ :con_id: 0
138
+ :right: ''
139
+ :sec_type: STK
140
+ :currency: USD
141
+ :exchange: SMART
142
+ :created_at: 2024-07-11 11:13:47.318371506 +02:00
143
+ :include_expired: false
144
+ :description: 'Stock: AGCO USD'
145
+ 13: !ruby/object:IB::Stock
146
+ attributes:
147
+ :symbol: A
148
+ :con_id: 0
149
+ :right: ''
150
+ :sec_type: STK
151
+ :currency: USD
152
+ :exchange: SMART
153
+ :created_at: 2024-07-11 11:13:47.320149849 +02:00
154
+ :include_expired: false
155
+ :description: 'Stock: A USD'
156
+ 14: !ruby/object:IB::Stock
157
+ attributes:
158
+ :symbol: AEM
159
+ :con_id: 0
160
+ :right: ''
161
+ :sec_type: STK
162
+ :currency: USD
163
+ :exchange: SMART
164
+ :created_at: 2024-07-11 11:13:47.321989169 +02:00
165
+ :include_expired: false
166
+ :description: 'Stock: AEM USD'
167
+ 15: !ruby/object:IB::Stock
168
+ attributes:
169
+ :symbol: ADC
170
+ :con_id: 0
171
+ :right: ''
172
+ :sec_type: STK
173
+ :currency: USD
174
+ :exchange: SMART
175
+ :created_at: 2024-07-11 11:13:47.323900346 +02:00
176
+ :include_expired: false
177
+ :description: 'Stock: ADC USD'
178
+ 16: !ruby/object:IB::Stock
179
+ attributes:
180
+ :symbol: AL
181
+ :con_id: 0
182
+ :right: ''
183
+ :sec_type: STK
184
+ :currency: USD
185
+ :exchange: SMART
186
+ :created_at: 2024-07-11 11:13:47.327106091 +02:00
187
+ :include_expired: false
188
+ :description: 'Stock: AL USD'
189
+ 17: !ruby/object:IB::Stock
190
+ attributes:
191
+ :symbol: APD
192
+ :con_id: 0
193
+ :right: ''
194
+ :sec_type: STK
195
+ :currency: USD
196
+ :exchange: SMART
197
+ :created_at: 2024-07-11 11:13:47.329187138 +02:00
198
+ :include_expired: false
199
+ :description: 'Stock: APD USD'
200
+ 18: !ruby/object:IB::Stock
201
+ attributes:
202
+ :symbol: AYR
203
+ :con_id: 0
204
+ :right: ''
205
+ :sec_type: STK
206
+ :currency: USD
207
+ :exchange: SMART
208
+ :created_at: 2024-07-11 11:13:47.332186539 +02:00
209
+ :include_expired: false
210
+ :description: 'Stock: AYR USD'
data/t.txt ADDED
@@ -0,0 +1,20 @@
1
+ # place order
2
+
3
+ f = Stock.new symbol: 'F'
4
+ o = Limit.order( size: 100, price: 8 , contract: f )
5
+ C.place_order order: o, contract: f
6
+
7
+ IB::Messages::Outgoing::PlaceOrder.new local_id: 5, order: o, contract: f
8
+ 3-5--F-STK-----SMART--USD-----BUY-100.0-LMT-8--GTC--DU4035277-O-0--1-0-0-0--0-0-0--0--------0---1-0---0---0-0--0------0-----0-----------0---0-0---0--0-0-0-0---------------------- # new
9
+ 3-5--F-STK-----SMART--USD-----BUY-100.0-LMT-8--GTC--DU4035277-O-0--1-0-0-0--0-0-0--0--------0---1-0---0---0-0-0-0------0-----0-----------0---0-0--0--0-0-0-0-----------------------# old
10
+
11
+
12
+ 3-5--F-STK-----SMART--USD-----BUY-100.0-LMT-8--GTC--DU4035279-O-0--1-0-0-0--0-0---0--------0---1-0---0---0-0-0-0------0-----0-----------0---0-0--0--0-0-0-0-----------------------"
13
+ origin=customer
14
+ 0=hidden
15
+
16
+
17
+ "3-45-5--F-STK-----SMART--USD-----BUY-100 -LMT-8--GTC---O-0--1-0-0-0-0-0-0-0--0--------0---1-0---0---0-0--0------0-----0-----------0---0-0---0--0-0-0-0-------------------"
18
+
19
+ "3-5--F-STK-----SMART--USD-----BUY-100.0-LMT-8--GTC---O-0--1-0-0-0--0-0-0--0--------0---1-0---0---0-0--0------0-----0-----------0---0-0---0--0-0-0-0-------------------"
20
+
data/update.md ADDED
@@ -0,0 +1,71 @@
1
+ # Update from 9.72 to 10.12 # Aug 2022
2
+
3
+ Protocol of api-changes: https://www.interactivebrokers.com/en/index.php?f=24356
4
+
5
+ 1. Update Incoming and outgoing Messages constants
6
+ lib/ib/messages/incoming.rb
7
+ lib/ib/massages/outgoing.rb
8
+
9
+ note: Field types : int = 1
10
+ string = 2
11
+ float = 2
12
+ python/message.py
13
+
14
+ 2. Update ServerVersion
15
+ lib/ib/server_versions.rb
16
+ New supported server Version: 165 /:min_server_er_historical_schedule/
17
+
18
+ python/server_versions.py
19
+
20
+
21
+ 3. Update ClientVersion
22
+ is NOT necessary. According to EClient.java, ClientVersion 66 is the most recent one
23
+
24
+ ToDo: Can we omit the constant at all?
25
+
26
+ 4. Update Max_Version --: 165
27
+ in lib/ib/server_versions.rb
28
+
29
+ 5. Start of a console with a running papertrading account
30
+
31
+ > BUFFER:: "\x00\x00\x00\x1A165\x0020220812 06:42:26 GMT\x00"
32
+ > F: Connected to server, version: 165, using client-id: 2000,
33
+ > connection time: 2022-08-12 06:42:27 +0000 local, 2022-08-12T06:42:26+00:00 remote.
34
+ > BUFFER:: "\x00\x00\x00B15\x001\x00DF4035274,DU4035275,DU4035276,DU4035277,DU4035278,DU4035279,\x00"
35
+ > F: Connected to server, version: 165, using client-id: 2000,
36
+ > connection time: 2022-08-12 06:42:27 +0000 local, 2022-08-12T06:42:26+00:00 remote.
37
+ > BUFFER:: "\x00\x00\x00B15\x001\x00DF4035274,DU4035275,DU4035276,DU4035277,DU4035278,DU4035279,\x00"
38
+ > I: < ManagedAccounts: DF4035274 - DU4035275 - DU4035276 - DU4035277 - DU4035278 - DU4035279>
39
+ > BUFFER:: "\x00\x00\x00\x069\x001\x001\x00"
40
+ > I: Got next valid order id: 1.
41
+ > Connection established on Port 4002, client_id 2000 used
42
+
43
+ **The login-procedure is unchanged!**
44
+
45
+ 6. Starting with tests
46
+
47
+ 6.1 connect_spec.rb
48
+ After editing connect.yml the test passes
49
+
50
+ 6.2 ContractDetails
51
+ Changes: a) Version is not transmitted anymore
52
+ b) contract_detail.md_size_multiplier is not used anymore
53
+ c) remaining buffer: (stock) => ["COMMON", "1", "1", "100"],
54
+ --:: added stock_type, min_size, size_increment, suggested_size_increment
55
+ to lib/ib/model/ContractDetail.rb and /lib/ib/messages/incoming/contract_data.rb
56
+
57
+ Ensure that the buffer is read completely!
58
+
59
+ 6.3 HeadTimeStamp --:: OK
60
+ 6.4 HistogramData --:: OK
61
+ 6.4 HistoricalData --:: OK
62
+ 6.5 ManagedAccounts--:: OK
63
+ 6.6 OptionChian --:: OK
64
+ 6.7 PositionData --:: OK
65
+ 6.8 PositionsMulti --:: OK
66
+ 6.9 ReceiveFA --:: OK
67
+ 6.10 MultiAccountUpdate --:: OK
68
+
69
+
70
+
71
+
metadata ADDED
@@ -0,0 +1,327 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ib-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 10.33.1
5
+ platform: ruby
6
+ authors:
7
+ - Hartmut Bischoff
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bundler
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '13.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '13.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rspec
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: activesupport
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '6.0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '6.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: activemodel
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '7.0'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '7.0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: ox
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.14'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.14'
96
+ - !ruby/object:Gem::Dependency
97
+ name: terminal-table
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.0'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3.0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: zeitwerk
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '2.6'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '2.6'
124
+ - !ruby/object:Gem::Dependency
125
+ name: workflow
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.1'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.1'
138
+ description: Ruby Implementation of the Interactive Brokers TWS API
139
+ email:
140
+ - topofocus@gmail.com
141
+ executables: []
142
+ extensions: []
143
+ extra_rdoc_files: []
144
+ files:
145
+ - ".gitignore"
146
+ - ".rspec"
147
+ - ".travis.yml"
148
+ - CLAUDE.md
149
+ - CODE_OF_CONDUCT.md
150
+ - Gemfile
151
+ - Gemfile.lock
152
+ - Guardfile
153
+ - LICENSE
154
+ - LLM_GUIDE.md
155
+ - README.md
156
+ - Rakefile
157
+ - VERSION
158
+ - api.gemspec
159
+ - bin/console
160
+ - bin/console.yml
161
+ - bin/setup
162
+ - bin/simple
163
+ - changelog.md
164
+ - conditions/ib/execution_condition.rb
165
+ - conditions/ib/margin_condition.rb
166
+ - conditions/ib/order_condition.rb
167
+ - conditions/ib/percent_change_condition.rb
168
+ - conditions/ib/price_condition.rb
169
+ - conditions/ib/time_condition.rb
170
+ - conditions/ib/volume_condition.rb
171
+ - lib/class_extensions.rb
172
+ - lib/ib-api.rb
173
+ - lib/ib/base.rb
174
+ - lib/ib/base_properties.rb
175
+ - lib/ib/connection.rb
176
+ - lib/ib/constants.rb
177
+ - lib/ib/contract.rb
178
+ - lib/ib/errors.rb
179
+ - lib/ib/messages.rb
180
+ - lib/ib/messages/abstract_message.rb
181
+ - lib/ib/messages/incoming.rb
182
+ - lib/ib/messages/incoming/abstract_message.rb
183
+ - lib/ib/messages/incoming/abstract_tick.rb
184
+ - lib/ib/messages/incoming/account_message.rb
185
+ - lib/ib/messages/incoming/alert.rb
186
+ - lib/ib/messages/incoming/contract_data.rb
187
+ - lib/ib/messages/incoming/contract_message.rb
188
+ - lib/ib/messages/incoming/delta_neutral_validation.rb
189
+ - lib/ib/messages/incoming/execution_data.rb
190
+ - lib/ib/messages/incoming/histogram_data.rb
191
+ - lib/ib/messages/incoming/historical_data.rb
192
+ - lib/ib/messages/incoming/historical_data_update.rb
193
+ - lib/ib/messages/incoming/managed_accounts.rb
194
+ - lib/ib/messages/incoming/market_depth.rb
195
+ - lib/ib/messages/incoming/market_depth_l2.rb
196
+ - lib/ib/messages/incoming/next_valid_id.rb
197
+ - lib/ib/messages/incoming/open_order.rb
198
+ - lib/ib/messages/incoming/order_status.rb
199
+ - lib/ib/messages/incoming/portfolio_value.rb
200
+ - lib/ib/messages/incoming/position_data.rb
201
+ - lib/ib/messages/incoming/positions_multi.rb
202
+ - lib/ib/messages/incoming/real_time_bar.rb
203
+ - lib/ib/messages/incoming/receive_fa.rb
204
+ - lib/ib/messages/incoming/scanner_data.rb
205
+ - lib/ib/messages/incoming/tick_by_tick.rb
206
+ - lib/ib/messages/incoming/tick_efp.rb
207
+ - lib/ib/messages/incoming/tick_generic.rb
208
+ - lib/ib/messages/incoming/tick_option.rb
209
+ - lib/ib/messages/incoming/tick_price.rb
210
+ - lib/ib/messages/incoming/tick_size.rb
211
+ - lib/ib/messages/incoming/tick_string.rb
212
+ - lib/ib/messages/outgoing.rb
213
+ - lib/ib/messages/outgoing/abstract_message.rb
214
+ - lib/ib/messages/outgoing/bar_request_message.rb
215
+ - lib/ib/messages/outgoing/new-place-order.rb
216
+ - lib/ib/messages/outgoing/old-place-order.rb
217
+ - lib/ib/messages/outgoing/place_order.rb
218
+ - lib/ib/messages/outgoing/request_account_summary.rb
219
+ - lib/ib/messages/outgoing/request_historical_data.rb
220
+ - lib/ib/messages/outgoing/request_market_data.rb
221
+ - lib/ib/messages/outgoing/request_market_depth.rb
222
+ - lib/ib/messages/outgoing/request_real_time_bars.rb
223
+ - lib/ib/messages/outgoing/request_scanner_subscription.rb
224
+ - lib/ib/messages/outgoing/request_tick_by_tick_data.rb
225
+ - lib/ib/order_condition.rb
226
+ - lib/ib/plugins.rb
227
+ - lib/ib/prepare_data.rb
228
+ - lib/ib/raw_message_parser.rb
229
+ - lib/ib/socket.rb
230
+ - lib/ib/support.rb
231
+ - lib/ib/version.rb
232
+ - lib/server_versions.rb
233
+ - lib/support/array_function.rb
234
+ - lib/support/logging.rb
235
+ - models/ib/account.rb
236
+ - models/ib/account_value.rb
237
+ - models/ib/bag.rb
238
+ - models/ib/bar.rb
239
+ - models/ib/combo_leg.rb
240
+ - models/ib/contract.rb
241
+ - models/ib/contract_detail.rb
242
+ - models/ib/execution.rb
243
+ - models/ib/forex.rb
244
+ - models/ib/future.rb
245
+ - models/ib/index.rb
246
+ - models/ib/option.rb
247
+ - models/ib/option_detail.rb
248
+ - models/ib/order.rb
249
+ - models/ib/order_state.rb
250
+ - models/ib/portfolio_value.rb
251
+ - models/ib/spread.rb
252
+ - models/ib/stock.rb
253
+ - models/ib/underlying.rb
254
+ - plugins/ib/advanced-account.rb
255
+ - plugins/ib/alerts/base-alert.rb
256
+ - plugins/ib/alerts/gateway-alerts.rb
257
+ - plugins/ib/alerts/order-alerts.rb
258
+ - plugins/ib/auto-adjust.rb
259
+ - plugins/ib/connection-tools.rb
260
+ - plugins/ib/eod.rb
261
+ - plugins/ib/greeks.rb
262
+ - plugins/ib/managed-accounts.rb
263
+ - plugins/ib/market-price.rb
264
+ - plugins/ib/option-chain.rb
265
+ - plugins/ib/order-flow.rb
266
+ - plugins/ib/order-prototypes.rb
267
+ - plugins/ib/order-prototypes/abstract.rb
268
+ - plugins/ib/order-prototypes/adaptive.rb
269
+ - plugins/ib/order-prototypes/all-in-one.rb
270
+ - plugins/ib/order-prototypes/combo.rb
271
+ - plugins/ib/order-prototypes/forex.rb
272
+ - plugins/ib/order-prototypes/limit.rb
273
+ - plugins/ib/order-prototypes/market.rb
274
+ - plugins/ib/order-prototypes/pegged.rb
275
+ - plugins/ib/order-prototypes/premarket.rb
276
+ - plugins/ib/order-prototypes/stop.rb
277
+ - plugins/ib/order-prototypes/volatility.rb
278
+ - plugins/ib/probability-of-expiring.rb
279
+ - plugins/ib/process-orders.rb
280
+ - plugins/ib/roll.rb
281
+ - plugins/ib/spread-prototypes.rb
282
+ - plugins/ib/spread-prototypes/butterfly.rb
283
+ - plugins/ib/spread-prototypes/calendar.rb
284
+ - plugins/ib/spread-prototypes/stock-spread.rb
285
+ - plugins/ib/spread-prototypes/straddle.rb
286
+ - plugins/ib/spread-prototypes/strangle.rb
287
+ - plugins/ib/spread-prototypes/vertical.rb
288
+ - plugins/ib/symbols.rb
289
+ - plugins/ib/symbols/abstract.rb
290
+ - plugins/ib/symbols/bonds.rb
291
+ - plugins/ib/symbols/cfd.rb
292
+ - plugins/ib/symbols/combo.rb
293
+ - plugins/ib/symbols/commodity.rb
294
+ - plugins/ib/symbols/forex.rb
295
+ - plugins/ib/symbols/futures.rb
296
+ - plugins/ib/symbols/index.rb
297
+ - plugins/ib/symbols/options.rb
298
+ - plugins/ib/symbols/stocks.rb
299
+ - plugins/ib/symbols/version.rb
300
+ - plugins/ib/verify.rb
301
+ - symbols/w20.yml
302
+ - t.txt
303
+ - update.md
304
+ homepage: https://github.com/ib-ruby
305
+ licenses:
306
+ - MIT
307
+ metadata:
308
+ homepage_uri: https://github.com/ib-ruby
309
+ source_code_uri: https://github.com/ib-ruby/ib-api
310
+ rdoc_options: []
311
+ require_paths:
312
+ - lib
313
+ required_ruby_version: !ruby/object:Gem::Requirement
314
+ requirements:
315
+ - - ">="
316
+ - !ruby/object:Gem::Version
317
+ version: '3.0'
318
+ required_rubygems_version: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - ">="
321
+ - !ruby/object:Gem::Version
322
+ version: '0'
323
+ requirements: []
324
+ rubygems_version: 3.6.7
325
+ specification_version: 4
326
+ summary: Ruby Implementation of the Interactive Brokers TWS API
327
+ test_files: []