tradier 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. data/.yardopts +8 -0
  2. data/LICENSE.md +20 -0
  3. data/README.md +114 -0
  4. data/Rakefile +19 -0
  5. data/lib/tradier.rb +31 -0
  6. data/lib/tradier/account.rb +30 -0
  7. data/lib/tradier/api/accounts.rb +122 -0
  8. data/lib/tradier/api/markets.rb +113 -0
  9. data/lib/tradier/api/orders.rb +84 -0
  10. data/lib/tradier/api/utils.rb +47 -0
  11. data/lib/tradier/api/utils/account.rb +15 -0
  12. data/lib/tradier/api/utils/balance.rb +15 -0
  13. data/lib/tradier/api/utils/base.rb +46 -0
  14. data/lib/tradier/api/utils/event.rb +15 -0
  15. data/lib/tradier/api/utils/expiration.rb +19 -0
  16. data/lib/tradier/api/utils/gainloss.rb +15 -0
  17. data/lib/tradier/api/utils/history.rb +15 -0
  18. data/lib/tradier/api/utils/option_quote.rb +15 -0
  19. data/lib/tradier/api/utils/order.rb +15 -0
  20. data/lib/tradier/api/utils/position.rb +15 -0
  21. data/lib/tradier/api/utils/quote.rb +15 -0
  22. data/lib/tradier/api/utils/strike.rb +15 -0
  23. data/lib/tradier/api/utils/timesales.rb +15 -0
  24. data/lib/tradier/api/utils/watchlist.rb +15 -0
  25. data/lib/tradier/api/watchlists.rb +139 -0
  26. data/lib/tradier/balance.rb +17 -0
  27. data/lib/tradier/base.rb +76 -0
  28. data/lib/tradier/calendar.rb +23 -0
  29. data/lib/tradier/client.rb +89 -0
  30. data/lib/tradier/clock.rb +21 -0
  31. data/lib/tradier/configurable.rb +76 -0
  32. data/lib/tradier/core_ext/enumerable.rb +9 -0
  33. data/lib/tradier/default.rb +75 -0
  34. data/lib/tradier/error.rb +34 -0
  35. data/lib/tradier/error/bad_gateway.rb +11 -0
  36. data/lib/tradier/error/bad_request.rb +10 -0
  37. data/lib/tradier/error/client_error.rb +28 -0
  38. data/lib/tradier/error/configuration_error.rb +6 -0
  39. data/lib/tradier/error/decode_error.rb +9 -0
  40. data/lib/tradier/error/forbidden.rb +10 -0
  41. data/lib/tradier/error/gateway_timeout.rb +11 -0
  42. data/lib/tradier/error/internal_server_error.rb +11 -0
  43. data/lib/tradier/error/not_acceptable.rb +10 -0
  44. data/lib/tradier/error/not_found.rb +10 -0
  45. data/lib/tradier/error/raise_error.rb +31 -0
  46. data/lib/tradier/error/server_error.rb +28 -0
  47. data/lib/tradier/error/service_unavailable.rb +11 -0
  48. data/lib/tradier/error/too_many_requests.rb +12 -0
  49. data/lib/tradier/error/unauthorized.rb +10 -0
  50. data/lib/tradier/error/unprocessable_entity.rb +10 -0
  51. data/lib/tradier/event.rb +8 -0
  52. data/lib/tradier/history.rb +20 -0
  53. data/lib/tradier/option_quote.rb +37 -0
  54. data/lib/tradier/order.rb +14 -0
  55. data/lib/tradier/position.rb +7 -0
  56. data/lib/tradier/profile.rb +14 -0
  57. data/lib/tradier/quote.rb +12 -0
  58. data/lib/tradier/response/parse_json.rb +25 -0
  59. data/lib/tradier/response/raise_error.rb +31 -0
  60. data/lib/tradier/symbol.rb +147 -0
  61. data/lib/tradier/timesales.rb +11 -0
  62. data/lib/tradier/version.rb +3 -0
  63. data/lib/tradier/watchlist.rb +16 -0
  64. data/lib/tradier/watchlist_item.rb +17 -0
  65. data/spec/fixtures/account_balances.json +28 -0
  66. data/spec/fixtures/account_gainloss.json +18 -0
  67. data/spec/fixtures/account_history.json +96 -0
  68. data/spec/fixtures/account_orders.json +833 -0
  69. data/spec/fixtures/account_positions.json +22 -0
  70. data/spec/fixtures/calendar.json +400 -0
  71. data/spec/fixtures/chain.json +2972 -0
  72. data/spec/fixtures/clock.json +10 -0
  73. data/spec/fixtures/expirations.json +18 -0
  74. data/spec/fixtures/history.json +2086 -0
  75. data/spec/fixtures/option_quote.json +14 -0
  76. data/spec/fixtures/option_quotes.json +26 -0
  77. data/spec/fixtures/order.json +1 -0
  78. data/spec/fixtures/order_with_warnings.json +17 -0
  79. data/spec/fixtures/placed_order.json +6 -0
  80. data/spec/fixtures/quote.json +45 -0
  81. data/spec/fixtures/quotes.json +88 -0
  82. data/spec/fixtures/session.json +6 -0
  83. data/spec/fixtures/strikes.json +173 -0
  84. data/spec/fixtures/timesales.json +2956 -0
  85. data/spec/fixtures/user_balances.json +118 -0
  86. data/spec/fixtures/user_gainloss.json +6775 -0
  87. data/spec/fixtures/user_history.json +101 -0
  88. data/spec/fixtures/user_orders.json +57 -0
  89. data/spec/fixtures/user_positions.json +50 -0
  90. data/spec/fixtures/user_profile.json +103 -0
  91. data/spec/fixtures/watchlist.json +30 -0
  92. data/spec/fixtures/watchlist_item.json +6 -0
  93. data/spec/fixtures/watchlists.json +18 -0
  94. data/spec/spec_helper.rb +64 -0
  95. data/spec/tradier/account_spec.rb +76 -0
  96. data/spec/tradier/api/accounts_spec.rb +195 -0
  97. data/spec/tradier/api/markets_spec.rb +219 -0
  98. data/spec/tradier/api/orders_spec.rb +94 -0
  99. data/spec/tradier/api/utils/expiration_spec.rb +8 -0
  100. data/spec/tradier/api/watchlists_spec.rb +164 -0
  101. data/spec/tradier/balance_spec.rb +4 -0
  102. data/spec/tradier/base_spec.rb +11 -0
  103. data/spec/tradier/calendar_spec.rb +27 -0
  104. data/spec/tradier/client_spec.rb +125 -0
  105. data/spec/tradier/clock_spec.rb +73 -0
  106. data/spec/tradier/error/client_error_spec.rb +22 -0
  107. data/spec/tradier/error/server_error_spec.rb +22 -0
  108. data/spec/tradier/error_spec.rb +26 -0
  109. data/spec/tradier/option_quote_spec.rb +61 -0
  110. data/spec/tradier/order_spec.rb +43 -0
  111. data/spec/tradier/position_spec.rb +4 -0
  112. data/spec/tradier/profile_spec.rb +28 -0
  113. data/spec/tradier/quote_spec.rb +29 -0
  114. data/spec/tradier/symbol_spec.rb +54 -0
  115. data/spec/tradier/watchlist_item_spec.rb +48 -0
  116. data/spec/tradier/watchlist_spec.rb +35 -0
  117. data/spec/tradier_spec.rb +105 -0
  118. data/tradier.gemspec +30 -0
  119. metadata +302 -0
