tardis-dev 13.29.6 → 13.29.8
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/dist/computable/tradebar.js +2 -1
- package/dist/computable/tradebar.js.map +1 -1
- package/dist/mappers/deribit.d.ts.map +1 -1
- package/dist/mappers/deribit.js +27 -6
- package/dist/mappers/deribit.js.map +1 -1
- package/package.json +1 -1
- package/src/computable/tradebar.ts +2 -1
- package/src/mappers/deribit.ts +28 -7
|
@@ -15,7 +15,7 @@ class TradeBarComputable {
|
|
|
15
15
|
// so logic `compute` would not execute
|
|
16
16
|
// assumption is that if one subscribes to book changes too then there's pretty good chance that
|
|
17
17
|
// even if there are no trades, there's plenty of book changes that trigger computing new trade bar if time passess
|
|
18
|
-
this.sourceDataTypes = ['trade'
|
|
18
|
+
this.sourceDataTypes = ['trade'];
|
|
19
19
|
this._type = 'trade_bar';
|
|
20
20
|
this._kind = kind;
|
|
21
21
|
this._interval = interval;
|
|
@@ -58,6 +58,7 @@ class TradeBarComputable {
|
|
|
58
58
|
return false;
|
|
59
59
|
}
|
|
60
60
|
if (this._kind === 'time') {
|
|
61
|
+
// TODO: push initial bar at a start?
|
|
61
62
|
const currentTimestampTimeBucket = this._getTimeBucket(timestamp);
|
|
62
63
|
const openTimestampTimeBucket = this._getTimeBucket(this._inProgressBar.openTimestamp);
|
|
63
64
|
if (currentTimestampTimeBucket > openTimestampTimeBucket) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradebar.js","sourceRoot":"","sources":["../../src/computable/tradebar.ts"],"names":[],"mappings":";;;AAGA,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAMtB,MAAM,gBAAgB,GAC3B,CAAC,OAAkC,EAAgC,EAAE,CACrE,GAAG,EAAE,CACH,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAA;AAHtB,QAAA,gBAAgB,oBAGM;AAEnC,MAAM,UAAU,GAAiC;IAC/C,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;CACd,CAAA;AAED,MAAM,kBAAkB;IAatB,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAA6B;QAZ/D,sHAAsH;QACtH,uCAAuC;QACvC,gGAAgG;QAChG,mHAAmH;QACnG,oBAAe,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"tradebar.js","sourceRoot":"","sources":["../../src/computable/tradebar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deribit.d.ts","sourceRoot":"","sources":["../../src/mappers/deribit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,EAAE,MAAM,EAA2B,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"deribit.d.ts","sourceRoot":"","sources":["../../src/mappers/deribit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,EAAE,MAAM,EAA2B,MAAM,UAAU,CAAA;AAwB1D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAoCxD,CAAA;AASD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAyCjE,CAAA;AAED,qBAAa,6BAA8B,YAAW,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACvF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAgC;IAExE,SAAS,CAAC,OAAO,EAAE,GAAG;IAStB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW5B,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;CAe9F;AAED,qBAAa,0BAA2B,YAAW,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;IACjF,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW7B,SAAS,CAAC,OAAO,EAAE,GAAG;IAYrB,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,IAAI;CAsD/D;AAED,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CA8CpE,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAwCjE,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAgCD,KAAK,oBAAoB,GAAG,cAAc,GAAG;IAC3C,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,SAAS,EAAE,MAAM,CAAA;YACjB,aAAa,EAAE,MAAM,CAAA;YACrB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;YAC9B,UAAU,EAAE,MAAM,CAAA;YAClB,eAAe,EAAE,MAAM,CAAA;YACvB,WAAW,EAAE,MAAM,CAAA;YACnB,eAAe,CAAC,EAAE,MAAM,CAAA;YACxB,UAAU,CAAC,EAAE,MAAM,CAAA;YACnB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;YAClC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;YACnC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;YAClC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;SACpC,CAAA;KACF,CAAA;CACF,CAAA;AAED,KAAK,0BAA0B,GAAG,oBAAoB,GAAG;IACvD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,gBAAgB,EAAE,MAAM,CAAA;YACxB,gBAAgB,EAAE,MAAM,CAAA;YACxB,SAAS,EAAE,MAAM,CAAA;YACjB,aAAa,EAAE,MAAM,CAAA;YACrB,UAAU,EAAE,MAAM,CAAA;YAClB,OAAO,EAAE,MAAM,CAAA;YACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;YACzB,MAAM,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAA;aAAE,CAAA;YAClF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;YAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;SAC3B,CAAA;KACF,CAAA;CACF,CAAA"}
|
package/dist/mappers/deribit.js
CHANGED
|
@@ -4,6 +4,26 @@ exports.deribitBookTickerMapper = exports.deribitLiquidationsMapper = exports.De
|
|
|
4
4
|
const handy_1 = require("../handy");
|
|
5
5
|
const mapper_1 = require("./mapper");
|
|
6
6
|
// https://docs.deribit.com/v2/#subscriptions
|
|
7
|
+
function deribitCasing(symbols) {
|
|
8
|
+
if (symbols !== undefined) {
|
|
9
|
+
return symbols.map((symbol) => {
|
|
10
|
+
if (symbol.endsWith('-C') || symbol.endsWith('-P')) {
|
|
11
|
+
const parts = symbol.split('-');
|
|
12
|
+
if (parts[2] !== undefined && parts[2].toUpperCase().includes('D')) {
|
|
13
|
+
parts[2] = parts[2].replace('D', 'd');
|
|
14
|
+
return parts.join('-');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return symbol.toUpperCase();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return symbol.toUpperCase();
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
7
27
|
exports.deribitTradesMapper = {
|
|
8
28
|
canHandle(message) {
|
|
9
29
|
const channel = message.params !== undefined ? message.params.channel : undefined;
|
|
@@ -13,7 +33,7 @@ exports.deribitTradesMapper = {
|
|
|
13
33
|
return channel.startsWith('trades');
|
|
14
34
|
},
|
|
15
35
|
getFilters(symbols) {
|
|
16
|
-
symbols = (
|
|
36
|
+
symbols = deribitCasing(symbols);
|
|
17
37
|
return [
|
|
18
38
|
{
|
|
19
39
|
channel: 'trades',
|
|
@@ -51,7 +71,7 @@ exports.deribitBookChangeMapper = {
|
|
|
51
71
|
return channel.startsWith('book');
|
|
52
72
|
},
|
|
53
73
|
getFilters(symbols) {
|
|
54
|
-
symbols = (
|
|
74
|
+
symbols = deribitCasing(symbols);
|
|
55
75
|
return [
|
|
56
76
|
{
|
|
57
77
|
channel: 'book',
|
|
@@ -65,6 +85,7 @@ exports.deribitBookChangeMapper = {
|
|
|
65
85
|
const isSnapshot = (deribitBookChange.type !== undefined && deribitBookChange.type === 'snapshot') ||
|
|
66
86
|
deribitBookChange.prev_change_id === undefined ||
|
|
67
87
|
deribitBookChange.prev_change_id === 0;
|
|
88
|
+
console.log(JSON.stringify(message));
|
|
68
89
|
yield {
|
|
69
90
|
type: 'book_change',
|
|
70
91
|
symbol: deribitBookChange.instrument_name.toUpperCase(),
|
|
@@ -89,7 +110,7 @@ class DeribitDerivativeTickerMapper {
|
|
|
89
110
|
return channel.startsWith('ticker') && (message.params.data.greeks === undefined || message.params.data.combo_state === 'active');
|
|
90
111
|
}
|
|
91
112
|
getFilters(symbols) {
|
|
92
|
-
symbols = (
|
|
113
|
+
symbols = deribitCasing(symbols);
|
|
93
114
|
return [
|
|
94
115
|
{
|
|
95
116
|
channel: 'ticker',
|
|
@@ -114,7 +135,7 @@ class DeribitDerivativeTickerMapper {
|
|
|
114
135
|
exports.DeribitDerivativeTickerMapper = DeribitDerivativeTickerMapper;
|
|
115
136
|
class DeribitOptionSummaryMapper {
|
|
116
137
|
getFilters(symbols) {
|
|
117
|
-
symbols = (
|
|
138
|
+
symbols = deribitCasing(symbols);
|
|
118
139
|
return [
|
|
119
140
|
{
|
|
120
141
|
channel: 'ticker',
|
|
@@ -183,7 +204,7 @@ exports.deribitLiquidationsMapper = {
|
|
|
183
204
|
return channel.startsWith('trades');
|
|
184
205
|
},
|
|
185
206
|
getFilters(symbols) {
|
|
186
|
-
symbols = (
|
|
207
|
+
symbols = deribitCasing(symbols);
|
|
187
208
|
return [
|
|
188
209
|
{
|
|
189
210
|
channel: 'trades',
|
|
@@ -227,7 +248,7 @@ exports.deribitBookTickerMapper = {
|
|
|
227
248
|
return channel.startsWith('ticker');
|
|
228
249
|
},
|
|
229
250
|
getFilters(symbols) {
|
|
230
|
-
symbols = (
|
|
251
|
+
symbols = deribitCasing(symbols);
|
|
231
252
|
return [
|
|
232
253
|
{
|
|
233
254
|
channel: 'ticker',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deribit.js","sourceRoot":"","sources":["../../src/mappers/deribit.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"deribit.js","sourceRoot":"","sources":["../../src/mappers/deribit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@ class TradeBarComputable implements Computable<TradeBar> {
|
|
|
23
23
|
// so logic `compute` would not execute
|
|
24
24
|
// assumption is that if one subscribes to book changes too then there's pretty good chance that
|
|
25
25
|
// even if there are no trades, there's plenty of book changes that trigger computing new trade bar if time passess
|
|
26
|
-
public readonly sourceDataTypes = ['trade'
|
|
26
|
+
public readonly sourceDataTypes = ['trade']
|
|
27
27
|
|
|
28
28
|
private _inProgressBar: Writeable<TradeBar>
|
|
29
29
|
private readonly _kind: BarKind
|
|
@@ -84,6 +84,7 @@ class TradeBarComputable implements Computable<TradeBar> {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
if (this._kind === 'time') {
|
|
87
|
+
// TODO: push initial bar at a start?
|
|
87
88
|
const currentTimestampTimeBucket = this._getTimeBucket(timestamp)
|
|
88
89
|
const openTimestampTimeBucket = this._getTimeBucket(this._inProgressBar.openTimestamp)
|
|
89
90
|
if (currentTimestampTimeBucket > openTimestampTimeBucket) {
|
package/src/mappers/deribit.ts
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
|
-
import { asNumberIfValid
|
|
1
|
+
import { asNumberIfValid } from '../handy'
|
|
2
2
|
import { BookChange, BookTicker, DerivativeTicker, Liquidation, OptionSummary, Trade } from '../types'
|
|
3
3
|
import { Mapper, PendingTickerInfoHelper } from './mapper'
|
|
4
4
|
|
|
5
5
|
// https://docs.deribit.com/v2/#subscriptions
|
|
6
6
|
|
|
7
|
+
function deribitCasing(symbols?: string[]) {
|
|
8
|
+
if (symbols !== undefined) {
|
|
9
|
+
return symbols.map((symbol) => {
|
|
10
|
+
if (symbol.endsWith('-C') || symbol.endsWith('-P')) {
|
|
11
|
+
const parts = symbol.split('-')
|
|
12
|
+
if (parts[2] !== undefined && parts[2].toUpperCase().includes('D')) {
|
|
13
|
+
parts[2] = parts[2].replace('D', 'd')
|
|
14
|
+
return parts.join('-')
|
|
15
|
+
} else {
|
|
16
|
+
return symbol.toUpperCase()
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
return symbol.toUpperCase()
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return
|
|
25
|
+
}
|
|
26
|
+
|
|
7
27
|
export const deribitTradesMapper: Mapper<'deribit', Trade> = {
|
|
8
28
|
canHandle(message: any) {
|
|
9
29
|
const channel = message.params !== undefined ? (message.params.channel as string | undefined) : undefined
|
|
@@ -15,7 +35,7 @@ export const deribitTradesMapper: Mapper<'deribit', Trade> = {
|
|
|
15
35
|
},
|
|
16
36
|
|
|
17
37
|
getFilters(symbols?: string[]) {
|
|
18
|
-
symbols =
|
|
38
|
+
symbols = deribitCasing(symbols)
|
|
19
39
|
|
|
20
40
|
return [
|
|
21
41
|
{
|
|
@@ -60,7 +80,7 @@ export const deribitBookChangeMapper: Mapper<'deribit', BookChange> = {
|
|
|
60
80
|
},
|
|
61
81
|
|
|
62
82
|
getFilters(symbols?: string[]) {
|
|
63
|
-
symbols =
|
|
83
|
+
symbols = deribitCasing(symbols)
|
|
64
84
|
|
|
65
85
|
return [
|
|
66
86
|
{
|
|
@@ -78,6 +98,7 @@ export const deribitBookChangeMapper: Mapper<'deribit', BookChange> = {
|
|
|
78
98
|
deribitBookChange.prev_change_id === undefined ||
|
|
79
99
|
deribitBookChange.prev_change_id === 0
|
|
80
100
|
|
|
101
|
+
console.log(JSON.stringify(message))
|
|
81
102
|
yield {
|
|
82
103
|
type: 'book_change',
|
|
83
104
|
symbol: deribitBookChange.instrument_name.toUpperCase(),
|
|
@@ -104,7 +125,7 @@ export class DeribitDerivativeTickerMapper implements Mapper<'deribit', Derivati
|
|
|
104
125
|
}
|
|
105
126
|
|
|
106
127
|
getFilters(symbols?: string[]) {
|
|
107
|
-
symbols =
|
|
128
|
+
symbols = deribitCasing(symbols)
|
|
108
129
|
|
|
109
130
|
return [
|
|
110
131
|
{
|
|
@@ -133,7 +154,7 @@ export class DeribitDerivativeTickerMapper implements Mapper<'deribit', Derivati
|
|
|
133
154
|
|
|
134
155
|
export class DeribitOptionSummaryMapper implements Mapper<'deribit', OptionSummary> {
|
|
135
156
|
getFilters(symbols?: string[]) {
|
|
136
|
-
symbols =
|
|
157
|
+
symbols = deribitCasing(symbols)
|
|
137
158
|
|
|
138
159
|
return [
|
|
139
160
|
{
|
|
@@ -222,7 +243,7 @@ export const deribitLiquidationsMapper: Mapper<'deribit', Liquidation> = {
|
|
|
222
243
|
},
|
|
223
244
|
|
|
224
245
|
getFilters(symbols?: string[]) {
|
|
225
|
-
symbols =
|
|
246
|
+
symbols = deribitCasing(symbols)
|
|
226
247
|
|
|
227
248
|
return [
|
|
228
249
|
{
|
|
@@ -270,7 +291,7 @@ export const deribitBookTickerMapper: Mapper<'deribit', BookTicker> = {
|
|
|
270
291
|
},
|
|
271
292
|
|
|
272
293
|
getFilters(symbols?: string[]) {
|
|
273
|
-
symbols =
|
|
294
|
+
symbols = deribitCasing(symbols)
|
|
274
295
|
|
|
275
296
|
return [
|
|
276
297
|
{
|