@tastytrade/api 3.0.0 → 4.0.0
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.
- package/.vscode/launch.json +29 -0
- package/CHANGELOG.md +26 -0
- package/CODEOWNERS +1 -0
- package/README.md +4 -2
- package/dist/account-streamer.d.ts +7 -6
- package/dist/account-streamer.d.ts.map +1 -0
- package/dist/account-streamer.js +145 -228
- package/dist/account-streamer.js.map +1 -0
- package/dist/market-data-streamer.d.ts +7 -5
- package/dist/market-data-streamer.d.ts.map +1 -0
- package/dist/market-data-streamer.js +139 -172
- package/dist/market-data-streamer.js.map +1 -0
- package/dist/models/tastytrade-session.d.ts +1 -0
- package/dist/models/tastytrade-session.d.ts.map +1 -0
- package/dist/models/tastytrade-session.js +10 -20
- package/dist/models/tastytrade-session.js.map +1 -0
- package/dist/services/account-status-service.d.ts +2 -1
- package/dist/services/account-status-service.d.ts.map +1 -0
- package/dist/services/account-status-service.js +12 -61
- package/dist/services/account-status-service.js.map +1 -0
- package/dist/services/accounts-and-customers-service.d.ts +2 -1
- package/dist/services/accounts-and-customers-service.d.ts.map +1 -0
- package/dist/services/accounts-and-customers-service.js +29 -112
- package/dist/services/accounts-and-customers-service.js.map +1 -0
- package/dist/services/balances-and-positions-service.d.ts +2 -1
- package/dist/services/balances-and-positions-service.d.ts.map +1 -0
- package/dist/services/balances-and-positions-service.js +22 -88
- package/dist/services/balances-and-positions-service.js.map +1 -0
- package/dist/services/instruments-service.d.ts +2 -1
- package/dist/services/instruments-service.d.ts.map +1 -0
- package/dist/services/instruments-service.js +130 -365
- package/dist/services/instruments-service.js.map +1 -0
- package/dist/services/margin-requirements-service.d.ts +2 -1
- package/dist/services/margin-requirements-service.d.ts.map +1 -0
- package/dist/services/margin-requirements-service.js +16 -73
- package/dist/services/margin-requirements-service.js.map +1 -0
- package/dist/services/market-metrics-service.d.ts +2 -1
- package/dist/services/market-metrics-service.d.ts.map +1 -0
- package/dist/services/market-metrics-service.js +21 -88
- package/dist/services/market-metrics-service.js.map +1 -0
- package/dist/services/net-liquidating-value-history-service.d.ts +2 -1
- package/dist/services/net-liquidating-value-history-service.d.ts.map +1 -0
- package/dist/services/net-liquidating-value-history-service.js +16 -74
- package/dist/services/net-liquidating-value-history-service.js.map +1 -0
- package/dist/services/orders-service.d.ts +4 -1
- package/dist/services/orders-service.d.ts.map +1 -0
- package/dist/services/orders-service.js +76 -205
- package/dist/services/orders-service.js.map +1 -0
- package/dist/services/risk-parameters-service.d.ts +2 -1
- package/dist/services/risk-parameters-service.d.ts.map +1 -0
- package/dist/services/risk-parameters-service.js +16 -73
- package/dist/services/risk-parameters-service.js.map +1 -0
- package/dist/services/session-service.d.ts +2 -1
- package/dist/services/session-service.d.ts.map +1 -0
- package/dist/services/session-service.js +30 -110
- package/dist/services/session-service.js.map +1 -0
- package/dist/services/symbol-search-service.d.ts +2 -1
- package/dist/services/symbol-search-service.d.ts.map +1 -0
- package/dist/services/symbol-search-service.js +11 -60
- package/dist/services/symbol-search-service.js.map +1 -0
- package/dist/services/tastytrade-http-client.d.ts +2 -2
- package/dist/services/tastytrade-http-client.d.ts.map +1 -0
- package/dist/services/tastytrade-http-client.js +51 -133
- package/dist/services/tastytrade-http-client.js.map +1 -0
- package/dist/services/transactions-service.d.ts +2 -1
- package/dist/services/transactions-service.d.ts.map +1 -0
- package/dist/services/transactions-service.js +22 -87
- package/dist/services/transactions-service.js.map +1 -0
- package/dist/services/watchlists-service.d.ts +2 -1
- package/dist/services/watchlists-service.d.ts.map +1 -0
- package/dist/services/watchlists-service.js +51 -165
- package/dist/services/watchlists-service.js.map +1 -0
- package/dist/tastytrade-api.d.ts +20 -19
- package/dist/tastytrade-api.d.ts.map +1 -0
- package/dist/tastytrade-api.js +41 -77
- package/dist/tastytrade-api.js.map +1 -0
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +2 -4
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/json-util.d.ts +4 -3
- package/dist/utils/json-util.d.ts.map +1 -0
- package/dist/utils/json-util.js +14 -25
- package/dist/utils/json-util.js.map +1 -0
- package/dist/utils/response-util.d.ts +1 -0
- package/dist/utils/response-util.d.ts.map +1 -0
- package/dist/utils/response-util.js +7 -12
- package/dist/utils/response-util.js.map +1 -0
- package/lib/account-streamer.ts +4 -4
- package/lib/market-data-streamer.ts +5 -1
- package/lib/services/account-status-service.ts +3 -3
- package/lib/services/accounts-and-customers-service.ts +2 -2
- package/lib/services/balances-and-positions-service.ts +2 -2
- package/lib/services/instruments-service.ts +2 -2
- package/lib/services/margin-requirements-service.ts +2 -2
- package/lib/services/market-metrics-service.ts +2 -2
- package/lib/services/net-liquidating-value-history-service.ts +2 -2
- package/lib/services/orders-service.ts +14 -2
- package/lib/services/risk-parameters-service.ts +2 -2
- package/lib/services/session-service.ts +2 -2
- package/lib/services/symbol-search-service.ts +2 -2
- package/lib/services/tastytrade-http-client.ts +15 -13
- package/lib/services/transactions-service.ts +2 -2
- package/lib/services/watchlists-service.ts +2 -2
- package/lib/tastytrade-api.ts +19 -19
- package/package.json +14 -9
- package/tsconfig.json +12 -11
|
@@ -1,370 +1,135 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
var response_util_1 = __importDefault(require("../utils/response-util"));
|
|
43
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
44
|
-
var InstrumentsService = /** @class */ (function () {
|
|
45
|
-
function InstrumentsService(httpClient) {
|
|
1
|
+
import extractResponseData from "../utils/response-util.js";
|
|
2
|
+
import TastytradeHttpClient from "./tastytrade-http-client.js";
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
export default class InstrumentsService {
|
|
5
|
+
constructor(httpClient) {
|
|
46
6
|
this.httpClient = httpClient;
|
|
47
7
|
}
|
|
48
8
|
//Instruments: Allows an API client to fetch data about instruments.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
switch (_a.label) {
|
|
147
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/equity-options/".concat(symbol), {}, queryParams)];
|
|
148
|
-
case 1:
|
|
149
|
-
singleOption = _a.sent();
|
|
150
|
-
return [2 /*return*/, (0, response_util_1.default)(singleOption)];
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
};
|
|
155
|
-
InstrumentsService.prototype.getFutures = function (queryParams) {
|
|
156
|
-
if (queryParams === void 0) { queryParams = {}; }
|
|
157
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
158
|
-
var futures;
|
|
159
|
-
return __generator(this, function (_a) {
|
|
160
|
-
switch (_a.label) {
|
|
161
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/futures", {}, queryParams)];
|
|
162
|
-
case 1:
|
|
163
|
-
futures = (_a.sent());
|
|
164
|
-
return [2 /*return*/, (0, response_util_1.default)(futures)];
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
InstrumentsService.prototype.getSingleFuture = function (symbol) {
|
|
170
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
-
var singleFuture;
|
|
172
|
-
return __generator(this, function (_a) {
|
|
173
|
-
switch (_a.label) {
|
|
174
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/futures/".concat(symbol), {}, {})];
|
|
175
|
-
case 1:
|
|
176
|
-
singleFuture = _a.sent();
|
|
177
|
-
return [2 /*return*/, (0, response_util_1.default)(singleFuture)];
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
};
|
|
182
|
-
InstrumentsService.prototype.getFutureOptionsProducts = function () {
|
|
183
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
184
|
-
var futureOptionsProducts;
|
|
185
|
-
return __generator(this, function (_a) {
|
|
186
|
-
switch (_a.label) {
|
|
187
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-option-products", {}, {})];
|
|
188
|
-
case 1:
|
|
189
|
-
futureOptionsProducts = (_a.sent());
|
|
190
|
-
return [2 /*return*/, (0, response_util_1.default)(futureOptionsProducts)];
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
};
|
|
195
|
-
InstrumentsService.prototype.getSingleFutureOptionProduct = function (exchange, rootSymbol) {
|
|
196
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
197
|
-
var singleFutureOptionProduct;
|
|
198
|
-
return __generator(this, function (_a) {
|
|
199
|
-
switch (_a.label) {
|
|
200
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-option-products/".concat(exchange, "/").concat(rootSymbol), {}, {})];
|
|
201
|
-
case 1:
|
|
202
|
-
singleFutureOptionProduct = (_a.sent());
|
|
203
|
-
return [2 /*return*/, (0, response_util_1.default)(singleFutureOptionProduct)];
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
};
|
|
208
|
-
InstrumentsService.prototype.getFutureOptions = function (queryParams) {
|
|
209
|
-
if (queryParams === void 0) { queryParams = {}; }
|
|
210
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
211
|
-
var futureOptions;
|
|
212
|
-
return __generator(this, function (_a) {
|
|
213
|
-
switch (_a.label) {
|
|
214
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-options", {}, queryParams)];
|
|
215
|
-
case 1:
|
|
216
|
-
futureOptions = (_a.sent());
|
|
217
|
-
return [2 /*return*/, (0, response_util_1.default)(futureOptions)];
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
});
|
|
221
|
-
};
|
|
222
|
-
InstrumentsService.prototype.getSingleFutureOption = function (symbol) {
|
|
223
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
224
|
-
var singleFutureOption;
|
|
225
|
-
return __generator(this, function (_a) {
|
|
226
|
-
switch (_a.label) {
|
|
227
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-options/".concat(symbol), {}, {})];
|
|
228
|
-
case 1:
|
|
229
|
-
singleFutureOption = _a.sent();
|
|
230
|
-
return [2 /*return*/, (0, response_util_1.default)(singleFutureOption)];
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
};
|
|
235
|
-
InstrumentsService.prototype.getFuturesProducts = function () {
|
|
236
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
237
|
-
var futuresProducts;
|
|
238
|
-
return __generator(this, function (_a) {
|
|
239
|
-
switch (_a.label) {
|
|
240
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-products", {}, {})];
|
|
241
|
-
case 1:
|
|
242
|
-
futuresProducts = (_a.sent());
|
|
243
|
-
return [2 /*return*/, (0, response_util_1.default)(futuresProducts)];
|
|
244
|
-
}
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
};
|
|
248
|
-
InstrumentsService.prototype.getSingleFutureProduct = function (exchange, code) {
|
|
249
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
250
|
-
var singleFutureProduct;
|
|
251
|
-
return __generator(this, function (_a) {
|
|
252
|
-
switch (_a.label) {
|
|
253
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/future-products/".concat(exchange, "/").concat(code), {}, {})];
|
|
254
|
-
case 1:
|
|
255
|
-
singleFutureProduct = (_a.sent());
|
|
256
|
-
return [2 /*return*/, (0, response_util_1.default)(singleFutureProduct)];
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
});
|
|
260
|
-
};
|
|
261
|
-
InstrumentsService.prototype.getQuantityDecimalPrecisions = function () {
|
|
262
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
263
|
-
var quantityDecimalPrecisions;
|
|
264
|
-
return __generator(this, function (_a) {
|
|
265
|
-
switch (_a.label) {
|
|
266
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/quantity-decimal-precisions", {}, {})];
|
|
267
|
-
case 1:
|
|
268
|
-
quantityDecimalPrecisions = (_a.sent());
|
|
269
|
-
return [2 /*return*/, (0, response_util_1.default)(quantityDecimalPrecisions)];
|
|
270
|
-
}
|
|
271
|
-
});
|
|
272
|
-
});
|
|
273
|
-
};
|
|
274
|
-
InstrumentsService.prototype.getWarrants = function (queryParams) {
|
|
275
|
-
if (queryParams === void 0) { queryParams = {}; }
|
|
276
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
277
|
-
var warrants;
|
|
278
|
-
return __generator(this, function (_a) {
|
|
279
|
-
switch (_a.label) {
|
|
280
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/warrants", {}, queryParams)];
|
|
281
|
-
case 1:
|
|
282
|
-
warrants = (_a.sent());
|
|
283
|
-
return [2 /*return*/, (0, response_util_1.default)(warrants)];
|
|
284
|
-
}
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
};
|
|
288
|
-
InstrumentsService.prototype.getSingleWarrant = function (symbol) {
|
|
289
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
290
|
-
var singleWarrant;
|
|
291
|
-
return __generator(this, function (_a) {
|
|
292
|
-
switch (_a.label) {
|
|
293
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/instruments/warrants/".concat(symbol), {}, {})];
|
|
294
|
-
case 1:
|
|
295
|
-
singleWarrant = (_a.sent());
|
|
296
|
-
return [2 /*return*/, (0, response_util_1.default)(singleWarrant)];
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
});
|
|
300
|
-
};
|
|
9
|
+
async getCryptocurrencies(symbols = []) {
|
|
10
|
+
//Retrieve a set of cryptocurrencies given an array of one or more symbols.
|
|
11
|
+
const queryParams = { symbol: symbols };
|
|
12
|
+
const cryptocurrencies = (await this.httpClient.getData(`/instruments/cryptocurrencies`, {}, queryParams));
|
|
13
|
+
return extractResponseData(cryptocurrencies);
|
|
14
|
+
}
|
|
15
|
+
async getSingleCryptocurrency(symbol) {
|
|
16
|
+
//Retrieve a cryptocurrency given a symbol.
|
|
17
|
+
const encodedSymbol = encodeURIComponent(symbol);
|
|
18
|
+
const singleCryptocurrency = (await this.httpClient.getData(`/instruments/cryptocurrencies/${encodedSymbol}`, {}, {}));
|
|
19
|
+
return extractResponseData(singleCryptocurrency);
|
|
20
|
+
}
|
|
21
|
+
async getActiveEquities(queryParams = {}) {
|
|
22
|
+
//Returns all active equities in a paginated fashion
|
|
23
|
+
const activeEquities = (await this.httpClient.getData(`/instruments/equities/active`, {}, queryParams));
|
|
24
|
+
return extractResponseData(activeEquities);
|
|
25
|
+
}
|
|
26
|
+
async getEquityDefinitions(queryParams = {}) {
|
|
27
|
+
//Returns a set of equity definitions given an array of one or more symbols
|
|
28
|
+
const equityDefinitions = (await this.httpClient.getData(`/instruments/equities`, {}, queryParams));
|
|
29
|
+
return extractResponseData(equityDefinitions);
|
|
30
|
+
}
|
|
31
|
+
async getSingleEquity(symbol) {
|
|
32
|
+
//Returns a single equity definition for the provided symbol
|
|
33
|
+
const singleEquity = (await this.httpClient.getData(`/instruments/equities/${symbol}`, {}, {}));
|
|
34
|
+
return extractResponseData(singleEquity);
|
|
35
|
+
}
|
|
36
|
+
async getEquityOptions(symbols, active = true, withExpired = false) {
|
|
37
|
+
if (_.isEmpty(symbols)) {
|
|
38
|
+
throw new Error('Symbols are required for InstrumentService.getEquityOptions');
|
|
39
|
+
}
|
|
40
|
+
//Returns a set of equity options given one or more symbols
|
|
41
|
+
const queryParams = { symbols, active, withExpired };
|
|
42
|
+
const equityOptions = (await this.httpClient.getData(`/instruments/equity-options`, {}, queryParams));
|
|
43
|
+
return extractResponseData(equityOptions);
|
|
44
|
+
}
|
|
45
|
+
async getSingleEquityOption(symbol, queryParams = {}) {
|
|
46
|
+
//Get equity option by symbol
|
|
47
|
+
const singleOption = await this.httpClient.getData(`/instruments/equity-options/${symbol}`, {}, queryParams);
|
|
48
|
+
return extractResponseData(singleOption);
|
|
49
|
+
}
|
|
50
|
+
async getFutures(queryParams = {}) {
|
|
51
|
+
//Returns a set of outright futures given an array of one or more symbols.
|
|
52
|
+
const futures = (await this.httpClient.getData(`/instruments/futures`, {}, queryParams));
|
|
53
|
+
return extractResponseData(futures);
|
|
54
|
+
}
|
|
55
|
+
async getSingleFuture(symbol) {
|
|
56
|
+
//Returns an outright future given a symbol.
|
|
57
|
+
const singleFuture = await this.httpClient.getData(`/instruments/futures/${symbol}`, {}, {});
|
|
58
|
+
return extractResponseData(singleFuture);
|
|
59
|
+
}
|
|
60
|
+
async getFutureOptionsProducts() {
|
|
61
|
+
//Returns metadata for all supported future option products
|
|
62
|
+
const futureOptionsProducts = (await this.httpClient.getData(`/instruments/future-option-products`, {}, {}));
|
|
63
|
+
return extractResponseData(futureOptionsProducts);
|
|
64
|
+
}
|
|
65
|
+
async getSingleFutureOptionProduct(exchange, rootSymbol) {
|
|
66
|
+
//Get a future option product by exchange and root symbol
|
|
67
|
+
const singleFutureOptionProduct = (await this.httpClient.getData(`/instruments/future-option-products/${exchange}/${rootSymbol}`, {}, {}));
|
|
68
|
+
return extractResponseData(singleFutureOptionProduct);
|
|
69
|
+
}
|
|
70
|
+
async getFutureOptions(queryParams = {}) {
|
|
71
|
+
//Returns a set of future option(s) given an array of one or more symbols.
|
|
72
|
+
//Uses TW symbology: [./ESZ9 EW4U9 190927P2975]
|
|
73
|
+
const futureOptions = (await this.httpClient.getData(`/instruments/future-options`, {}, queryParams));
|
|
74
|
+
return extractResponseData(futureOptions);
|
|
75
|
+
}
|
|
76
|
+
async getSingleFutureOption(symbol) {
|
|
77
|
+
//Returns a future option given a symbol. Uses TW symbology: ./ESZ9 EW4U9 190927P2975
|
|
78
|
+
const singleFutureOption = await this.httpClient.getData(`/instruments/future-options/${symbol}`, {}, {});
|
|
79
|
+
return extractResponseData(singleFutureOption);
|
|
80
|
+
}
|
|
81
|
+
async getFuturesProducts() {
|
|
82
|
+
//Returns metadata for all supported futures products
|
|
83
|
+
const futuresProducts = (await this.httpClient.getData(`/instruments/future-products`, {}, {}));
|
|
84
|
+
return extractResponseData(futuresProducts);
|
|
85
|
+
}
|
|
86
|
+
async getSingleFutureProduct(exchange, code) {
|
|
87
|
+
//Get future product from exchange and product code
|
|
88
|
+
const singleFutureProduct = (await this.httpClient.getData(`/instruments/future-products/${exchange}/${code}`, {}, {}));
|
|
89
|
+
return extractResponseData(singleFutureProduct);
|
|
90
|
+
}
|
|
91
|
+
async getQuantityDecimalPrecisions() {
|
|
92
|
+
//Retrieve all quantity decimal precisions.
|
|
93
|
+
const quantityDecimalPrecisions = (await this.httpClient.getData(`/instruments/quantity-decimal-precisions`, {}, {}));
|
|
94
|
+
return extractResponseData(quantityDecimalPrecisions);
|
|
95
|
+
}
|
|
96
|
+
async getWarrants(queryParams = {}) {
|
|
97
|
+
//Returns a set of warrant definitions that can be filtered by parameters
|
|
98
|
+
const warrants = (await this.httpClient.getData(`/instruments/warrants`, {}, queryParams));
|
|
99
|
+
return extractResponseData(warrants);
|
|
100
|
+
}
|
|
101
|
+
async getSingleWarrant(symbol) {
|
|
102
|
+
//Returns a single warrant definition for the provided symbol
|
|
103
|
+
const singleWarrant = (await this.httpClient.getData(`/instruments/warrants/${symbol}`, {}, {}));
|
|
104
|
+
return extractResponseData(singleWarrant);
|
|
105
|
+
}
|
|
301
106
|
//Futures-option-chains: Allows an API client to fetch futures option chains.
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
};
|
|
315
|
-
InstrumentsService.prototype.getFutureOptionChain = function (symbol) {
|
|
316
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
317
|
-
var futureOptionChain;
|
|
318
|
-
return __generator(this, function (_a) {
|
|
319
|
-
switch (_a.label) {
|
|
320
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/futures-option-chains/".concat(symbol), {}, {})];
|
|
321
|
-
case 1:
|
|
322
|
-
futureOptionChain = (_a.sent());
|
|
323
|
-
return [2 /*return*/, (0, response_util_1.default)(futureOptionChain)];
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
});
|
|
327
|
-
};
|
|
107
|
+
async getNestedFutureOptionChains(symbol) {
|
|
108
|
+
//Returns a futures option chain given a futures product code in a nested form to minimize redundant processing
|
|
109
|
+
const nestedFutureOptionChains = (await this.httpClient.getData(`/futures-option-chains/${symbol}/nested`, {}, {}));
|
|
110
|
+
return extractResponseData(nestedFutureOptionChains);
|
|
111
|
+
}
|
|
112
|
+
async getFutureOptionChain(symbol) {
|
|
113
|
+
//Returns a futures option chain given a futures product code, i.e. ES
|
|
114
|
+
const futureOptionChain = (await this.httpClient.getData(`/futures-option-chains/${symbol}`, {}, {}));
|
|
115
|
+
return extractResponseData(futureOptionChain);
|
|
116
|
+
}
|
|
328
117
|
//Option-chains: Allows an API client to fetch futures option chains.
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
return
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/option-chains/".concat(symbol, "/compact"), {}, {})];
|
|
348
|
-
case 1:
|
|
349
|
-
compactOptionChain = (_a.sent());
|
|
350
|
-
return [2 /*return*/, (0, response_util_1.default)(compactOptionChain)];
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
});
|
|
354
|
-
};
|
|
355
|
-
InstrumentsService.prototype.getOptionChain = function (symbol) {
|
|
356
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
357
|
-
var optionChain;
|
|
358
|
-
return __generator(this, function (_a) {
|
|
359
|
-
switch (_a.label) {
|
|
360
|
-
case 0: return [4 /*yield*/, this.httpClient.getData("/option-chains/".concat(symbol), {}, {})];
|
|
361
|
-
case 1:
|
|
362
|
-
optionChain = (_a.sent());
|
|
363
|
-
return [2 /*return*/, (0, response_util_1.default)(optionChain)];
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
});
|
|
367
|
-
};
|
|
368
|
-
return InstrumentsService;
|
|
369
|
-
}());
|
|
370
|
-
exports.default = InstrumentsService;
|
|
118
|
+
async getNestedOptionChain(symbol) {
|
|
119
|
+
//Returns an option chain given an underlying symbol,
|
|
120
|
+
//i.e. AAPL in a nested form to minimize redundant processing
|
|
121
|
+
const nestedOptionChain = (await this.httpClient.getData(`/option-chains/${symbol}/nested`, {}, {}));
|
|
122
|
+
return extractResponseData(nestedOptionChain);
|
|
123
|
+
}
|
|
124
|
+
async getCompactOptionChain(symbol) {
|
|
125
|
+
//Returns an option chain given an underlying symbol, i.e. AAPL in a compact form to minimize content size
|
|
126
|
+
const compactOptionChain = (await this.httpClient.getData(`/option-chains/${symbol}/compact`, {}, {}));
|
|
127
|
+
return extractResponseData(compactOptionChain);
|
|
128
|
+
}
|
|
129
|
+
async getOptionChain(symbol) {
|
|
130
|
+
//Returns an option chain given an underlying symbol, i.e. AAPL
|
|
131
|
+
const optionChain = (await this.httpClient.getData(`/option-chains/${symbol}`, {}, {}));
|
|
132
|
+
return extractResponseData(optionChain);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=instruments-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruments-service.js","sourceRoot":"","sources":["../../lib/services/instruments-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import TastytradeHttpClient from "./tastytrade-http-client";
|
|
1
|
+
import TastytradeHttpClient from "./tastytrade-http-client.js";
|
|
2
2
|
export default class MarginRequirementsService {
|
|
3
3
|
private httpClient;
|
|
4
4
|
constructor(httpClient: TastytradeHttpClient);
|
|
5
5
|
getMarginRequirements(accountNumber: string): Promise<any>;
|
|
6
6
|
postMarginRequirements(accountNumber: string, order: object): Promise<any>;
|
|
7
7
|
}
|
|
8
|
+
//# sourceMappingURL=margin-requirements-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin-requirements-service.d.ts","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC9B,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,oBAAoB;IAI9C,qBAAqB,CAAC,aAAa,EAAE,MAAM;IAK3C,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAKpE"}
|
|
@@ -1,76 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
var response_util_1 = __importDefault(require("../utils/response-util"));
|
|
43
|
-
var MarginRequirementsService = /** @class */ (function () {
|
|
44
|
-
function MarginRequirementsService(httpClient) {
|
|
1
|
+
import extractResponseData from "../utils/response-util.js";
|
|
2
|
+
import TastytradeHttpClient from "./tastytrade-http-client.js";
|
|
3
|
+
export default class MarginRequirementsService {
|
|
4
|
+
constructor(httpClient) {
|
|
45
5
|
this.httpClient = httpClient;
|
|
46
6
|
}
|
|
47
7
|
//Margin-requirements: Allows a client to fetch margin-requirements for positions and orders
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
};
|
|
61
|
-
MarginRequirementsService.prototype.postMarginRequirements = function (accountNumber, order) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
63
|
-
var marginRequirements;
|
|
64
|
-
return __generator(this, function (_a) {
|
|
65
|
-
switch (_a.label) {
|
|
66
|
-
case 0: return [4 /*yield*/, this.httpClient.postData("/margin/accounts/".concat(accountNumber, "/dry-run"), order, {})];
|
|
67
|
-
case 1:
|
|
68
|
-
marginRequirements = (_a.sent());
|
|
69
|
-
return [2 /*return*/, (0, response_util_1.default)(marginRequirements)];
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
return MarginRequirementsService;
|
|
75
|
-
}());
|
|
76
|
-
exports.default = MarginRequirementsService;
|
|
8
|
+
async getMarginRequirements(accountNumber) {
|
|
9
|
+
//Fetch current margin/captial requirements report for an account
|
|
10
|
+
const marginRequirements = (await this.httpClient.getData(`/margin/accounts/${accountNumber}/requirements`));
|
|
11
|
+
return extractResponseData(marginRequirements);
|
|
12
|
+
}
|
|
13
|
+
async postMarginRequirements(accountNumber, order) {
|
|
14
|
+
//Estimate margin requirements for an order given an account
|
|
15
|
+
const marginRequirements = (await this.httpClient.postData(`/margin/accounts/${accountNumber}/dry-run`, order, {}));
|
|
16
|
+
return extractResponseData(marginRequirements);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=margin-requirements-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin-requirements-service.js","sourceRoot":"","sources":["../../lib/services/margin-requirements-service.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC1C,YAAoB,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;IACpD,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC7C,iEAAiE;QACjE,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,aAAa,eAAe,CAAC,CAAC,CAAA;QAC5G,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,KAAa;QAC7D,4DAA4D;QAC5D,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,aAAa,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACnH,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IAClD,CAAC;CACJ"}
|