@@ -0,0 +1,11 @@
1
+ require 'tradier/base'
2
+
3
+ module Tradier
4
+ class Timesales < Tradier::Base
5
+
6
+ def self.from_response(body={})
7
+ new(body)
8
+ end
9
+
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ module Tradier
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,16 @@
1
+ require 'tradier/base'
2
+ require 'tradier/watchlist_item'
3
+
4
+ module Tradier
5
+ class Watchlist < Tradier::Base
6
+ attr_reader :id, :name
7
+
8
+ def self.from_response(body={})
9
+ new(body[:watchlist])
10
+ end
11
+
12
+ def items
13
+ @items ||= @attrs[:items][:item].map { |i| Tradier::WatchlistItem.new(i) }
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require 'tradier/base'
2
+
3
+ module Tradier
4
+ class WatchlistItem < Tradier::Base
5
+ attr_reader :symbol, :shares, :purchase_price
6
+
7
+ def self.from_response(body={})
8
+ new(body[:item])
9
+ end
10
+
11
+ def purchase_date
12
+ return unless @purchase_date || @attrs[:purchase_date]
13
+
14
+ @purchase_date ||= Date.parse(@attrs[:purchase_date])
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ {
2
+ "balances": {
3
+ "account_number": 64394603,
4
+ "account_type": "cash",
5
+ "cash": [
6
+ -1930391.4199999999,
7
+ {
8
+ "cash_available": 0.0,
9
+ "funds_available_to_trade": 0,
10
+ "prev_day_cash_available": 0.0,
11
+ "sweep": 0
12
+ }
13
+ ],
14
+ "close_pl": 0.0,
15
+ "equity": -1930391.4199999999,
16
+ "long_market_value": 0.0,
17
+ "market_value": 0.0,
18
+ "open_pl": 0.0,
19
+ "option_long_value": 0.0,
20
+ "option_requirement": 0.0,
21
+ "option_short_value": 0,
22
+ "pending_cash": 0.0,
23
+ "pending_orders_count": 0,
24
+ "short_market_value": 0.0,
25
+ "stock_long_value": 0.0,
26
+ "uncleared_funds": 0
27
+ }
28
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "gainloss": {
3
+ "closed_position": {
4
+ "close_date": "2013-08-14T13:13:44.877Z",
5
+ "cost": 9847.3500000000004,
6
+ "description": "null",
7
+ "gain_loss": 0.0,
8
+ "gain_loss_percent": 0,
9
+ "open_date": "2013-08-12T20:09:01.437Z",
10
+ "proceeds": 0.0,
11
+ "quantity": 21.0,
12
+ "symbol": "AAPL",
13
+ "term": 0,
14
+ "type": "null",
15
+ "underlying": "AAPL"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "history": {
3
+ "event": [
4
+ {
5
+ "acct_no": 0,
6
+ "amount": 0,
7
+ "date": "2013-06-13T06:20:06.110Z",
8
+ "description": "null",
9
+ "event_type": "null",
10
+ "meta": "null",
11
+ "symbol": "null"
12
+ },
13
+ {
14
+ "acct_no": 0,
15
+ "amount": 0,
16
+ "date": "2013-06-14T06:20:05.133Z",
17
+ "description": "null",
18
+ "event_type": "null",
19
+ "meta": "null",
20
+ "symbol": "null"
21
+ },
22
+ {
23
+ "acct_no": 0,
24
+ "amount": 0,
25
+ "date": "2013-06-14T06:20:05.727Z",
26
+ "description": "null",
27
+ "event_type": "null",
28
+ "meta": "null",
29
+ "symbol": "null"
30
+ },
31
+ {
32
+ "acct_no": 0,
33
+ "amount": 0,
34
+ "date": "2013-06-14T06:20:06.147Z",
35
+ "description": "null",
36
+ "event_type": "null",
37
+ "meta": "null",
38
+ "symbol": "null"
39
+ },
40
+ {
41
+ "acct_no": 0,
42
+ "amount": 0,
43
+ "date": "2013-06-14T06:20:06.320Z",
44
+ "description": "null",
45
+ "event_type": "null",
46
+ "meta": "null",
47
+ "symbol": "null"
48
+ },
49
+ {
50
+ "acct_no": 0,
51
+ "amount": 0,
52
+ "date": "2013-06-15T06:20:03.843Z",
53
+ "description": "null",
54
+ "event_type": "null",
55
+ "meta": "null",
56
+ "symbol": "null"
57
+ },
58
+ {
59
+ "acct_no": 0,
60
+ "amount": 0,
61
+ "date": "2013-06-15T06:20:04.593Z",
62
+ "description": "null",
63
+ "event_type": "null",
64
+ "meta": "null",
65
+ "symbol": "null"
66
+ },
67
+ {
68
+ "acct_no": 0,
69
+ "amount": 0,
70
+ "date": "2013-06-15T06:20:05.310Z",
71
+ "description": "null",
72
+ "event_type": "null",
73
+ "meta": "null",
74
+ "symbol": "null"
75
+ },
76
+ {
77
+ "acct_no": 0,
78
+ "amount": 0,
79
+ "date": "2013-06-15T06:20:05.590Z",
80
+ "description": "null",
81
+ "event_type": "null",
82
+ "meta": "null",
83
+ "symbol": "null"
84
+ },
85
+ {
86
+ "acct_no": 0,
87
+ "amount": 0,
88
+ "date": "2013-06-16T06:20:04.967Z",
89
+ "description": "null",
90
+ "event_type": "null",
91
+ "meta": "null",
92
+ "symbol": "null"
93
+ }
94
+ ]
95
+ }
96
+ }
@@ -0,0 +1,833 @@
1
+ {
2
+ "orders": {
3
+ "order": [
4
+ {
5
+ "account_id": 0,
6
+ "exec_inst": 0,
7
+ "exec_status": "Filled",
8
+ "extended_hours": false,
9
+ "id": 0,
10
+ "num_legs": 0,
11
+ "option_type": "Undefined",
12
+ "order_id": 952,
13
+ "parent_id": 0,
14
+ "price": 0.0,
15
+ "quantity": 2.0,
16
+ "request_date": "2013-06-06T15:24:50.333Z",
17
+ "response_date": "2013-06-06T15:24:50.410Z",
18
+ "side": "Buy",
19
+ "status": "Filled",
20
+ "symbol": "AAPL",
21
+ "time_in_force": "Day",
22
+ "trailing_limit_type": 0,
23
+ "trailing_stop_type": 0,
24
+ "type": "Market",
25
+ "userId": 1005
26
+ },
27
+ {
28
+ "account_id": 0,
29
+ "exec_inst": 0,
30
+ "exec_status": "Filled",
31
+ "extended_hours": false,
32
+ "id": 0,
33
+ "num_legs": 0,
34
+ "option_type": "Undefined",
35
+ "order_id": 953,
36
+ "parent_id": 0,
37
+ "price": 0.0,
38
+ "quantity": 2.0,
39
+ "request_date": "2013-06-06T15:29:27.973Z",
40
+ "response_date": "2013-06-06T15:29:28.003Z",
41
+ "side": "Buy",
42
+ "status": "Filled",
43
+ "symbol": "AAPL",
44
+ "time_in_force": "Day",
45
+ "trailing_limit_type": 0,
46
+ "trailing_stop_type": 0,
47
+ "type": "Market",
48
+ "userId": 1005
49
+ },
50
+ {
51
+ "account_id": 0,
52
+ "exec_inst": 0,
53
+ "exec_status": "Filled",
54
+ "extended_hours": false,
55
+ "id": 0,
56
+ "num_legs": 0,
57
+ "option_type": "Undefined",
58
+ "order_id": 954,
59
+ "parent_id": 0,
60
+ "price": 0.0,
61
+ "quantity": 2.0,
62
+ "request_date": "2013-06-06T15:32:39.593Z",
63
+ "response_date": "2013-06-06T15:32:39.620Z",
64
+ "side": "Buy",
65
+ "status": "Filled",
66
+ "symbol": "AAPL",
67
+ "time_in_force": "Day",
68
+ "trailing_limit_type": 0,
69
+ "trailing_stop_type": 0,
70
+ "type": "Market",
71
+ "userId": 1005
72
+ },
73
+ {
74
+ "account_id": 0,
75
+ "exec_inst": 0,
76
+ "exec_status": "Filled",
77
+ "extended_hours": false,
78
+ "id": 0,
79
+ "num_legs": 0,
80
+ "option_type": "Undefined",
81
+ "order_id": 955,
82
+ "parent_id": 0,
83
+ "price": 0.0,
84
+ "quantity": 2.0,
85
+ "request_date": "2013-06-06T15:41:18.800Z",
86
+ "response_date": "2013-06-06T15:41:18.827Z",
87
+ "side": "Buy",
88
+ "status": "Filled",
89
+ "symbol": "AAPL",
90
+ "time_in_force": "Day",
91
+ "trailing_limit_type": 0,
92
+ "trailing_stop_type": 0,
93
+ "type": "Market",
94
+ "userId": 1005
95
+ },
96
+ {
97
+ "account_id": 0,
98
+ "exec_inst": 0,
99
+ "exec_status": "Filled",
100
+ "extended_hours": false,
101
+ "id": 0,
102
+ "num_legs": 0,
103
+ "option_type": "Undefined",
104
+ "order_id": 956,
105
+ "parent_id": 0,
106
+ "price": 0.0,
107
+ "quantity": 2.0,
108
+ "request_date": "2013-06-06T15:46:13.170Z",
109
+ "response_date": "2013-06-06T15:46:13.200Z",
110
+ "side": "Buy",
111
+ "status": "Filled",
112
+ "symbol": "AAPL",
113
+ "time_in_force": "Day",
114
+ "trailing_limit_type": 0,
115
+ "trailing_stop_type": 0,
116
+ "type": "Market",
117
+ "userId": 1005
118
+ },
119
+ {
120
+ "account_id": 0,
121
+ "description": "IncorrectOrderQuantity",
122
+ "exec_inst": 0,
123
+ "exec_status": "Rejected",
124
+ "extended_hours": false,
125
+ "id": 0,
126
+ "num_legs": 0,
127
+ "option_type": "Undefined",
128
+ "order_id": 957,
129
+ "parent_id": 0,
130
+ "price": 0.0,
131
+ "quantity": 0.0,
132
+ "request_date": "2013-06-06T15:47:33.730Z",
133
+ "response_date": "2013-06-06T15:47:33.740Z",
134
+ "side": "Buy",
135
+ "status": "Rejected",
136
+ "symbol": "AAPL",
137
+ "time_in_force": "Day",
138
+ "trailing_limit_type": 0,
139
+ "trailing_stop_type": 0,
140
+ "type": "Market",
141
+ "userId": 1005
142
+ },
143
+ {
144
+ "account_id": 0,
145
+ "description": "IncorrectOrderQuantity",
146
+ "exec_inst": 0,
147
+ "exec_status": "Rejected",
148
+ "extended_hours": false,
149
+ "id": 0,
150
+ "num_legs": 0,
151
+ "option_type": "Undefined",
152
+ "order_id": 959,
153
+ "parent_id": 0,
154
+ "price": 0.0,
155
+ "quantity": 0.0,
156
+ "request_date": "2013-06-06T16:03:33.507Z",
157
+ "response_date": "2013-06-06T16:03:33.537Z",
158
+ "side": "Buy",
159
+ "status": "Rejected",
160
+ "symbol": "AAPL",
161
+ "time_in_force": "Day",
162
+ "trailing_limit_type": 0,
163
+ "trailing_stop_type": 0,
164
+ "type": "Market",
165
+ "userId": 1005
166
+ },
167
+ {
168
+ "account_id": 0,
169
+ "exec_inst": 0,
170
+ "exec_status": "Filled",
171
+ "extended_hours": false,
172
+ "id": 0,
173
+ "num_legs": 0,
174
+ "option_type": "Undefined",
175
+ "order_id": 963,
176
+ "parent_id": 0,
177
+ "price": 0.0,
178
+ "quantity": 20.0,
179
+ "request_date": "2013-06-06T16:40:08.250Z",
180
+ "response_date": "2013-06-06T16:40:08.277Z",
181
+ "side": "Buy",
182
+ "status": "Filled",
183
+ "symbol": "AAPL",
184
+ "time_in_force": "Day",
185
+ "trailing_limit_type": 0,
186
+ "trailing_stop_type": 0,
187
+ "type": "Market",
188
+ "userId": 1005
189
+ },
190
+ {
191
+ "account_id": 0,
192
+ "exec_inst": 0,
193
+ "exec_status": "Filled",
194
+ "extended_hours": false,
195
+ "id": 0,
196
+ "num_legs": 0,
197
+ "option_type": "Undefined",
198
+ "order_id": 966,
199
+ "parent_id": 0,
200
+ "price": 0.0,
201
+ "quantity": 2.0,
202
+ "request_date": "2013-06-06T19:24:43.343Z",
203
+ "response_date": "2013-06-06T19:24:43.380Z",
204
+ "side": "Buy",
205
+ "status": "Filled",
206
+ "symbol": "AAPL",
207
+ "time_in_force": "Day",
208
+ "trailing_limit_type": 0,
209
+ "trailing_stop_type": 0,
210
+ "type": "Market",
211
+ "userId": 1005
212
+ },
213
+ {
214
+ "account_id": 0,
215
+ "exec_inst": 0,
216
+ "exec_status": "New",
217
+ "extended_hours": false,
218
+ "id": 0,
219
+ "num_legs": 0,
220
+ "option_type": "Undefined",
221
+ "order_id": 967,
222
+ "parent_id": 0,
223
+ "price": 0.0,
224
+ "quantity": 1.0,
225
+ "request_date": "2013-06-06T21:09:39.370Z",
226
+ "response_date": "0001-01-01T00:00:00Z",
227
+ "side": "Buy",
228
+ "status": "New",
229
+ "symbol": "AAPL",
230
+ "time_in_force": "Day",
231
+ "trailing_limit_type": 0,
232
+ "trailing_stop_type": 0,
233
+ "type": "Market",
234
+ "userId": 1005
235
+ },
236
+ {
237
+ "account_id": 0,
238
+ "exec_inst": 0,
239
+ "exec_status": "New",
240
+ "extended_hours": false,
241
+ "id": 0,
242
+ "num_legs": 0,
243
+ "option_type": "Undefined",
244
+ "order_id": 970,
245
+ "parent_id": 0,
246
+ "price": 0.0,
247
+ "quantity": 1.0,
248
+ "request_date": "2013-06-06T21:18:05.777Z",
249
+ "response_date": "0001-01-01T00:00:00Z",
250
+ "side": "Buy",
251
+ "status": "New",
252
+ "symbol": "AAPL",
253
+ "time_in_force": "Day",
254
+ "trailing_limit_type": 0,
255
+ "trailing_stop_type": 0,
256
+ "type": "Market",
257
+ "userId": 1005
258
+ },
259
+ {
260
+ "account_id": 0,
261
+ "exec_inst": 0,
262
+ "exec_status": "Filled",
263
+ "extended_hours": false,
264
+ "id": 0,
265
+ "num_legs": 0,
266
+ "option_type": "Undefined",
267
+ "order_id": 997,
268
+ "parent_id": 0,
269
+ "price": 3.0,
270
+ "quantity": 1.0,
271
+ "request_date": "2013-06-07T17:34:33.677Z",
272
+ "response_date": "2013-06-07T17:34:35.643Z",
273
+ "side": "Buy",
274
+ "status": "Filled",
275
+ "symbol": "AAPL",
276
+ "time_in_force": "Day",
277
+ "trailing_limit_type": 0,
278
+ "trailing_stop_type": 0,
279
+ "type": "Market",
280
+ "userId": 1005
281
+ },
282
+ {
283
+ "account_id": 0,
284
+ "exec_inst": 0,
285
+ "exec_status": "New",
286
+ "extended_hours": false,
287
+ "id": 0,
288
+ "num_legs": 0,
289
+ "option_type": "Undefined",
290
+ "order_id": 1001,
291
+ "parent_id": 0,
292
+ "price": 0.0,
293
+ "quantity": 1.0,
294
+ "request_date": "2013-06-07T19:07:40.673Z",
295
+ "response_date": "0001-01-01T00:00:00Z",
296
+ "side": "Buy",
297
+ "status": "New",
298
+ "symbol": "AAPL",
299
+ "time_in_force": "Day",
300
+ "trailing_limit_type": 0,
301
+ "trailing_stop_type": 0,
302
+ "type": "Market",
303
+ "userId": 1005
304
+ },
305
+ {
306
+ "account_id": 0,
307
+ "exec_inst": 0,
308
+ "exec_status": "Canceled",
309
+ "extended_hours": false,
310
+ "id": 0,
311
+ "num_legs": 0,
312
+ "option_type": "Undefined",
313
+ "order_id": 1006,
314
+ "parent_id": 0,
315
+ "price": 1.0,
316
+ "quantity": 4.0,
317
+ "request_date": "2013-06-07T19:24:14.420Z",
318
+ "response_date": "2013-06-10T10:56:35.877Z",
319
+ "side": "Buy",
320
+ "status": "Canceled",
321
+ "symbol": "AAPL",
322
+ "time_in_force": "Day",
323
+ "trailing_limit_type": 0,
324
+ "trailing_stop_type": 0,
325
+ "type": "Limit",
326
+ "userId": 1005
327
+ },
328
+ {
329
+ "account_id": 0,
330
+ "exec_inst": 0,
331
+ "exec_status": "Filled",
332
+ "extended_hours": false,
333
+ "id": 0,
334
+ "num_legs": 0,
335
+ "option_type": "Undefined",
336
+ "order_id": 1025,
337
+ "parent_id": 0,
338
+ "price": 0.0,
339
+ "quantity": 20.0,
340
+ "request_date": "2013-06-10T15:37:55.557Z",
341
+ "response_date": "2013-06-10T15:37:56.493Z",
342
+ "side": "Buy",
343
+ "status": "Filled",
344
+ "symbol": "AAPL",
345
+ "time_in_force": "Day",
346
+ "trailing_limit_type": 0,
347
+ "trailing_stop_type": 0,
348
+ "type": "Market",
349
+ "userId": 1005
350
+ },
351
+ {
352
+ "account_id": 0,
353
+ "exec_inst": 0,
354
+ "exec_status": "Filled",
355
+ "extended_hours": false,
356
+ "id": 0,
357
+ "num_legs": 0,
358
+ "option_type": "Undefined",
359
+ "order_id": 1026,
360
+ "parent_id": 0,
361
+ "price": 0.0,
362
+ "quantity": 20.0,
363
+ "request_date": "2013-06-10T18:33:17.810Z",
364
+ "response_date": "2013-06-10T18:33:18.837Z",
365
+ "side": "Buy",
366
+ "status": "Filled",
367
+ "symbol": "AAPL",
368
+ "time_in_force": "Day",
369
+ "trailing_limit_type": 0,
370
+ "trailing_stop_type": 0,
371
+ "type": "Market",
372
+ "userId": 1005
373
+ },
374
+ {
375
+ "account_id": 0,
376
+ "exec_inst": 0,
377
+ "exec_status": "Filled",
378
+ "extended_hours": false,
379
+ "id": 0,
380
+ "num_legs": 0,
381
+ "option_type": "Undefined",
382
+ "order_id": 1027,
383
+ "parent_id": 0,
384
+ "price": 0.0,
385
+ "quantity": 20.0,
386
+ "request_date": "2013-06-10T18:33:58.273Z",
387
+ "response_date": "2013-06-10T18:33:58.973Z",
388
+ "side": "Buy",
389
+ "status": "Filled",
390
+ "symbol": "AAPL",
391
+ "time_in_force": "Day",
392
+ "trailing_limit_type": 0,
393
+ "trailing_stop_type": 0,
394
+ "type": "Market",
395
+ "userId": 1005
396
+ },
397
+ {
398
+ "account_id": 0,
399
+ "exec_inst": 0,
400
+ "exec_status": "Filled",
401
+ "expiration_date": "2013-06-22T00:00:00Z",
402
+ "extended_hours": false,
403
+ "id": 0,
404
+ "num_legs": 0,
405
+ "option_type": "Call",
406
+ "order_id": 1028,
407
+ "parent_id": 0,
408
+ "price": 0.0,
409
+ "quantity": 2.0,
410
+ "request_date": "2013-06-10T18:35:55.700Z",
411
+ "response_date": "2013-06-10T18:35:56.330Z",
412
+ "side": "Buy",
413
+ "status": "Filled",
414
+ "strike_price": 450.0,
415
+ "symbol": "AAPL130622C00450000",
416
+ "time_in_force": "Day",
417
+ "trailing_limit_type": 0,
418
+ "trailing_stop_type": 0,
419
+ "type": "Market",
420
+ "userId": 1005
421
+ },
422
+ {
423
+ "account_id": 0,
424
+ "exec_inst": 0,
425
+ "exec_status": "Filled",
426
+ "extended_hours": false,
427
+ "id": 0,
428
+ "num_legs": 0,
429
+ "option_type": "Undefined",
430
+ "order_id": 1029,
431
+ "parent_id": 0,
432
+ "price": 0.0,
433
+ "quantity": 20.0,
434
+ "request_date": "2013-06-10T19:03:52.213Z",
435
+ "response_date": "2013-06-10T19:03:53.290Z",
436
+ "side": "Buy",
437
+ "status": "Filled",
438
+ "symbol": "AAPL",
439
+ "time_in_force": "Day",
440
+ "trailing_limit_type": 0,
441
+ "trailing_stop_type": 0,
442
+ "type": "Market",
443
+ "userId": 1005
444
+ },
445
+ {
446
+ "account_id": 0,
447
+ "description": "There is no price.",
448
+ "exec_inst": 0,
449
+ "exec_status": "Rejected",
450
+ "expiration_date": "2013-06-22T00:00:00Z",
451
+ "extended_hours": false,
452
+ "id": 0,
453
+ "num_legs": 0,
454
+ "option_type": "Call",
455
+ "order_id": 1030,
456
+ "parent_id": 0,
457
+ "price": 0.0,
458
+ "quantity": 2.0,
459
+ "request_date": "2013-06-10T19:04:11.117Z",
460
+ "response_date": "2013-06-11T00:00:02.957Z",
461
+ "side": "Buy",
462
+ "status": "Rejected",
463
+ "strike_price": 450.0,
464
+ "symbol": "AAPL130622C00450000",
465
+ "time_in_force": "Day",
466
+ "trailing_limit_type": 0,
467
+ "trailing_stop_type": 0,
468
+ "type": "Market",
469
+ "userId": 1005
470
+ },
471
+ {
472
+ "account_id": 0,
473
+ "description": "There is no price.",
474
+ "exec_inst": 0,
475
+ "exec_status": "Rejected",
476
+ "extended_hours": false,
477
+ "id": 0,
478
+ "num_legs": 0,
479
+ "option_type": "Undefined",
480
+ "order_id": 1055,
481
+ "parent_id": 0,
482
+ "price": 10.0,
483
+ "quantity": 1.0,
484
+ "request_date": "2013-06-11T15:09:24.543Z",
485
+ "response_date": "2013-06-12T00:00:02.057Z",
486
+ "side": "Buy",
487
+ "status": "Rejected",
488
+ "symbol": "AAPL",
489
+ "time_in_force": "Day",
490
+ "trailing_limit_type": 0,
491
+ "trailing_stop_type": 0,
492
+ "type": "Limit",
493
+ "userId": 1005
494
+ },
495
+ {
496
+ "account_id": 0,
497
+ "description": "There is no price.",
498
+ "exec_inst": 0,
499
+ "exec_status": "Rejected",
500
+ "extended_hours": false,
501
+ "id": 0,
502
+ "num_legs": 0,
503
+ "option_type": "Undefined",
504
+ "order_id": 1080,
505
+ "parent_id": 0,
506
+ "price": 400.0,
507
+ "quantity": 1.0,
508
+ "request_date": "2013-06-13T04:56:52.857Z",
509
+ "response_date": "2013-06-13T04:56:55.977Z",
510
+ "side": "Buy",
511
+ "status": "Rejected",
512
+ "symbol": "AAPL",
513
+ "time_in_force": "Day",
514
+ "trailing_limit_type": 0,
515
+ "trailing_stop_type": 0,
516
+ "type": "Limit",
517
+ "userId": 1005
518
+ },
519
+ {
520
+ "account_id": 0,
521
+ "exec_inst": 0,
522
+ "exec_status": "Filled",
523
+ "extended_hours": false,
524
+ "id": 0,
525
+ "num_legs": 0,
526
+ "option_type": "Undefined",
527
+ "order_id": 1085,
528
+ "parent_id": 0,
529
+ "price": 40.0,
530
+ "quantity": 4.0,
531
+ "request_date": "2013-06-13T15:09:40.637Z",
532
+ "response_date": "2013-06-13T16:23:05.117Z",
533
+ "side": "Buy",
534
+ "status": "Filled",
535
+ "symbol": "AAPL",
536
+ "time_in_force": "Day",
537
+ "trailing_limit_type": 0,
538
+ "trailing_stop_type": 0,
539
+ "type": "Market",
540
+ "userId": 1005
541
+ },
542
+ {
543
+ "account_id": 0,
544
+ "exec_inst": 0,
545
+ "exec_status": "Expired",
546
+ "extended_hours": false,
547
+ "id": 0,
548
+ "num_legs": 0,
549
+ "option_type": "Undefined",
550
+ "order_id": 1087,
551
+ "parent_id": 0,
552
+ "price": 2.0,
553
+ "quantity": 4.0,
554
+ "request_date": "2013-06-13T17:05:37.510Z",
555
+ "response_date": "2013-06-13T17:39:27.913Z",
556
+ "side": "Buy",
557
+ "status": "Expired",
558
+ "symbol": "AAPL",
559
+ "time_in_force": "Day",
560
+ "trailing_limit_type": 0,
561
+ "trailing_stop_type": 0,
562
+ "type": "Limit",
563
+ "userId": 1005
564
+ },
565
+ {
566
+ "account_id": 0,
567
+ "exec_inst": 0,
568
+ "exec_status": "New",
569
+ "extended_hours": false,
570
+ "id": 0,
571
+ "num_legs": 0,
572
+ "option_type": "Undefined",
573
+ "order_id": 1089,
574
+ "parent_id": 0,
575
+ "price": 1.0,
576
+ "quantity": 4.0,
577
+ "request_date": "2013-06-13T18:33:37.890Z",
578
+ "response_date": "2013-06-13T18:33:38.653Z",
579
+ "side": "Buy",
580
+ "status": "New",
581
+ "symbol": "AAPL",
582
+ "time_in_force": "Day",
583
+ "trailing_limit_type": 0,
584
+ "trailing_stop_type": 0,
585
+ "type": "Limit",
586
+ "userId": 1005
587
+ },
588
+ {
589
+ "account_id": 0,
590
+ "description": "Unknown Order",
591
+ "exec_inst": 0,
592
+ "exec_status": "Rejected",
593
+ "extended_hours": false,
594
+ "id": 0,
595
+ "num_legs": 0,
596
+ "option_type": "Undefined",
597
+ "order_id": 1091,
598
+ "parent_id": 0,
599
+ "price": 2.0,
600
+ "quantity": 4.0,
601
+ "request_date": "2013-06-13T19:05:54.180Z",
602
+ "response_date": "2013-06-14T01:05:16.530Z",
603
+ "side": "Buy",
604
+ "status": "Rejected",
605
+ "symbol": "AAPL",
606
+ "time_in_force": "Day",
607
+ "trailing_limit_type": 0,
608
+ "trailing_stop_type": 0,
609
+ "type": "Limit",
610
+ "userId": 1005
611
+ },
612
+ {
613
+ "account_id": 0,
614
+ "description": "'FIX.4.2:TBIS->NITE' FixMessageSender is not operational, Not connected.",
615
+ "exec_inst": 0,
616
+ "exec_status": "Rejected",
617
+ "expiration_date": "2013-06-22T00:00:00Z",
618
+ "extended_hours": false,
619
+ "id": 0,
620
+ "num_legs": 0,
621
+ "option_type": "Call",
622
+ "order_id": 1124,
623
+ "parent_id": 0,
624
+ "price": 0.0,
625
+ "quantity": 2.0,
626
+ "request_date": "2013-06-15T05:17:56.583Z",
627
+ "response_date": "0001-01-01T00:00:00Z",
628
+ "side": "Buy",
629
+ "status": "Rejected",
630
+ "strike_price": 450.0,
631
+ "symbol": "AAPL130622C00450000",
632
+ "time_in_force": "Day",
633
+ "trailing_limit_type": 0,
634
+ "trailing_stop_type": 0,
635
+ "type": "Market",
636
+ "userId": 1005
637
+ },
638
+ {
639
+ "account_id": 0,
640
+ "description": "OrderSingle Reject : REJECTED BY SYSTEM",
641
+ "exec_inst": 0,
642
+ "exec_status": "Rejected",
643
+ "extended_hours": false,
644
+ "id": 0,
645
+ "num_legs": 0,
646
+ "option_type": "Undefined",
647
+ "order_id": 1125,
648
+ "parent_id": 0,
649
+ "price": 1.0,
650
+ "quantity": 4.0,
651
+ "request_date": "2013-06-15T20:01:23.930Z",
652
+ "response_date": "0001-01-01T00:00:00Z",
653
+ "side": "Buy",
654
+ "status": "Rejected",
655
+ "symbol": "AAPL",
656
+ "time_in_force": "Day",
657
+ "trailing_limit_type": 0,
658
+ "trailing_stop_type": 0,
659
+ "type": "Limit",
660
+ "userId": 1005
661
+ },
662
+ {
663
+ "account_id": 0,
664
+ "description": "Can not process duplicate clientOrderID",
665
+ "exec_inst": 0,
666
+ "exec_status": "Rejected",
667
+ "extended_hours": false,
668
+ "id": 0,
669
+ "num_legs": 0,
670
+ "option_type": "Undefined",
671
+ "order_id": 1126,
672
+ "parent_id": 0,
673
+ "price": 400.0,
674
+ "quantity": 1.0,
675
+ "request_date": "2013-06-15T20:02:44.270Z",
676
+ "response_date": "0001-01-01T00:00:00Z",
677
+ "side": "Buy",
678
+ "status": "Rejected",
679
+ "symbol": "AAPL",
680
+ "time_in_force": "Day",
681
+ "trailing_limit_type": 0,
682
+ "trailing_stop_type": 0,
683
+ "type": "Limit",
684
+ "userId": 1005
685
+ },
686
+ {
687
+ "account_id": 0,
688
+ "description": "Can not process duplicate clientOrderID",
689
+ "exec_inst": 0,
690
+ "exec_status": "Rejected",
691
+ "extended_hours": false,
692
+ "id": 0,
693
+ "num_legs": 0,
694
+ "option_type": "Undefined",
695
+ "order_id": 1127,
696
+ "parent_id": 0,
697
+ "price": 1.0,
698
+ "quantity": 4.0,
699
+ "request_date": "2013-06-15T20:15:29.087Z",
700
+ "response_date": "0001-01-01T00:00:00Z",
701
+ "side": "Buy",
702
+ "status": "Rejected",
703
+ "symbol": "AAPL",
704
+ "time_in_force": "Day",
705
+ "trailing_limit_type": 0,
706
+ "trailing_stop_type": 0,
707
+ "type": "Limit",
708
+ "userId": 1005
709
+ },
710
+ {
711
+ "account_id": 0,
712
+ "description": "Can not process duplicate clientOrderID",
713
+ "exec_inst": 0,
714
+ "exec_status": "Rejected",
715
+ "extended_hours": false,
716
+ "id": 0,
717
+ "num_legs": 0,
718
+ "option_type": "Undefined",
719
+ "order_id": 1128,
720
+ "parent_id": 0,
721
+ "price": 1.0,
722
+ "quantity": 4.0,
723
+ "request_date": "2013-06-15T20:16:29.630Z",
724
+ "response_date": "0001-01-01T00:00:00Z",
725
+ "side": "Buy",
726
+ "status": "Rejected",
727
+ "symbol": "AAPL",
728
+ "time_in_force": "Day",
729
+ "trailing_limit_type": 0,
730
+ "trailing_stop_type": 0,
731
+ "type": "Limit",
732
+ "userId": 1005
733
+ },
734
+ {
735
+ "account_id": 0,
736
+ "description": "Can not process duplicate clientOrderID",
737
+ "exec_inst": 0,
738
+ "exec_status": "Rejected",
739
+ "expiration_date": "2013-06-22T00:00:00Z",
740
+ "extended_hours": false,
741
+ "id": 0,
742
+ "num_legs": 0,
743
+ "option_type": "Call",
744
+ "order_id": 1129,
745
+ "parent_id": 0,
746
+ "price": 0.0,
747
+ "quantity": 2.0,
748
+ "request_date": "2013-06-15T20:20:17.700Z",
749
+ "response_date": "0001-01-01T00:00:00Z",
750
+ "side": "Buy",
751
+ "status": "Rejected",
752
+ "strike_price": 450.0,
753
+ "symbol": "AAPL130622C00450000",
754
+ "time_in_force": "Day",
755
+ "trailing_limit_type": 0,
756
+ "trailing_stop_type": 0,
757
+ "type": "Market",
758
+ "userId": 1005
759
+ },
760
+ {
761
+ "account_id": 0,
762
+ "description": "Can not process duplicate clientOrderID",
763
+ "exec_inst": 0,
764
+ "exec_status": "Rejected",
765
+ "extended_hours": false,
766
+ "id": 0,
767
+ "num_legs": 0,
768
+ "option_type": "Undefined",
769
+ "order_id": 1130,
770
+ "parent_id": 0,
771
+ "price": 0.0,
772
+ "quantity": 20.0,
773
+ "request_date": "2013-06-15T20:23:46.287Z",
774
+ "response_date": "0001-01-01T00:00:00Z",
775
+ "side": "Buy",
776
+ "status": "Rejected",
777
+ "symbol": "AAPL",
778
+ "time_in_force": "Day",
779
+ "trailing_limit_type": 0,
780
+ "trailing_stop_type": 0,
781
+ "type": "Market",
782
+ "userId": 1005
783
+ },
784
+ {
785
+ "account_id": 0,
786
+ "exec_inst": 0,
787
+ "exec_status": "New",
788
+ "extended_hours": false,
789
+ "id": 0,
790
+ "num_legs": 0,
791
+ "option_type": "Undefined",
792
+ "order_id": 1131,
793
+ "parent_id": 0,
794
+ "price": 0.0,
795
+ "quantity": 20.0,
796
+ "request_date": "2013-06-16T18:09:50.603Z",
797
+ "response_date": "0001-01-01T00:00:00Z",
798
+ "side": "Buy",
799
+ "status": "New",
800
+ "symbol": "AAPL",
801
+ "time_in_force": "Day",
802
+ "trailing_limit_type": 0,
803
+ "trailing_stop_type": 0,
804
+ "type": "Market",
805
+ "userId": 1005
806
+ },
807
+ {
808
+ "account_id": 0,
809
+ "description": "ORT -- OrigClOrdID <TR00:_CESEQ> -- not found",
810
+ "exec_inst": 0,
811
+ "exec_status": "Rejected",
812
+ "extended_hours": false,
813
+ "id": 0,
814
+ "num_legs": 0,
815
+ "option_type": "Undefined",
816
+ "order_id": 1148,
817
+ "parent_id": 0,
818
+ "price": 0.0,
819
+ "quantity": 30.0,
820
+ "request_date": "2013-06-21T06:12:10.430Z",
821
+ "response_date": "0001-01-01T00:00:00Z",
822
+ "side": "Buy",
823
+ "status": "Rejected",
824
+ "symbol": "AAPL",
825
+ "time_in_force": "Day",
826
+ "trailing_limit_type": 0,
827
+ "trailing_stop_type": 0,
828
+ "type": "Market",
829
+ "userId": 1005
830
+ }
831
+ ]
832
+ }
833
+ }