hft-js 0.1.9 → 0.2.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/lib/index.test.js +8 -21
- package/lib/index.test.js.map +1 -1
- package/lib/market.d.ts +24 -3
- package/lib/market.js +8 -3
- package/lib/market.js.map +1 -1
- package/lib/provider.js +7 -0
- package/lib/provider.js.map +1 -1
- package/lib/trader.d.ts +8 -3
- package/lib/trader.js +49 -19
- package/lib/trader.js.map +1 -1
- package/package.json +1 -1
- package/src/index.test.ts +13 -27
- package/src/market.ts +15 -4
- package/src/provider.ts +7 -0
- package/src/trader.ts +113 -44
package/lib/index.test.js
CHANGED
|
@@ -49,22 +49,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
49
49
|
var node_fs_1 = __importDefault(require("node:fs"));
|
|
50
50
|
var node_process_1 = require("node:process");
|
|
51
51
|
var hft = __importStar(require("."));
|
|
52
|
-
var existsFile = function (filename) {
|
|
53
|
-
try {
|
|
54
|
-
node_fs_1.default.accessSync(filename);
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
catch (_a) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
52
|
var config = JSON.parse(node_fs_1.default.readFileSync("test.conf.json", "utf8"));
|
|
62
|
-
if (!existsFile(config.FlowTdPath)) {
|
|
63
|
-
node_fs_1.default.mkdirSync(config.FlowTdPath, { recursive: true });
|
|
64
|
-
}
|
|
65
|
-
if (!existsFile(config.FlowMdPath)) {
|
|
66
|
-
node_fs_1.default.mkdirSync(config.FlowMdPath, { recursive: true });
|
|
67
|
-
}
|
|
68
53
|
var Strategy = /** @class */ (function () {
|
|
69
54
|
function Strategy(engine) {
|
|
70
55
|
this.symbol = config.Test.Symbol;
|
|
@@ -190,15 +175,17 @@ var Strategy = /** @class */ (function () {
|
|
|
190
175
|
};
|
|
191
176
|
return Strategy;
|
|
192
177
|
}());
|
|
193
|
-
var trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo);
|
|
194
178
|
var market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
179
|
+
listener: {
|
|
180
|
+
onSubscribed: function (symbol) {
|
|
181
|
+
console.log("Market subscribed: ".concat(symbol));
|
|
182
|
+
},
|
|
183
|
+
onUnsubscribed: function (symbol) {
|
|
184
|
+
console.log("Market unsubscribed: ".concat(symbol));
|
|
185
|
+
},
|
|
200
186
|
},
|
|
201
187
|
});
|
|
188
|
+
var trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo, { fastQueryLastTick: function (instrumentId) { return market.getLastTick(instrumentId); } });
|
|
202
189
|
var recorder = market.getRecorder();
|
|
203
190
|
var enableRecorder = false;
|
|
204
191
|
if (enableRecorder && recorder) {
|
package/lib/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAyB;AACzB,6CAAoC;AAEpC,qCAAyB;AAWzB,IAAM,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
package/lib/market.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { CTPProvider } from "./provider.js";
|
|
2
|
-
import { InstrumentData } from "./typedef.js";
|
|
2
|
+
import { InstrumentData, OrderBook } from "./typedef.js";
|
|
3
3
|
import { ILifecycleListener, IMarketProvider, IMarketRecorderProvider, IMarketRecorderReceiver, IMarketRecorderSymbols, ITickReceiver } from "./interfaces.js";
|
|
4
4
|
export interface IMarketListener {
|
|
5
5
|
onSubscribed: (symbol: string) => void;
|
|
6
6
|
onUnsubscribed: (symbol: string) => void;
|
|
7
7
|
}
|
|
8
|
+
export type MarketOptions = {
|
|
9
|
+
listener?: IMarketListener;
|
|
10
|
+
};
|
|
8
11
|
export declare class Market extends CTPProvider implements IMarketProvider, IMarketRecorderProvider {
|
|
9
12
|
private marketApi?;
|
|
10
13
|
private recorder?;
|
|
@@ -15,10 +18,28 @@ export declare class Market extends CTPProvider implements IMarketProvider, IMar
|
|
|
15
18
|
private readonly symbols;
|
|
16
19
|
private readonly lastTicks;
|
|
17
20
|
private readonly subscribers;
|
|
18
|
-
constructor(flowMdPath: string, frontMdAddrs: string | string[],
|
|
21
|
+
constructor(flowMdPath: string, frontMdAddrs: string | string[], options?: MarketOptions);
|
|
19
22
|
getRecorder(): this;
|
|
20
23
|
isRecorderReady(): boolean;
|
|
21
24
|
setRecorder(receiver: IMarketRecorderReceiver, symbols: IMarketRecorderSymbols): void;
|
|
25
|
+
getLastTick(instrumentId: string): Readonly<{
|
|
26
|
+
symbol: string;
|
|
27
|
+
date: number;
|
|
28
|
+
time: number;
|
|
29
|
+
tradingDay: number;
|
|
30
|
+
preOpenInterest: number;
|
|
31
|
+
preClose: number;
|
|
32
|
+
openInterest: number;
|
|
33
|
+
openPrice: number;
|
|
34
|
+
highPrice: number;
|
|
35
|
+
lowPrice: number;
|
|
36
|
+
lastPrice: number;
|
|
37
|
+
volume: number;
|
|
38
|
+
amount: number;
|
|
39
|
+
limits: import("./typedef.js").PriceRange;
|
|
40
|
+
bandings: import("./typedef.js").PriceRange;
|
|
41
|
+
orderBook: OrderBook;
|
|
42
|
+
}> | undefined;
|
|
22
43
|
open(lifecycle: ILifecycleListener): boolean;
|
|
23
44
|
close(lifecycle: ILifecycleListener): void;
|
|
24
45
|
startRecorder(instrument: InstrumentData[]): void;
|
|
@@ -26,4 +47,4 @@ export declare class Market extends CTPProvider implements IMarketProvider, IMar
|
|
|
26
47
|
subscribe(symbols: string[], receiver: ITickReceiver): void;
|
|
27
48
|
unsubscribe(symbols: string[], receiver: ITickReceiver): void;
|
|
28
49
|
}
|
|
29
|
-
export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[],
|
|
50
|
+
export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[], options?: MarketOptions) => Market;
|
package/lib/market.js
CHANGED
|
@@ -44,14 +44,16 @@ var utils_js_1 = require("./utils.js");
|
|
|
44
44
|
var tape_js_1 = require("./tape.js");
|
|
45
45
|
var Market = /** @class */ (function (_super) {
|
|
46
46
|
__extends(Market, _super);
|
|
47
|
-
function Market(flowMdPath, frontMdAddrs,
|
|
47
|
+
function Market(flowMdPath, frontMdAddrs, options) {
|
|
48
48
|
var _this = _super.call(this, flowMdPath, frontMdAddrs) || this;
|
|
49
|
-
_this.listener = listener;
|
|
50
49
|
_this.tradingDay = 0;
|
|
51
50
|
_this.recordings = new Set();
|
|
52
51
|
_this.symbols = new Map();
|
|
53
52
|
_this.lastTicks = new Map();
|
|
54
53
|
_this.subscribers = new Map();
|
|
54
|
+
if (options === null || options === void 0 ? void 0 : options.listener) {
|
|
55
|
+
_this.listener = options.listener;
|
|
56
|
+
}
|
|
55
57
|
return _this;
|
|
56
58
|
}
|
|
57
59
|
Market.prototype.getRecorder = function () {
|
|
@@ -64,6 +66,9 @@ var Market = /** @class */ (function (_super) {
|
|
|
64
66
|
this.recorder = receiver;
|
|
65
67
|
this.recorderSymbols = symbols;
|
|
66
68
|
};
|
|
69
|
+
Market.prototype.getLastTick = function (instrumentId) {
|
|
70
|
+
return this.lastTicks.get(instrumentId);
|
|
71
|
+
};
|
|
67
72
|
Market.prototype.open = function (lifecycle) {
|
|
68
73
|
var _this = this;
|
|
69
74
|
if (this.marketApi) {
|
|
@@ -307,6 +312,6 @@ var Market = /** @class */ (function (_super) {
|
|
|
307
312
|
return Market;
|
|
308
313
|
}(provider_js_1.CTPProvider));
|
|
309
314
|
exports.Market = Market;
|
|
310
|
-
var createMarket = function (flowMdPath, frontMdAddrs,
|
|
315
|
+
var createMarket = function (flowMdPath, frontMdAddrs, options) { return new Market(flowMdPath, frontMdAddrs, options); };
|
|
311
316
|
exports.createMarket = createMarket;
|
|
312
317
|
//# 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.js
CHANGED
|
@@ -50,11 +50,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
50
50
|
};
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
52
|
exports.CTPProvider = void 0;
|
|
53
|
+
var node_fs_1 = __importDefault(require("node:fs"));
|
|
53
54
|
var napi_ctp_1 = __importDefault(require("napi-ctp"));
|
|
54
55
|
var CTPProvider = /** @class */ (function () {
|
|
55
56
|
function CTPProvider(flowPath, frontAddrs) {
|
|
56
57
|
this.flowPath = flowPath;
|
|
57
58
|
this.frontAddrs = frontAddrs;
|
|
59
|
+
try {
|
|
60
|
+
node_fs_1.default.accessSync(this.flowPath);
|
|
61
|
+
}
|
|
62
|
+
catch (_a) {
|
|
63
|
+
node_fs_1.default.mkdirSync(this.flowPath, { recursive: true });
|
|
64
|
+
}
|
|
58
65
|
}
|
|
59
66
|
CTPProvider.prototype._sleep = function (ms) {
|
|
60
67
|
return new Promise(function (resolve) {
|
package/lib/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAyB;AACzB,sDAA2B;AAG3B;IAIE,qBAAY,QAAgB,EAAE,UAA6B;QACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC;YACH,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,WAAM,CAAC;YACP,iBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,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;6BAEG,CAAA,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,CAAA,EAA9B,wBAA8B;wBAChC,qBAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAA;;wBAArB,SAAqB,CAAC;wBACtB,wBAAS;4BAGX,sBAAO,MAAM,EAAC;;;;;;KAEjB;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,AA3DD,IA2DC;AA3DY,kCAAW"}
|
package/lib/trader.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CTPProvider } from "./provider.js";
|
|
2
|
-
import { OffsetType, OrderData, OrderFlag, ProductType, SideType } from "./typedef.js";
|
|
2
|
+
import { OffsetType, OrderData, OrderFlag, ProductType, SideType, TickData } from "./typedef.js";
|
|
3
3
|
import { ICancelOrderResultReceiver, ICommissionRateReceiver, IInstrumentReceiver, IInstrumentsReceiver, ILifecycleListener, IMarginRateReceiver, IOrderReceiver, IOrdersReceiver, IPlaceOrderResultReceiver, IPositionDetailsReceiver, IPositionReceiver, IPositionsReceiver, ITraderProvider, ITradingAccountsReceiver } from "./interfaces.js";
|
|
4
4
|
export type CTPUserInfo = {
|
|
5
5
|
BrokerID: string;
|
|
@@ -10,6 +10,10 @@ export type CTPUserInfo = {
|
|
|
10
10
|
AuthCode: string;
|
|
11
11
|
AppID: string;
|
|
12
12
|
};
|
|
13
|
+
export type FastQueryLastTickFunc = (instrumentId: string) => TickData | undefined;
|
|
14
|
+
export type TraderOptions = {
|
|
15
|
+
fastQueryLastTick?: FastQueryLastTickFunc;
|
|
16
|
+
};
|
|
13
17
|
export declare class Trader extends CTPProvider implements ITraderProvider {
|
|
14
18
|
private traderApi?;
|
|
15
19
|
private tradingDay;
|
|
@@ -18,6 +22,7 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
|
|
|
18
22
|
private orderRef;
|
|
19
23
|
private accountsQueryTime;
|
|
20
24
|
private positionDetailsChanged;
|
|
25
|
+
private readonly fastQueryLastTick?;
|
|
21
26
|
private readonly userInfo;
|
|
22
27
|
private readonly receivers;
|
|
23
28
|
private readonly accounts;
|
|
@@ -37,7 +42,7 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
|
|
|
37
42
|
private readonly commRatesQueue;
|
|
38
43
|
private readonly accountsQueue;
|
|
39
44
|
private readonly positionDetailsQueue;
|
|
40
|
-
constructor(flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo);
|
|
45
|
+
constructor(flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo, options?: TraderOptions);
|
|
41
46
|
open(lifecycle: ILifecycleListener): boolean;
|
|
42
47
|
close(lifecycle: ILifecycleListener): void;
|
|
43
48
|
addOrderReceiver(receiver: IOrderReceiver): void;
|
|
@@ -101,4 +106,4 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
|
|
|
101
106
|
private _processMarginRatesQueue;
|
|
102
107
|
private _processCommissionRatesQueue;
|
|
103
108
|
}
|
|
104
|
-
export declare const createTrader: (flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo) => Trader;
|
|
109
|
+
export declare const createTrader: (flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo, options?: TraderOptions) => Trader;
|
package/lib/trader.js
CHANGED
|
@@ -46,7 +46,7 @@ var provider_js_1 = require("./provider.js");
|
|
|
46
46
|
var utils_js_1 = require("./utils.js");
|
|
47
47
|
var Trader = /** @class */ (function (_super) {
|
|
48
48
|
__extends(Trader, _super);
|
|
49
|
-
function Trader(flowTdPath, frontTdAddrs, userInfo) {
|
|
49
|
+
function Trader(flowTdPath, frontTdAddrs, userInfo, options) {
|
|
50
50
|
var _this = _super.call(this, flowTdPath, frontTdAddrs) || this;
|
|
51
51
|
_this.tradingDay = 0;
|
|
52
52
|
_this.frontId = 0;
|
|
@@ -73,6 +73,9 @@ var Trader = /** @class */ (function (_super) {
|
|
|
73
73
|
_this.commRatesQueue = new denque_1.default();
|
|
74
74
|
_this.accountsQueue = new denque_1.default();
|
|
75
75
|
_this.positionDetailsQueue = new denque_1.default();
|
|
76
|
+
if (options === null || options === void 0 ? void 0 : options.fastQueryLastTick) {
|
|
77
|
+
_this.fastQueryLastTick = options.fastQueryLastTick;
|
|
78
|
+
}
|
|
76
79
|
return _this;
|
|
77
80
|
}
|
|
78
81
|
Trader.prototype.open = function (lifecycle) {
|
|
@@ -430,23 +433,25 @@ var Trader = /** @class */ (function (_super) {
|
|
|
430
433
|
if (!queue) {
|
|
431
434
|
return;
|
|
432
435
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
436
|
+
if (!queue.isEmpty()) {
|
|
437
|
+
var upperPrice_1 = isLimitPrice
|
|
438
|
+
? depthMarketData.UpperLimitPrice
|
|
439
|
+
: depthMarketData.BandingUpperPrice;
|
|
440
|
+
var lowerPrice_1 = isLimitPrice
|
|
441
|
+
? depthMarketData.LowerLimitPrice
|
|
442
|
+
: depthMarketData.BandingLowerPrice;
|
|
443
|
+
var orders = queue.toArray();
|
|
444
|
+
orders.forEach(function (order) {
|
|
445
|
+
switch (order.side) {
|
|
446
|
+
case "long":
|
|
447
|
+
_this._placeLimitOrder(order.symbol, order.offset, order.side, order.volume, upperPrice_1, order.receiver);
|
|
448
|
+
break;
|
|
449
|
+
case "short":
|
|
450
|
+
_this._placeLimitOrder(order.symbol, order.offset, order.side, order.volume, lowerPrice_1, order.receiver);
|
|
451
|
+
break;
|
|
452
|
+
}
|
|
453
|
+
});
|
|
454
|
+
}
|
|
450
455
|
_this.marketOrdersQueue.delete(depthMarketData.InstrumentID);
|
|
451
456
|
});
|
|
452
457
|
return true;
|
|
@@ -685,6 +690,31 @@ var Trader = /** @class */ (function (_super) {
|
|
|
685
690
|
}
|
|
686
691
|
return;
|
|
687
692
|
}
|
|
693
|
+
if (this.fastQueryLastTick) {
|
|
694
|
+
var lastTick = this.fastQueryLastTick(instrumentId);
|
|
695
|
+
if (lastTick && lastTick.tradingDay === this.tradingDay) {
|
|
696
|
+
var isLimitPrice = !(0, utils_js_1.isValidPrice)(lastTick.bandings.upper) ||
|
|
697
|
+
!(0, utils_js_1.isValidPrice)(lastTick.bandings.lower);
|
|
698
|
+
if (isLimitPrice) {
|
|
699
|
+
this.priceLimit.set(instrumentId, __assign({}, lastTick.limits));
|
|
700
|
+
}
|
|
701
|
+
var upperPrice = isLimitPrice
|
|
702
|
+
? lastTick.limits.upper
|
|
703
|
+
: lastTick.bandings.upper;
|
|
704
|
+
var lowerPrice = isLimitPrice
|
|
705
|
+
? lastTick.limits.lower
|
|
706
|
+
: lastTick.bandings.lower;
|
|
707
|
+
switch (side) {
|
|
708
|
+
case "long":
|
|
709
|
+
this._placeLimitOrder(symbol, offset, side, volume, upperPrice, receiver);
|
|
710
|
+
break;
|
|
711
|
+
case "short":
|
|
712
|
+
this._placeLimitOrder(symbol, offset, side, volume, lowerPrice, receiver);
|
|
713
|
+
break;
|
|
714
|
+
}
|
|
715
|
+
return;
|
|
716
|
+
}
|
|
717
|
+
}
|
|
688
718
|
var queue = this.marketOrdersQueue.get(instrumentId);
|
|
689
719
|
if (queue) {
|
|
690
720
|
queue.push({ symbol: symbol, offset: offset, side: side, volume: volume, receiver: receiver });
|
|
@@ -1263,6 +1293,6 @@ var Trader = /** @class */ (function (_super) {
|
|
|
1263
1293
|
return Trader;
|
|
1264
1294
|
}(provider_js_1.CTPProvider));
|
|
1265
1295
|
exports.Trader = Trader;
|
|
1266
|
-
var createTrader = function (flowTdPath, frontTdAddrs, userInfo) { return new Trader(flowTdPath, frontTdAddrs, userInfo); };
|
|
1296
|
+
var createTrader = function (flowTdPath, frontTdAddrs, userInfo, options) { return new Trader(flowTdPath, frontTdAddrs, userInfo, options); };
|
|
1267
1297
|
exports.createTrader = createTrader;
|
|
1268
1298
|
//# sourceMappingURL=trader.js.map
|
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/package.json
CHANGED
package/src/index.test.ts
CHANGED
|
@@ -23,27 +23,10 @@ export type Configure = {
|
|
|
23
23
|
Test: { Symbol: string };
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
const existsFile = (filename: string) => {
|
|
27
|
-
try {
|
|
28
|
-
fs.accessSync(filename);
|
|
29
|
-
return true;
|
|
30
|
-
} catch {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
26
|
const config = JSON.parse(
|
|
36
27
|
fs.readFileSync("test.conf.json", "utf8"),
|
|
37
28
|
) as Configure;
|
|
38
29
|
|
|
39
|
-
if (!existsFile(config.FlowTdPath)) {
|
|
40
|
-
fs.mkdirSync(config.FlowTdPath, { recursive: true });
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (!existsFile(config.FlowMdPath)) {
|
|
44
|
-
fs.mkdirSync(config.FlowMdPath, { recursive: true });
|
|
45
|
-
}
|
|
46
|
-
|
|
47
30
|
class Strategy implements hft.IStrategy, hft.ITickReceiver, hft.IBarReceiver {
|
|
48
31
|
private lastTick?: hft.TickData;
|
|
49
32
|
private lastBar?: hft.BarData;
|
|
@@ -216,22 +199,25 @@ class Strategy implements hft.IStrategy, hft.ITickReceiver, hft.IBarReceiver {
|
|
|
216
199
|
}
|
|
217
200
|
}
|
|
218
201
|
|
|
202
|
+
const market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
|
|
203
|
+
listener: {
|
|
204
|
+
onSubscribed: (symbol) => {
|
|
205
|
+
console.log(`Market subscribed: ${symbol}`);
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
onUnsubscribed: (symbol) => {
|
|
209
|
+
console.log(`Market unsubscribed: ${symbol}`);
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
|
|
219
214
|
const trader = hft.createTrader(
|
|
220
215
|
config.FlowTdPath,
|
|
221
216
|
config.FrontTdAddrs,
|
|
222
217
|
config.UserInfo,
|
|
218
|
+
{ fastQueryLastTick: (instrumentId) => market.getLastTick(instrumentId) },
|
|
223
219
|
);
|
|
224
220
|
|
|
225
|
-
const market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
|
|
226
|
-
onSubscribed: (symbol) => {
|
|
227
|
-
console.log(`Market subscribed: ${symbol}`);
|
|
228
|
-
},
|
|
229
|
-
|
|
230
|
-
onUnsubscribed: (symbol) => {
|
|
231
|
-
console.log(`Market unsubscribed: ${symbol}`);
|
|
232
|
-
},
|
|
233
|
-
});
|
|
234
|
-
|
|
235
221
|
const recorder = market.getRecorder();
|
|
236
222
|
const enableRecorder = false;
|
|
237
223
|
|
package/src/market.ts
CHANGED
|
@@ -28,6 +28,10 @@ export interface IMarketListener {
|
|
|
28
28
|
onUnsubscribed: (symbol: string) => void;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
export type MarketOptions = {
|
|
32
|
+
listener?: IMarketListener;
|
|
33
|
+
};
|
|
34
|
+
|
|
31
35
|
export class Market
|
|
32
36
|
extends CTPProvider
|
|
33
37
|
implements IMarketProvider, IMarketRecorderProvider
|
|
@@ -45,15 +49,18 @@ export class Market
|
|
|
45
49
|
constructor(
|
|
46
50
|
flowMdPath: string,
|
|
47
51
|
frontMdAddrs: string | string[],
|
|
48
|
-
|
|
52
|
+
options?: MarketOptions,
|
|
49
53
|
) {
|
|
50
54
|
super(flowMdPath, frontMdAddrs);
|
|
51
|
-
this.listener = listener;
|
|
52
55
|
this.tradingDay = 0;
|
|
53
56
|
this.recordings = new Set();
|
|
54
57
|
this.symbols = new Map();
|
|
55
58
|
this.lastTicks = new Map();
|
|
56
59
|
this.subscribers = new Map();
|
|
60
|
+
|
|
61
|
+
if (options?.listener) {
|
|
62
|
+
this.listener = options.listener;
|
|
63
|
+
}
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
getRecorder() {
|
|
@@ -72,6 +79,10 @@ export class Market
|
|
|
72
79
|
this.recorderSymbols = symbols;
|
|
73
80
|
}
|
|
74
81
|
|
|
82
|
+
getLastTick(instrumentId: string) {
|
|
83
|
+
return this.lastTicks.get(instrumentId);
|
|
84
|
+
}
|
|
85
|
+
|
|
75
86
|
open(lifecycle: ILifecycleListener) {
|
|
76
87
|
if (this.marketApi) {
|
|
77
88
|
return true;
|
|
@@ -420,5 +431,5 @@ export class Market
|
|
|
420
431
|
export const createMarket = (
|
|
421
432
|
flowMdPath: string,
|
|
422
433
|
frontMdAddrs: string | string[],
|
|
423
|
-
|
|
424
|
-
) => new Market(flowMdPath, frontMdAddrs,
|
|
434
|
+
options?: MarketOptions,
|
|
435
|
+
) => new Market(flowMdPath, frontMdAddrs, options);
|
package/src/provider.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* https://github.com/shixiongfei/hft.js
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import fs from "node:fs";
|
|
12
13
|
import ctp from "napi-ctp";
|
|
13
14
|
import { ErrorType, ILifecycleListener } from "./interfaces.js";
|
|
14
15
|
|
|
@@ -19,6 +20,12 @@ export class CTPProvider {
|
|
|
19
20
|
constructor(flowPath: string, frontAddrs: string | string[]) {
|
|
20
21
|
this.flowPath = flowPath;
|
|
21
22
|
this.frontAddrs = frontAddrs;
|
|
23
|
+
|
|
24
|
+
try {
|
|
25
|
+
fs.accessSync(this.flowPath);
|
|
26
|
+
} catch {
|
|
27
|
+
fs.mkdirSync(this.flowPath, { recursive: true });
|
|
28
|
+
}
|
|
22
29
|
}
|
|
23
30
|
|
|
24
31
|
private _sleep(ms: number) {
|
package/src/trader.ts
CHANGED
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
PriceRange,
|
|
28
28
|
ProductType,
|
|
29
29
|
SideType,
|
|
30
|
+
TickData,
|
|
30
31
|
TradeData,
|
|
31
32
|
TradingAccount,
|
|
32
33
|
Writeable,
|
|
@@ -48,15 +49,26 @@ import {
|
|
|
48
49
|
ITradingAccountsReceiver,
|
|
49
50
|
} from "./interfaces.js";
|
|
50
51
|
|
|
51
|
-
type
|
|
52
|
+
type PositionInfo = Writeable<PositionData>;
|
|
53
|
+
type OrderStat = Writeable<OrderStatistic>;
|
|
54
|
+
|
|
55
|
+
type MarginRateQuery = {
|
|
56
|
+
symbol: string;
|
|
57
|
+
receiver: IMarginRateReceiver;
|
|
58
|
+
};
|
|
52
59
|
|
|
53
60
|
type CommissionRateQuery = {
|
|
54
61
|
symbol: string;
|
|
55
62
|
receiver: ICommissionRateReceiver;
|
|
56
63
|
};
|
|
57
64
|
|
|
58
|
-
type
|
|
59
|
-
|
|
65
|
+
type MarketOrder = {
|
|
66
|
+
symbol: string;
|
|
67
|
+
offset: OffsetType;
|
|
68
|
+
side: SideType;
|
|
69
|
+
volume: number;
|
|
70
|
+
receiver: IPlaceOrderResultReceiver;
|
|
71
|
+
};
|
|
60
72
|
|
|
61
73
|
export type CTPUserInfo = {
|
|
62
74
|
BrokerID: string;
|
|
@@ -68,12 +80,12 @@ export type CTPUserInfo = {
|
|
|
68
80
|
AppID: string;
|
|
69
81
|
};
|
|
70
82
|
|
|
71
|
-
type
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
export type FastQueryLastTickFunc = (
|
|
84
|
+
instrumentId: string,
|
|
85
|
+
) => TickData | undefined;
|
|
86
|
+
|
|
87
|
+
export type TraderOptions = {
|
|
88
|
+
fastQueryLastTick?: FastQueryLastTickFunc;
|
|
77
89
|
};
|
|
78
90
|
|
|
79
91
|
export class Trader extends CTPProvider implements ITraderProvider {
|
|
@@ -84,6 +96,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
|
|
|
84
96
|
private orderRef: number;
|
|
85
97
|
private accountsQueryTime: number;
|
|
86
98
|
private positionDetailsChanged: boolean;
|
|
99
|
+
private readonly fastQueryLastTick?: FastQueryLastTickFunc;
|
|
87
100
|
private readonly userInfo: CTPUserInfo;
|
|
88
101
|
private readonly receivers: IOrderReceiver[];
|
|
89
102
|
private readonly accounts: ctp.TradingAccountField[];
|
|
@@ -108,6 +121,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
|
|
|
108
121
|
flowTdPath: string,
|
|
109
122
|
frontTdAddrs: string | string[],
|
|
110
123
|
userInfo: CTPUserInfo,
|
|
124
|
+
options?: TraderOptions,
|
|
111
125
|
) {
|
|
112
126
|
super(flowTdPath, frontTdAddrs);
|
|
113
127
|
this.tradingDay = 0;
|
|
@@ -135,6 +149,10 @@ export class Trader extends CTPProvider implements ITraderProvider {
|
|
|
135
149
|
this.commRatesQueue = new Denque();
|
|
136
150
|
this.accountsQueue = new Denque();
|
|
137
151
|
this.positionDetailsQueue = new Denque();
|
|
152
|
+
|
|
153
|
+
if (options?.fastQueryLastTick) {
|
|
154
|
+
this.fastQueryLastTick = options.fastQueryLastTick;
|
|
155
|
+
}
|
|
138
156
|
}
|
|
139
157
|
|
|
140
158
|
open(lifecycle: ILifecycleListener) {
|
|
@@ -669,41 +687,43 @@ export class Trader extends CTPProvider implements ITraderProvider {
|
|
|
669
687
|
return;
|
|
670
688
|
}
|
|
671
689
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
690
|
+
if (!queue.isEmpty()) {
|
|
691
|
+
const upperPrice = isLimitPrice
|
|
692
|
+
? depthMarketData.UpperLimitPrice
|
|
693
|
+
: depthMarketData.BandingUpperPrice;
|
|
694
|
+
|
|
695
|
+
const lowerPrice = isLimitPrice
|
|
696
|
+
? depthMarketData.LowerLimitPrice
|
|
697
|
+
: depthMarketData.BandingLowerPrice;
|
|
698
|
+
|
|
699
|
+
const orders = queue.toArray();
|
|
700
|
+
|
|
701
|
+
orders.forEach((order) => {
|
|
702
|
+
switch (order.side) {
|
|
703
|
+
case "long":
|
|
704
|
+
this._placeLimitOrder(
|
|
705
|
+
order.symbol,
|
|
706
|
+
order.offset,
|
|
707
|
+
order.side,
|
|
708
|
+
order.volume,
|
|
709
|
+
upperPrice,
|
|
710
|
+
order.receiver,
|
|
711
|
+
);
|
|
712
|
+
break;
|
|
681
713
|
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
case "short":
|
|
696
|
-
this._placeLimitOrder(
|
|
697
|
-
order.symbol,
|
|
698
|
-
order.offset,
|
|
699
|
-
order.side,
|
|
700
|
-
order.volume,
|
|
701
|
-
lowerPrice,
|
|
702
|
-
order.receiver,
|
|
703
|
-
);
|
|
704
|
-
break;
|
|
705
|
-
}
|
|
706
|
-
});
|
|
714
|
+
case "short":
|
|
715
|
+
this._placeLimitOrder(
|
|
716
|
+
order.symbol,
|
|
717
|
+
order.offset,
|
|
718
|
+
order.side,
|
|
719
|
+
order.volume,
|
|
720
|
+
lowerPrice,
|
|
721
|
+
order.receiver,
|
|
722
|
+
);
|
|
723
|
+
break;
|
|
724
|
+
}
|
|
725
|
+
});
|
|
726
|
+
}
|
|
707
727
|
|
|
708
728
|
this.marketOrdersQueue.delete(depthMarketData.InstrumentID);
|
|
709
729
|
},
|
|
@@ -1070,6 +1090,54 @@ export class Trader extends CTPProvider implements ITraderProvider {
|
|
|
1070
1090
|
return;
|
|
1071
1091
|
}
|
|
1072
1092
|
|
|
1093
|
+
if (this.fastQueryLastTick) {
|
|
1094
|
+
const lastTick = this.fastQueryLastTick(instrumentId);
|
|
1095
|
+
|
|
1096
|
+
if (lastTick && lastTick.tradingDay === this.tradingDay) {
|
|
1097
|
+
const isLimitPrice =
|
|
1098
|
+
!isValidPrice(lastTick.bandings.upper) ||
|
|
1099
|
+
!isValidPrice(lastTick.bandings.lower);
|
|
1100
|
+
|
|
1101
|
+
if (isLimitPrice) {
|
|
1102
|
+
this.priceLimit.set(instrumentId, { ...lastTick.limits });
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
const upperPrice = isLimitPrice
|
|
1106
|
+
? lastTick.limits.upper
|
|
1107
|
+
: lastTick.bandings.upper;
|
|
1108
|
+
|
|
1109
|
+
const lowerPrice = isLimitPrice
|
|
1110
|
+
? lastTick.limits.lower
|
|
1111
|
+
: lastTick.bandings.lower;
|
|
1112
|
+
|
|
1113
|
+
switch (side) {
|
|
1114
|
+
case "long":
|
|
1115
|
+
this._placeLimitOrder(
|
|
1116
|
+
symbol,
|
|
1117
|
+
offset,
|
|
1118
|
+
side,
|
|
1119
|
+
volume,
|
|
1120
|
+
upperPrice,
|
|
1121
|
+
receiver,
|
|
1122
|
+
);
|
|
1123
|
+
break;
|
|
1124
|
+
|
|
1125
|
+
case "short":
|
|
1126
|
+
this._placeLimitOrder(
|
|
1127
|
+
symbol,
|
|
1128
|
+
offset,
|
|
1129
|
+
side,
|
|
1130
|
+
volume,
|
|
1131
|
+
lowerPrice,
|
|
1132
|
+
receiver,
|
|
1133
|
+
);
|
|
1134
|
+
break;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
return;
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1073
1141
|
let queue = this.marketOrdersQueue.get(instrumentId);
|
|
1074
1142
|
|
|
1075
1143
|
if (queue) {
|
|
@@ -1795,4 +1863,5 @@ export const createTrader = (
|
|
|
1795
1863
|
flowTdPath: string,
|
|
1796
1864
|
frontTdAddrs: string | string[],
|
|
1797
1865
|
userInfo: CTPUserInfo,
|
|
1798
|
-
|
|
1866
|
+
options?: TraderOptions,
|
|
1867
|
+
) => new Trader(flowTdPath, frontTdAddrs, userInfo, options);
|