hft-js 0.1.4 → 0.1.6

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/lib/bar.d.ts CHANGED
@@ -4,13 +4,14 @@ export type BarInfo = Writeable<BarData>;
4
4
  export declare class BarGenerator implements ITickReceiver {
5
5
  private readonly receivers;
6
6
  private readonly symbol;
7
+ private readonly maxVolume;
7
8
  private shouldUpdate;
8
9
  private bar?;
9
- constructor(symbol: string);
10
- get isWorking(): boolean;
10
+ constructor(symbol: string, maxVolume?: number);
11
+ get receiverCount(): number;
11
12
  addReceiver(receiver: IBarReceiver): void;
12
13
  removeReceiver(receiver: IBarReceiver): void;
13
14
  onTick(tick: TickData, tape: TapeData): void;
14
15
  private _createBar;
15
16
  }
16
- export declare const createBarGenerator: (symbol: string) => BarGenerator;
17
+ export declare const createBarGenerator: (symbol: string, maxVolume?: number) => BarGenerator;
package/lib/bar.js CHANGED
@@ -24,14 +24,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.createBarGenerator = exports.BarGenerator = void 0;
25
25
  var utils_js_1 = require("./utils.js");
26
26
  var BarGenerator = /** @class */ (function () {
27
- function BarGenerator(symbol) {
27
+ function BarGenerator(symbol, maxVolume) {
28
+ if (maxVolume === void 0) { maxVolume = 0; }
28
29
  this.receivers = [];
29
30
  this.symbol = symbol;
31
+ this.maxVolume = maxVolume;
30
32
  this.shouldUpdate = 0;
31
33
  }
32
- Object.defineProperty(BarGenerator.prototype, "isWorking", {
34
+ Object.defineProperty(BarGenerator.prototype, "receiverCount", {
33
35
  get: function () {
34
- return this.receivers.length > 0;
36
+ return this.receivers.length;
35
37
  },
36
38
  enumerable: false,
37
39
  configurable: true
@@ -58,13 +60,18 @@ var BarGenerator = /** @class */ (function () {
58
60
  return;
59
61
  }
60
62
  var date = tick.date;
61
- var time = Math.floor(tick.time / 100) * 100;
62
- if (this.bar && (this.bar.date !== date || this.bar.time !== time)) {
63
- var bar_1 = Object.freeze(this.bar);
64
- Object.freeze(bar_1.buyVolumes);
65
- Object.freeze(bar_1.sellVolumes);
66
- this.receivers.forEach(function (receiver) { return receiver.onBar(bar_1); });
67
- this.bar = undefined;
63
+ var time = this.maxVolume > 0 ? tick.time : Math.floor(tick.time / 100) * 100;
64
+ if (this.bar) {
65
+ var isFinished = this.maxVolume > 0
66
+ ? this.bar.volume >= this.maxVolume
67
+ : this.bar.date !== date || this.bar.time !== time;
68
+ if (isFinished) {
69
+ var bar_1 = Object.freeze(this.bar);
70
+ Object.freeze(bar_1.buyVolumes);
71
+ Object.freeze(bar_1.sellVolumes);
72
+ this.receivers.forEach(function (receiver) { return receiver.onBar(bar_1); });
73
+ this.bar = undefined;
74
+ }
68
75
  }
69
76
  if (tape.volumeDelta === 0) {
70
77
  return;
@@ -98,7 +105,7 @@ var BarGenerator = /** @class */ (function () {
98
105
  this.bar.delta -= tape.volumeDelta;
99
106
  break;
100
107
  }
101
- if (tape.direction !== "none") {
108
+ if (tick.lastPrice !== this.bar.poc && tape.direction !== "none") {
102
109
  var tickVP = (0, utils_js_1.getBarVolume)(this.bar, tick.lastPrice);
103
110
  var pocVP = (0, utils_js_1.getBarVolume)(this.bar, this.bar.poc);
104
111
  if (tickVP > pocVP) {
@@ -135,6 +142,9 @@ var BarGenerator = /** @class */ (function () {
135
142
  return BarGenerator;
136
143
  }());
137
144
  exports.BarGenerator = BarGenerator;
138
- var createBarGenerator = function (symbol) { return new BarGenerator(symbol); };
145
+ var createBarGenerator = function (symbol, maxVolume) {
146
+ if (maxVolume === void 0) { maxVolume = 0; }
147
+ return new BarGenerator(symbol, maxVolume);
148
+ };
139
149
  exports.createBarGenerator = createBarGenerator;
140
150
  //# sourceMappingURL=bar.js.map
package/lib/bar.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bar.js","sourceRoot":"","sources":["../src/bar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bar.js","sourceRoot":"","sources":["../src/bar.ts"],"names":[],"mappings":"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"}
package/lib/broker.js CHANGED
@@ -23,11 +23,12 @@ var Broker = /** @class */ (function () {
23
23
  this.generators = new Map();
24
24
  this.marketLifecycle = {
25
25
  onOpen: function () {
26
- if (_this.market.hasRecorder()) {
26
+ var recorder = _this.market.getRecorder();
27
+ if (recorder && recorder.isRecorderReady()) {
27
28
  _this.trader.queryInstruments({
28
29
  onInstruments: function (instruments) {
29
30
  if (instruments) {
30
- _this.market.startRecorder(instruments);
31
+ recorder.startRecorder(instruments);
31
32
  }
32
33
  },
33
34
  });
@@ -36,7 +37,10 @@ var Broker = /** @class */ (function () {
36
37
  },
37
38
  onClose: function () {
38
39
  _this.strategies.forEach(function (strategy) { return strategy.onDestroy(); });
39
- _this.market.stopRecorder();
40
+ var recorder = _this.market.getRecorder();
41
+ if (recorder) {
42
+ recorder.stopRecorder();
43
+ }
40
44
  },
41
45
  onError: function (error, message) {
42
46
  if (errorReceiver) {
@@ -114,7 +118,7 @@ var Broker = /** @class */ (function () {
114
118
  return;
115
119
  }
116
120
  generator.removeReceiver(receiver);
117
- if (!generator.isWorking) {
121
+ if (generator.receiverCount === 0) {
118
122
  _this.unsubscribe([symbol], generator);
119
123
  _this.generators.delete(symbol);
120
124
  }
package/lib/broker.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -4,4 +4,5 @@ export * from "./broker.js";
4
4
  export * from "./trader.js";
5
5
  export * from "./market.js";
6
6
  export * from "./utils.js";
7
- export { CTPUserInfo } from "./provider.js";
7
+ export * from "./tape.js";
8
+ export * from "./bar.js";
package/lib/index.js CHANGED
@@ -30,4 +30,6 @@ __exportStar(require("./broker.js"), exports);
30
30
  __exportStar(require("./trader.js"), exports);
31
31
  __exportStar(require("./market.js"), exports);
32
32
  __exportStar(require("./utils.js"), exports);
33
+ __exportStar(require("./tape.js"), exports);
34
+ __exportStar(require("./bar.js"), exports);
33
35
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,kDAAgC;AAChC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,kDAAgC;AAChC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,6CAA2B;AAC3B,4CAA0B;AAC1B,2CAAyB"}
package/lib/index.test.js CHANGED
@@ -191,16 +191,24 @@ var Strategy = /** @class */ (function () {
191
191
  return Strategy;
192
192
  }());
193
193
  var trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo);
194
- var market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, config.UserInfo);
194
+ var market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
195
+ onSubscribed: function (symbol) {
196
+ console.log("Market subscribed: ".concat(symbol));
197
+ },
198
+ onUnsubscribed: function (symbol) {
199
+ console.log("Market unsubscribed: ".concat(symbol));
200
+ },
201
+ });
202
+ var recorder = market.getRecorder();
195
203
  var enableRecorder = false;
196
- if (enableRecorder) {
197
- market.setRecorder({
204
+ if (enableRecorder && recorder) {
205
+ recorder.setRecorder({
198
206
  onMarketData: function (marketData) {
199
207
  console.log(marketData.InstrumentID, marketData.LastPrice);
200
208
  },
201
209
  }, function (instruments) {
202
210
  return instruments
203
- .filter(function (instrument) { return instrument.productType === "future"; })
211
+ .filter(function (instrument) { return instrument.productType === "futures"; })
204
212
  .map(function (instrument) { return instrument.symbol; });
205
213
  });
206
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -99,12 +99,15 @@ export interface IMarketRecorderReceiver {
99
99
  onMarketData: (marketData: any) => void;
100
100
  }
101
101
  export type IMarketRecorderSymbols = (instrument: InstrumentData[]) => string[];
102
- export interface IMarketProvider extends IProvider, ITickSubscriber, ITickUnsubscriber {
103
- hasRecorder: () => boolean;
102
+ export interface IMarketRecorderProvider {
103
+ isRecorderReady: () => boolean;
104
104
  setRecorder: (receiver: IMarketRecorderReceiver, symbols: IMarketRecorderSymbols) => void;
105
105
  startRecorder: (instrument: InstrumentData[]) => void;
106
106
  stopRecorder: () => void;
107
107
  }
108
+ export interface IMarketProvider extends IProvider, ITickSubscriber, ITickUnsubscriber {
109
+ getRecorder: () => IMarketRecorderProvider | undefined;
110
+ }
108
111
  export type IPlaceOrderResultReceiver = {
109
112
  onPlaceOrderSent: (receiptId: string) => void;
110
113
  onPlaceOrderError: (reason: string) => void;
package/lib/market.d.ts CHANGED
@@ -1,17 +1,23 @@
1
- import { CTPProvider, CTPUserInfo } from "./provider.js";
1
+ import { CTPProvider } from "./provider.js";
2
2
  import { InstrumentData } from "./typedef.js";
3
- import { ILifecycleListener, IMarketProvider, IMarketRecorderReceiver, IMarketRecorderSymbols, ITickReceiver } from "./interfaces.js";
4
- export declare class Market extends CTPProvider implements IMarketProvider {
3
+ import { ILifecycleListener, IMarketProvider, IMarketRecorderProvider, IMarketRecorderReceiver, IMarketRecorderSymbols, ITickReceiver } from "./interfaces.js";
4
+ export interface IMarketListener {
5
+ onSubscribed: (symbol: string) => void;
6
+ onUnsubscribed: (symbol: string) => void;
7
+ }
8
+ export declare class Market extends CTPProvider implements IMarketProvider, IMarketRecorderProvider {
5
9
  private marketApi?;
6
10
  private recorder?;
7
11
  private recorderSymbols?;
8
12
  private tradingDay;
13
+ private readonly listener?;
9
14
  private readonly recordings;
10
15
  private readonly symbols;
11
16
  private readonly lastTicks;
12
17
  private readonly subscribers;
13
- constructor(flowMdPath: string, frontMdAddrs: string | string[], userInfo: CTPUserInfo);
14
- hasRecorder(): boolean;
18
+ constructor(flowMdPath: string, frontMdAddrs: string | string[], listener?: IMarketListener);
19
+ getRecorder(): this;
20
+ isRecorderReady(): boolean;
15
21
  setRecorder(receiver: IMarketRecorderReceiver, symbols: IMarketRecorderSymbols): void;
16
22
  open(lifecycle: ILifecycleListener): boolean;
17
23
  close(lifecycle: ILifecycleListener): void;
@@ -20,4 +26,4 @@ export declare class Market extends CTPProvider implements IMarketProvider {
20
26
  subscribe(symbols: string[], receiver: ITickReceiver): void;
21
27
  unsubscribe(symbols: string[], receiver: ITickReceiver): void;
22
28
  }
23
- export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[], userInfo: CTPUserInfo) => Market;
29
+ export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[], listener?: IMarketListener) => Market;
package/lib/market.js CHANGED
@@ -46,8 +46,9 @@ var isValidPrice = function (x) { return x !== Number.MAX_VALUE && x !== 0; };
46
46
  var isValidVolume = function (x) { return x !== Number.MAX_VALUE && x !== 0; };
47
47
  var Market = /** @class */ (function (_super) {
48
48
  __extends(Market, _super);
49
- function Market(flowMdPath, frontMdAddrs, userInfo) {
50
- var _this = _super.call(this, flowMdPath, frontMdAddrs, userInfo) || this;
49
+ function Market(flowMdPath, frontMdAddrs, listener) {
50
+ var _this = _super.call(this, flowMdPath, frontMdAddrs) || this;
51
+ _this.listener = listener;
51
52
  _this.tradingDay = 0;
52
53
  _this.recordings = new Set();
53
54
  _this.symbols = new Map();
@@ -55,7 +56,10 @@ var Market = /** @class */ (function (_super) {
55
56
  _this.subscribers = new Map();
56
57
  return _this;
57
58
  }
58
- Market.prototype.hasRecorder = function () {
59
+ Market.prototype.getRecorder = function () {
60
+ return this;
61
+ };
62
+ Market.prototype.isRecorderReady = function () {
59
63
  return !!this.recorder;
60
64
  };
61
65
  Market.prototype.setRecorder = function (receiver, symbols) {
@@ -69,7 +73,7 @@ var Market = /** @class */ (function (_super) {
69
73
  }
70
74
  this.marketApi = napi_ctp_1.default.createMarketData(this.flowPath, this.frontAddrs);
71
75
  this.marketApi.on(napi_ctp_1.default.MarketDataEvent.FrontConnected, function () {
72
- _this._withRetry(function () { return _this.marketApi.reqUserLogin(_this.userInfo); });
76
+ _this._withRetry(function () { return _this.marketApi.reqUserLogin(); });
73
77
  });
74
78
  var fired = false;
75
79
  this.marketApi.on(napi_ctp_1.default.MarketDataEvent.RspUserLogin, function (_, options) {
@@ -92,6 +96,20 @@ var Market = /** @class */ (function (_super) {
92
96
  lifecycle.onOpen();
93
97
  }
94
98
  });
99
+ this.marketApi.on(napi_ctp_1.default.MarketDataEvent.RspSubMarketData, function (instrument) {
100
+ if (!_this.listener) {
101
+ return;
102
+ }
103
+ var symbol = _this.symbols.get(instrument.InstrumentID);
104
+ _this.listener.onSubscribed(symbol !== null && symbol !== void 0 ? symbol : instrument.InstrumentID);
105
+ });
106
+ this.marketApi.on(napi_ctp_1.default.MarketDataEvent.RspUnSubMarketData, function (instrument) {
107
+ if (!_this.listener) {
108
+ return;
109
+ }
110
+ var symbol = _this.symbols.get(instrument.InstrumentID);
111
+ _this.listener.onUnsubscribed(symbol !== null && symbol !== void 0 ? symbol : instrument.InstrumentID);
112
+ });
95
113
  this.marketApi.on(napi_ctp_1.default.MarketDataEvent.RtnDepthMarketData, function (depthMarketData) {
96
114
  var instrumentId = depthMarketData.InstrumentID;
97
115
  if (_this.recorder && _this.recordings.has(instrumentId)) {
@@ -291,6 +309,6 @@ var Market = /** @class */ (function (_super) {
291
309
  return Market;
292
310
  }(provider_js_1.CTPProvider));
293
311
  exports.Market = Market;
294
- var createMarket = function (flowMdPath, frontMdAddrs, userInfo) { return new Market(flowMdPath, frontMdAddrs, userInfo); };
312
+ var createMarket = function (flowMdPath, frontMdAddrs, listener) { return new Market(flowMdPath, frontMdAddrs, listener); };
295
313
  exports.createMarket = createMarket;
296
314
  //# sourceMappingURL=market.js.map
package/lib/market.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"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"}
package/lib/provider.d.ts CHANGED
@@ -1,19 +1,9 @@
1
1
  import ctp from "napi-ctp";
2
2
  import { ErrorType, ILifecycleListener } from "./interfaces.js";
3
- export type CTPUserInfo = {
4
- BrokerID: string;
5
- UserID: string;
6
- Password: string;
7
- InvestorID: string;
8
- UserProductInfo: string;
9
- AuthCode: string;
10
- AppID: string;
11
- };
12
3
  export declare class CTPProvider {
13
4
  protected readonly flowPath: string;
14
5
  protected readonly frontAddrs: string | string[];
15
- protected readonly userInfo: CTPUserInfo;
16
- constructor(flowPath: string, frontAddrs: string | string[], userInfo: CTPUserInfo);
6
+ constructor(flowPath: string, frontAddrs: string | string[]);
17
7
  private _sleep;
18
8
  protected _withRetry(request: () => number | undefined, ms?: number): Promise<number | undefined>;
19
9
  protected _isErrorResp(lifecycle: ILifecycleListener, options: ctp.CallbackOptions, error: ErrorType): boolean;
package/lib/provider.js CHANGED
@@ -52,10 +52,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
52
52
  exports.CTPProvider = void 0;
53
53
  var napi_ctp_1 = __importDefault(require("napi-ctp"));
54
54
  var CTPProvider = /** @class */ (function () {
55
- function CTPProvider(flowPath, frontAddrs, userInfo) {
55
+ function CTPProvider(flowPath, frontAddrs) {
56
56
  this.flowPath = flowPath;
57
57
  this.frontAddrs = frontAddrs;
58
- this.userInfo = userInfo;
59
58
  }
60
59
  CTPProvider.prototype._sleep = function (ms) {
61
60
  return new Promise(function (resolve) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA2B;AAa3B;IAKE,qBACE,QAAgB,EAChB,UAA6B,EAC7B,QAAqB;QAErB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,4BAAM,GAAd,UAAe,EAAU;QACvB,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO;YAC/B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,gCAAU,GAA1B;4DAA2B,OAAiC,EAAE,EAAQ;;YAAR,mBAAA,EAAA,QAAQ;;;;wBAE5D,MAAM,GAAG,OAAO,EAAE,CAAC;wBAEzB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;4BACjB,sBAAO,kBAAG,CAAC,gBAAgB,EAAE,EAAC;wBAChC,CAAC;wBAED,IAAI,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;4BACnC,sBAAO,MAAM,EAAC;wBAChB,CAAC;wBAED,qBAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAA;;wBAArB,SAAqB,CAAC;;;;;;;KAEzB;IAES,kCAAY,GAAtB,UACE,SAA6B,EAC7B,OAA4B,EAC5B,KAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,CAAC,OAAO,CACf,KAAK,EACL,UAAG,OAAO,CAAC,OAAO,CAAC,OAAO,cAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAE,CACzD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gCAAU,GAApB,UAAqB,IAAY;QACzB,IAAA,KAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,EAA/D,IAAI,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAA2C,CAAC;QACvE,OAAO,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC9C,CAAC;IACH,kBAAC;AAAD,CAAC,AA1DD,IA0DC;AA1DY,kCAAW"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA2B;AAG3B;IAIE,qBAAY,QAAgB,EAAE,UAA6B;QACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEO,4BAAM,GAAd,UAAe,EAAU;QACvB,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO;YAC/B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,gCAAU,GAA1B;4DAA2B,OAAiC,EAAE,EAAQ;;YAAR,mBAAA,EAAA,QAAQ;;;;wBAE5D,MAAM,GAAG,OAAO,EAAE,CAAC;wBAEzB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;4BACjB,sBAAO,kBAAG,CAAC,gBAAgB,EAAE,EAAC;wBAChC,CAAC;wBAED,IAAI,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;4BACnC,sBAAO,MAAM,EAAC;wBAChB,CAAC;wBAED,qBAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAA;;wBAArB,SAAqB,CAAC;;;;;;;KAEzB;IAES,kCAAY,GAAtB,UACE,SAA6B,EAC7B,OAA4B,EAC5B,KAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,CAAC,OAAO,CACf,KAAK,EACL,UAAG,OAAO,CAAC,OAAO,CAAC,OAAO,cAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAE,CACzD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gCAAU,GAApB,UAAqB,IAAY;QACzB,IAAA,KAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,EAA/D,IAAI,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAA2C,CAAC;QACvE,OAAO,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC9C,CAAC;IACH,kBAAC;AAAD,CAAC,AApDD,IAoDC;AApDY,kCAAW"}
package/lib/trader.d.ts CHANGED
@@ -1,6 +1,15 @@
1
- import { CTPProvider, CTPUserInfo } from "./provider.js";
1
+ import { CTPProvider } from "./provider.js";
2
2
  import { OffsetType, OrderData, OrderFlag, ProductType, SideType } from "./typedef.js";
3
3
  import { ICancelOrderResultReceiver, ICommissionRateReceiver, IInstrumentReceiver, IInstrumentsReceiver, ILifecycleListener, IMarginRateReceiver, IOrderReceiver, IOrdersReceiver, IPlaceOrderResultReceiver, IPositionDetailsReceiver, IPositionReceiver, IPositionsReceiver, ITraderProvider, ITradingAccountsReceiver } from "./interfaces.js";
4
+ export type CTPUserInfo = {
5
+ BrokerID: string;
6
+ UserID: string;
7
+ Password: string;
8
+ InvestorID: string;
9
+ UserProductInfo: string;
10
+ AuthCode: string;
11
+ AppID: string;
12
+ };
4
13
  export declare class Trader extends CTPProvider implements ITraderProvider {
5
14
  private traderApi?;
6
15
  private tradingDay;
@@ -9,6 +18,7 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
9
18
  private orderRef;
10
19
  private accountsQueryTime;
11
20
  private positionDetailsChanged;
21
+ private readonly userInfo;
12
22
  private readonly receivers;
13
23
  private readonly accounts;
14
24
  private readonly positionDetails;
package/lib/trader.js CHANGED
@@ -47,13 +47,14 @@ var utils_js_1 = require("./utils.js");
47
47
  var Trader = /** @class */ (function (_super) {
48
48
  __extends(Trader, _super);
49
49
  function Trader(flowTdPath, frontTdAddrs, userInfo) {
50
- var _this = _super.call(this, flowTdPath, frontTdAddrs, userInfo) || this;
50
+ var _this = _super.call(this, flowTdPath, frontTdAddrs) || this;
51
51
  _this.tradingDay = 0;
52
52
  _this.frontId = 0;
53
53
  _this.sessionId = 0;
54
54
  _this.orderRef = 0;
55
55
  _this.accountsQueryTime = 0;
56
56
  _this.positionDetailsChanged = true;
57
+ _this.userInfo = userInfo;
57
58
  _this.receivers = [];
58
59
  _this.accounts = [];
59
60
  _this.positionDetails = [];
@@ -517,14 +518,14 @@ var Trader = /** @class */ (function (_super) {
517
518
  Trader.prototype.queryInstruments = function (receiver, type) {
518
519
  var instruments = Array.from(this.instruments.values());
519
520
  switch (type) {
520
- case "future":
521
+ case "futures":
521
522
  receiver.onInstruments(instruments
522
523
  .filter(function (instrument) {
523
524
  return instrument.ProductClass === napi_ctp_1.default.ProductClassType.Futures;
524
525
  })
525
526
  .map(this._toInstrumentData, this));
526
527
  break;
527
- case "option":
528
+ case "options":
528
529
  receiver.onInstruments(instruments
529
530
  .filter(function (instrument) {
530
531
  return instrument.ProductClass === napi_ctp_1.default.ProductClassType.Options;
@@ -724,9 +725,9 @@ var Trader = /** @class */ (function (_super) {
724
725
  Trader.prototype._calcProductType = function (productClass) {
725
726
  switch (productClass) {
726
727
  case napi_ctp_1.default.ProductClassType.Futures:
727
- return "future";
728
+ return "futures";
728
729
  case napi_ctp_1.default.ProductClassType.Options:
729
- return "option";
730
+ return "options";
730
731
  default:
731
732
  throw new Error("Unsupported product class: ".concat(productClass));
732
733
  }
package/lib/trader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"trader.js","sourceRoot":"","sources":["../src/trader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trader.js","sourceRoot":"","sources":["../src/trader.ts"],"names":[],"mappings":"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"}
package/lib/typedef.d.ts CHANGED
@@ -126,7 +126,7 @@ export type TradingAccount = Readonly<{
126
126
  frozenCash: number;
127
127
  frozenCommission: number;
128
128
  }>;
129
- export type ProductType = "future" | "option";
129
+ export type ProductType = "futures" | "options";
130
130
  export type InstrumentData = Readonly<{
131
131
  symbol: string;
132
132
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hft-js",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "High-Frequency Trading in Node.js",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
package/src/bar.ts CHANGED
@@ -18,17 +18,19 @@ export type BarInfo = Writeable<BarData>;
18
18
  export class BarGenerator implements ITickReceiver {
19
19
  private readonly receivers: IBarReceiver[];
20
20
  private readonly symbol: string;
21
+ private readonly maxVolume: number;
21
22
  private shouldUpdate: number;
22
23
  private bar?: BarInfo;
23
24
 
24
- constructor(symbol: string) {
25
+ constructor(symbol: string, maxVolume = 0) {
25
26
  this.receivers = [];
26
27
  this.symbol = symbol;
28
+ this.maxVolume = maxVolume;
27
29
  this.shouldUpdate = 0;
28
30
  }
29
31
 
30
- get isWorking() {
31
- return this.receivers.length > 0;
32
+ get receiverCount() {
33
+ return this.receivers.length;
32
34
  }
33
35
 
34
36
  addReceiver(receiver: IBarReceiver) {
@@ -59,16 +61,25 @@ export class BarGenerator implements ITickReceiver {
59
61
  }
60
62
 
61
63
  const date = tick.date;
62
- const time = Math.floor(tick.time / 100) * 100;
63
64
 
64
- if (this.bar && (this.bar.date !== date || this.bar.time !== time)) {
65
- const bar = Object.freeze(this.bar);
65
+ const time =
66
+ this.maxVolume > 0 ? tick.time : Math.floor(tick.time / 100) * 100;
66
67
 
67
- Object.freeze(bar.buyVolumes);
68
- Object.freeze(bar.sellVolumes);
68
+ if (this.bar) {
69
+ const isFinished =
70
+ this.maxVolume > 0
71
+ ? this.bar.volume >= this.maxVolume
72
+ : this.bar.date !== date || this.bar.time !== time;
69
73
 
70
- this.receivers.forEach((receiver) => receiver.onBar(bar));
71
- this.bar = undefined;
74
+ if (isFinished) {
75
+ const bar = Object.freeze(this.bar);
76
+
77
+ Object.freeze(bar.buyVolumes);
78
+ Object.freeze(bar.sellVolumes);
79
+
80
+ this.receivers.forEach((receiver) => receiver.onBar(bar));
81
+ this.bar = undefined;
82
+ }
72
83
  }
73
84
 
74
85
  if (tape.volumeDelta === 0) {
@@ -110,7 +121,7 @@ export class BarGenerator implements ITickReceiver {
110
121
  break;
111
122
  }
112
123
 
113
- if (tape.direction !== "none") {
124
+ if (tick.lastPrice !== this.bar.poc && tape.direction !== "none") {
114
125
  const tickVP = getBarVolume(this.bar, tick.lastPrice);
115
126
  const pocVP = getBarVolume(this.bar, this.bar.poc);
116
127
 
@@ -154,4 +165,5 @@ export class BarGenerator implements ITickReceiver {
154
165
  }
155
166
  }
156
167
 
157
- export const createBarGenerator = (symbol: string) => new BarGenerator(symbol);
168
+ export const createBarGenerator = (symbol: string, maxVolume = 0) =>
169
+ new BarGenerator(symbol, maxVolume);
package/src/broker.ts CHANGED
@@ -57,11 +57,13 @@ export class Broker implements IRuntimeEngine {
57
57
 
58
58
  this.marketLifecycle = {
59
59
  onOpen: () => {
60
- if (this.market.hasRecorder()) {
60
+ const recorder = this.market.getRecorder();
61
+
62
+ if (recorder && recorder.isRecorderReady()) {
61
63
  this.trader.queryInstruments({
62
64
  onInstruments: (instruments) => {
63
65
  if (instruments) {
64
- this.market.startRecorder(instruments);
66
+ recorder.startRecorder(instruments);
65
67
  }
66
68
  },
67
69
  });
@@ -72,7 +74,12 @@ export class Broker implements IRuntimeEngine {
72
74
 
73
75
  onClose: () => {
74
76
  this.strategies.forEach((strategy) => strategy.onDestroy());
75
- this.market.stopRecorder();
77
+
78
+ const recorder = this.market.getRecorder();
79
+
80
+ if (recorder) {
81
+ recorder.stopRecorder();
82
+ }
76
83
  },
77
84
 
78
85
  onError: (error: ErrorType, message: string) => {
@@ -170,7 +177,7 @@ export class Broker implements IRuntimeEngine {
170
177
 
171
178
  generator.removeReceiver(receiver);
172
179
 
173
- if (!generator.isWorking) {
180
+ if (generator.receiverCount === 0) {
174
181
  this.unsubscribe([symbol], generator);
175
182
  this.generators.delete(symbol);
176
183
  }
package/src/index.test.ts CHANGED
@@ -219,16 +219,21 @@ const trader = hft.createTrader(
219
219
  config.UserInfo,
220
220
  );
221
221
 
222
- const market = hft.createMarket(
223
- config.FlowMdPath,
224
- config.FrontMdAddrs,
225
- config.UserInfo,
226
- );
222
+ const market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
223
+ onSubscribed: (symbol) => {
224
+ console.log(`Market subscribed: ${symbol}`);
225
+ },
226
+
227
+ onUnsubscribed: (symbol) => {
228
+ console.log(`Market unsubscribed: ${symbol}`);
229
+ },
230
+ });
227
231
 
232
+ const recorder = market.getRecorder();
228
233
  const enableRecorder = false;
229
234
 
230
- if (enableRecorder) {
231
- market.setRecorder(
235
+ if (enableRecorder && recorder) {
236
+ recorder.setRecorder(
232
237
  {
233
238
  onMarketData: (marketData: ctp.DepthMarketDataField) => {
234
239
  console.log(marketData.InstrumentID, marketData.LastPrice);
@@ -236,7 +241,7 @@ if (enableRecorder) {
236
241
  },
237
242
  (instruments) =>
238
243
  instruments
239
- .filter((instrument) => instrument.productType === "future")
244
+ .filter((instrument) => instrument.productType === "futures")
240
245
  .map((instrument) => instrument.symbol),
241
246
  );
242
247
  }
package/src/index.ts CHANGED
@@ -15,4 +15,5 @@ export * from "./broker.js";
15
15
  export * from "./trader.js";
16
16
  export * from "./market.js";
17
17
  export * from "./utils.js";
18
- export { CTPUserInfo } from "./provider.js";
18
+ export * from "./tape.js";
19
+ export * from "./bar.js";
package/src/interfaces.ts CHANGED
@@ -184,11 +184,8 @@ export interface IMarketRecorderReceiver {
184
184
 
185
185
  export type IMarketRecorderSymbols = (instrument: InstrumentData[]) => string[];
186
186
 
187
- export interface IMarketProvider
188
- extends IProvider,
189
- ITickSubscriber,
190
- ITickUnsubscriber {
191
- hasRecorder: () => boolean;
187
+ export interface IMarketRecorderProvider {
188
+ isRecorderReady: () => boolean;
192
189
 
193
190
  setRecorder: (
194
191
  receiver: IMarketRecorderReceiver,
@@ -199,6 +196,13 @@ export interface IMarketProvider
199
196
  stopRecorder: () => void;
200
197
  }
201
198
 
199
+ export interface IMarketProvider
200
+ extends IProvider,
201
+ ITickSubscriber,
202
+ ITickUnsubscriber {
203
+ getRecorder: () => IMarketRecorderProvider | undefined;
204
+ }
205
+
202
206
  export type IPlaceOrderResultReceiver = {
203
207
  onPlaceOrderSent: (receiptId: string) => void;
204
208
  onPlaceOrderError: (reason: string) => void;
package/src/market.ts CHANGED
@@ -10,13 +10,14 @@
10
10
  */
11
11
 
12
12
  import ctp from "napi-ctp";
13
- import { CTPProvider, CTPUserInfo } from "./provider.js";
13
+ import { CTPProvider } from "./provider.js";
14
14
  import { InstrumentData, OrderBook, TickData } from "./typedef.js";
15
15
  import { calcTapeData } from "./tape.js";
16
16
  import { parseSymbol } from "./utils.js";
17
17
  import {
18
18
  ILifecycleListener,
19
19
  IMarketProvider,
20
+ IMarketRecorderProvider,
20
21
  IMarketRecorderReceiver,
21
22
  IMarketRecorderSymbols,
22
23
  ITickReceiver,
@@ -25,11 +26,20 @@ import {
25
26
  const isValidPrice = (x: number) => x !== Number.MAX_VALUE && x !== 0;
26
27
  const isValidVolume = (x: number) => x !== Number.MAX_VALUE && x !== 0;
27
28
 
28
- export class Market extends CTPProvider implements IMarketProvider {
29
+ export interface IMarketListener {
30
+ onSubscribed: (symbol: string) => void;
31
+ onUnsubscribed: (symbol: string) => void;
32
+ }
33
+
34
+ export class Market
35
+ extends CTPProvider
36
+ implements IMarketProvider, IMarketRecorderProvider
37
+ {
29
38
  private marketApi?: ctp.MarketData;
30
39
  private recorder?: IMarketRecorderReceiver;
31
40
  private recorderSymbols?: IMarketRecorderSymbols;
32
41
  private tradingDay: number;
42
+ private readonly listener?: IMarketListener;
33
43
  private readonly recordings: Set<string>;
34
44
  private readonly symbols: Map<string, string>;
35
45
  private readonly lastTicks: Map<string, TickData>;
@@ -38,9 +48,10 @@ export class Market extends CTPProvider implements IMarketProvider {
38
48
  constructor(
39
49
  flowMdPath: string,
40
50
  frontMdAddrs: string | string[],
41
- userInfo: CTPUserInfo,
51
+ listener?: IMarketListener,
42
52
  ) {
43
- super(flowMdPath, frontMdAddrs, userInfo);
53
+ super(flowMdPath, frontMdAddrs);
54
+ this.listener = listener;
44
55
  this.tradingDay = 0;
45
56
  this.recordings = new Set();
46
57
  this.symbols = new Map();
@@ -48,7 +59,11 @@ export class Market extends CTPProvider implements IMarketProvider {
48
59
  this.subscribers = new Map();
49
60
  }
50
61
 
51
- hasRecorder() {
62
+ getRecorder() {
63
+ return this;
64
+ }
65
+
66
+ isRecorderReady() {
52
67
  return !!this.recorder;
53
68
  }
54
69
 
@@ -68,7 +83,7 @@ export class Market extends CTPProvider implements IMarketProvider {
68
83
  this.marketApi = ctp.createMarketData(this.flowPath, this.frontAddrs);
69
84
 
70
85
  this.marketApi.on(ctp.MarketDataEvent.FrontConnected, () => {
71
- this._withRetry(() => this.marketApi!.reqUserLogin(this.userInfo));
86
+ this._withRetry(() => this.marketApi!.reqUserLogin());
72
87
  });
73
88
 
74
89
  let fired = false;
@@ -105,6 +120,32 @@ export class Market extends CTPProvider implements IMarketProvider {
105
120
  },
106
121
  );
107
122
 
123
+ this.marketApi.on<ctp.SpecificInstrumentField>(
124
+ ctp.MarketDataEvent.RspSubMarketData,
125
+ (instrument) => {
126
+ if (!this.listener) {
127
+ return;
128
+ }
129
+
130
+ const symbol = this.symbols.get(instrument.InstrumentID);
131
+
132
+ this.listener.onSubscribed(symbol ?? instrument.InstrumentID);
133
+ },
134
+ );
135
+
136
+ this.marketApi.on<ctp.SpecificInstrumentField>(
137
+ ctp.MarketDataEvent.RspUnSubMarketData,
138
+ (instrument) => {
139
+ if (!this.listener) {
140
+ return;
141
+ }
142
+
143
+ const symbol = this.symbols.get(instrument.InstrumentID);
144
+
145
+ this.listener.onUnsubscribed(symbol ?? instrument.InstrumentID);
146
+ },
147
+ );
148
+
108
149
  this.marketApi.on<ctp.DepthMarketDataField>(
109
150
  ctp.MarketDataEvent.RtnDepthMarketData,
110
151
  (depthMarketData) => {
@@ -382,5 +423,5 @@ export class Market extends CTPProvider implements IMarketProvider {
382
423
  export const createMarket = (
383
424
  flowMdPath: string,
384
425
  frontMdAddrs: string | string[],
385
- userInfo: CTPUserInfo,
386
- ) => new Market(flowMdPath, frontMdAddrs, userInfo);
426
+ listener?: IMarketListener,
427
+ ) => new Market(flowMdPath, frontMdAddrs, listener);
package/src/provider.ts CHANGED
@@ -12,29 +12,13 @@
12
12
  import ctp from "napi-ctp";
13
13
  import { ErrorType, ILifecycleListener } from "./interfaces.js";
14
14
 
15
- export type CTPUserInfo = {
16
- BrokerID: string;
17
- UserID: string;
18
- Password: string;
19
- InvestorID: string;
20
- UserProductInfo: string;
21
- AuthCode: string;
22
- AppID: string;
23
- };
24
-
25
15
  export class CTPProvider {
26
16
  protected readonly flowPath: string;
27
17
  protected readonly frontAddrs: string | string[];
28
- protected readonly userInfo: CTPUserInfo;
29
18
 
30
- constructor(
31
- flowPath: string,
32
- frontAddrs: string | string[],
33
- userInfo: CTPUserInfo,
34
- ) {
19
+ constructor(flowPath: string, frontAddrs: string | string[]) {
35
20
  this.flowPath = flowPath;
36
21
  this.frontAddrs = frontAddrs;
37
- this.userInfo = userInfo;
38
22
  }
39
23
 
40
24
  private _sleep(ms: number) {
package/src/trader.ts CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  import Denque from "denque";
13
13
  import ctp from "napi-ctp";
14
- import { CTPProvider, CTPUserInfo } from "./provider.js";
14
+ import { CTPProvider } from "./provider.js";
15
15
  import { parseSymbol } from "./utils.js";
16
16
  import {
17
17
  CommissionRate,
@@ -57,6 +57,16 @@ type CommissionRateQuery = {
57
57
  type PositionInfo = Writeable<PositionData>;
58
58
  type OrderStat = Writeable<OrderStatistic>;
59
59
 
60
+ export type CTPUserInfo = {
61
+ BrokerID: string;
62
+ UserID: string;
63
+ Password: string;
64
+ InvestorID: string;
65
+ UserProductInfo: string;
66
+ AuthCode: string;
67
+ AppID: string;
68
+ };
69
+
60
70
  export class Trader extends CTPProvider implements ITraderProvider {
61
71
  private traderApi?: ctp.Trader;
62
72
  private tradingDay: number;
@@ -65,6 +75,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
65
75
  private orderRef: number;
66
76
  private accountsQueryTime: number;
67
77
  private positionDetailsChanged: boolean;
78
+ private readonly userInfo: CTPUserInfo;
68
79
  private readonly receivers: IOrderReceiver[];
69
80
  private readonly accounts: ctp.TradingAccountField[];
70
81
  private readonly positionDetails: ctp.InvestorPositionDetailField[];
@@ -87,13 +98,14 @@ export class Trader extends CTPProvider implements ITraderProvider {
87
98
  frontTdAddrs: string | string[],
88
99
  userInfo: CTPUserInfo,
89
100
  ) {
90
- super(flowTdPath, frontTdAddrs, userInfo);
101
+ super(flowTdPath, frontTdAddrs);
91
102
  this.tradingDay = 0;
92
103
  this.frontId = 0;
93
104
  this.sessionId = 0;
94
105
  this.orderRef = 0;
95
106
  this.accountsQueryTime = 0;
96
107
  this.positionDetailsChanged = true;
108
+ this.userInfo = userInfo;
97
109
  this.receivers = [];
98
110
  this.accounts = [];
99
111
  this.positionDetails = [];
@@ -760,7 +772,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
760
772
  const instruments = Array.from(this.instruments.values());
761
773
 
762
774
  switch (type) {
763
- case "future":
775
+ case "futures":
764
776
  receiver.onInstruments(
765
777
  instruments
766
778
  .filter(
@@ -771,7 +783,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
771
783
  );
772
784
  break;
773
785
 
774
- case "option":
786
+ case "options":
775
787
  receiver.onInstruments(
776
788
  instruments
777
789
  .filter(
@@ -1068,10 +1080,10 @@ export class Trader extends CTPProvider implements ITraderProvider {
1068
1080
  private _calcProductType(productClass: ctp.ProductClassType): ProductType {
1069
1081
  switch (productClass) {
1070
1082
  case ctp.ProductClassType.Futures:
1071
- return "future";
1083
+ return "futures";
1072
1084
 
1073
1085
  case ctp.ProductClassType.Options:
1074
- return "option";
1086
+ return "options";
1075
1087
 
1076
1088
  default:
1077
1089
  throw new Error(`Unsupported product class: ${productClass}`);
package/src/typedef.ts CHANGED
@@ -177,7 +177,7 @@ export type TradingAccount = Readonly<{
177
177
  frozenCommission: number;
178
178
  }>;
179
179
 
180
- export type ProductType = "future" | "option";
180
+ export type ProductType = "futures" | "options";
181
181
 
182
182
  export type InstrumentData = Readonly<{
183
183
  symbol: string;