hft-js 0.2.0 → 0.3.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 CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * index.test.ts
4
3
  *
@@ -9,146 +8,115 @@
9
8
  *
10
9
  * https://github.com/shixiongfei/hft.js
11
10
  */
12
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- var desc = Object.getOwnPropertyDescriptor(m, k);
15
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
- desc = { enumerable: true, get: function() { return m[k]; } };
17
- }
18
- Object.defineProperty(o, k2, desc);
19
- }) : (function(o, m, k, k2) {
20
- if (k2 === undefined) k2 = k;
21
- o[k2] = m[k];
22
- }));
23
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
- Object.defineProperty(o, "default", { enumerable: true, value: v });
25
- }) : function(o, v) {
26
- o["default"] = v;
27
- });
28
- var __importStar = (this && this.__importStar) || (function () {
29
- var ownKeys = function(o) {
30
- ownKeys = Object.getOwnPropertyNames || function (o) {
31
- var ar = [];
32
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
- return ar;
34
- };
35
- return ownKeys(o);
36
- };
37
- return function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
- __setModuleDefault(result, mod);
42
- return result;
43
- };
44
- })();
45
- var __importDefault = (this && this.__importDefault) || function (mod) {
46
- return (mod && mod.__esModule) ? mod : { "default": mod };
47
- };
48
- Object.defineProperty(exports, "__esModule", { value: true });
49
- var node_fs_1 = __importDefault(require("node:fs"));
50
- var node_process_1 = require("node:process");
51
- var hft = __importStar(require("."));
52
- var config = JSON.parse(node_fs_1.default.readFileSync("test.conf.json", "utf8"));
53
- var Strategy = /** @class */ (function () {
54
- function Strategy(engine) {
55
- this.symbol = config.Test.Symbol;
11
+ import process from "node:process";
12
+ import fs from "node:fs";
13
+ import * as hft from "./index.js";
14
+ const config = JSON.parse(fs.readFileSync("test.conf.json", "utf8"));
15
+ class Strategy {
16
+ lastTick;
17
+ lastBar;
18
+ engine;
19
+ symbol = config.Test.Symbol;
20
+ constructor(engine) {
56
21
  this.engine = engine;
57
22
  }
58
- Strategy.prototype.onInit = function () {
59
- var _this = this;
23
+ onInit() {
60
24
  this.engine.subscribe([this.symbol], this);
61
25
  this.engine.subscribeBar([this.symbol], this);
62
26
  console.log("Strategy init");
63
27
  console.log("Trading Day", this.engine.getTradingDay());
64
28
  this.engine.queryInstrument(this.symbol, {
65
- onInstrument: function (instrument) {
29
+ onInstrument: (instrument) => {
66
30
  if (!instrument) {
67
- console.error("Symbol", _this.symbol, "error");
68
- (0, node_process_1.exit)(1);
31
+ console.error("Symbol", this.symbol, "error");
32
+ process.exit(1);
69
33
  }
70
34
  console.log("Instrument", instrument);
71
35
  },
72
36
  });
73
37
  this.engine.queryCommissionRate(this.symbol, {
74
- onCommissionRate: function (rate) {
38
+ onCommissionRate: (rate) => {
75
39
  console.log("Commission Rate", rate);
76
40
  },
77
41
  });
78
42
  this.engine.queryMarginRate(this.symbol, {
79
- onMarginRate: function (rate) {
43
+ onMarginRate: (rate) => {
80
44
  console.log("Margin Rate", rate);
81
45
  },
82
46
  });
83
47
  this.engine.queryTradingAccounts({
84
- onTradingAccounts: function (accounts) {
48
+ onTradingAccounts: (accounts) => {
85
49
  console.log("Trading Accounts", accounts);
86
50
  },
87
51
  });
88
52
  this.engine.queryOrders({
89
- onOrders: function (orders) {
53
+ onOrders: (orders) => {
90
54
  console.log("Orders", orders);
91
55
  },
92
56
  });
93
57
  this.engine.queryPositionDetails({
94
- onPositionDetails: function (positionDetails) {
58
+ onPositionDetails: (positionDetails) => {
95
59
  console.log("Position Details", positionDetails);
96
60
  },
97
61
  });
98
62
  this.engine.queryPositions({
99
- onPositions: function (positions) {
63
+ onPositions: (positions) => {
100
64
  console.log("Positions", positions);
101
65
  },
102
66
  });
103
- setTimeout(function () {
104
- if (!_this.lastTick) {
67
+ setTimeout(() => {
68
+ if (!this.lastTick) {
105
69
  console.error("Market data is not found");
106
70
  return;
107
71
  }
108
- if (_this.lastBar) {
109
- console.log(_this.lastBar);
72
+ if (this.lastBar) {
73
+ console.log(this.lastBar);
74
+ }
75
+ const price = this.lastTick.orderBook.asks.price[0];
76
+ if (!price) {
77
+ console.error("Invalid price");
78
+ return;
110
79
  }
111
- hft.buyOpen(_this.engine, _this, _this.symbol, 1, _this.lastTick.orderBook.asks.price[0], {
112
- onPlaceOrderSent: function (receiptId) {
80
+ hft.buyOpen(this.engine, this, this.symbol, 1, price, {
81
+ onPlaceOrderSent: (receiptId) => {
113
82
  console.log("Open Place Order Receipt Id", receiptId);
114
83
  },
115
- onPlaceOrderError: function (reason) {
84
+ onPlaceOrderError: (reason) => {
116
85
  console.error("Open Place Order Error", reason);
117
86
  },
118
87
  });
119
88
  }, 30 * 1000);
120
- };
121
- Strategy.prototype.onDestroy = function () {
89
+ }
90
+ onDestroy() {
122
91
  this.engine.unsubscribeBar([this.symbol], this);
123
92
  this.engine.unsubscribe([this.symbol], this);
124
93
  console.log("Strategy destroy");
125
- };
126
- Strategy.prototype.onRisk = function (type, reason) {
94
+ }
95
+ onRisk(type, reason) {
127
96
  console.log("Trigger Risk Control", type, reason);
128
- };
129
- Strategy.prototype.onEntrust = function (order) {
97
+ }
98
+ onEntrust(order) {
130
99
  console.log("Entrust order", order);
131
- };
132
- Strategy.prototype.onTrade = function (order, trade) {
133
- var _this = this;
100
+ }
101
+ onTrade(order, trade) {
134
102
  console.log("Order", order, "Traded", trade);
135
103
  if (order.status === "filled") {
136
- setTimeout(function () {
137
- _this.engine.queryPosition(_this.symbol, {
138
- onPosition: function (position) {
139
- if (!position || !_this.lastTick) {
104
+ setTimeout(() => {
105
+ this.engine.queryPosition(this.symbol, {
106
+ onPosition: (position) => {
107
+ if (!position || !this.lastTick) {
140
108
  return;
141
109
  }
142
- var todayLong = position.today.long.position - position.today.long.frozen;
110
+ const todayLong = position.today.long.position - position.today.long.frozen;
143
111
  if (todayLong > 0) {
144
- if (_this.lastBar) {
145
- console.log(_this.lastBar);
112
+ if (this.lastBar) {
113
+ console.log(this.lastBar);
146
114
  }
147
- hft.sellClose(_this.engine, _this, _this.symbol, todayLong, 0, true, {
148
- onPlaceOrderSent: function (receiptId) {
115
+ hft.sellClose(this.engine, this, this.symbol, todayLong, 0, true, {
116
+ onPlaceOrderSent: (receiptId) => {
149
117
  console.log("Close Place Order Receipt Id", receiptId);
150
118
  },
151
- onPlaceOrderError: function (reason) {
119
+ onPlaceOrderError: (reason) => {
152
120
  console.error("Close Place Order Error", reason);
153
121
  },
154
122
  });
@@ -157,56 +125,53 @@ var Strategy = /** @class */ (function () {
157
125
  });
158
126
  }, 30 * 1000);
159
127
  }
160
- };
161
- Strategy.prototype.onCancel = function (order) {
128
+ }
129
+ onCancel(order) {
162
130
  console.log("Cancel Order", order);
163
- };
164
- Strategy.prototype.onReject = function (order) {
131
+ }
132
+ onReject(order) {
165
133
  console.log("Reject Order", order);
166
- };
167
- Strategy.prototype.onTick = function (tick, tape) {
134
+ }
135
+ onTick(tick, tape) {
168
136
  //console.log(tick);
169
137
  //console.log(tape);
170
138
  this.lastTick = tick;
171
- };
172
- Strategy.prototype.onBar = function (bar) {
139
+ }
140
+ onBar(bar) {
173
141
  console.log(bar);
174
142
  this.lastBar = bar;
175
- };
176
- return Strategy;
177
- }());
178
- var market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
143
+ }
144
+ }
145
+ const market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
179
146
  listener: {
180
- onSubscribed: function (symbol) {
181
- console.log("Market subscribed: ".concat(symbol));
147
+ onSubscribed: (symbol) => {
148
+ console.log(`Market subscribed: ${symbol}`);
182
149
  },
183
- onUnsubscribed: function (symbol) {
184
- console.log("Market unsubscribed: ".concat(symbol));
150
+ onUnsubscribed: (symbol) => {
151
+ console.log(`Market unsubscribed: ${symbol}`);
185
152
  },
186
153
  },
187
154
  });
188
- var trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo, { fastQueryLastTick: function (instrumentId) { return market.getLastTick(instrumentId); } });
189
- var recorder = market.getRecorder();
190
- var enableRecorder = false;
155
+ const trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo, { fastQueryLastTick: (instrumentId) => market.getLastTick(instrumentId) });
156
+ const recorder = market.getRecorder();
157
+ const enableRecorder = false;
191
158
  if (enableRecorder && recorder) {
192
159
  recorder.setRecorder({
193
- onMarketData: function (marketData) {
160
+ onMarketData: (marketData) => {
194
161
  console.log(marketData.InstrumentID, marketData.LastPrice);
195
162
  },
196
- }, function (instruments) {
197
- return instruments
198
- .filter(function (instrument) { return instrument.productType === "futures"; })
199
- .map(function (instrument) { return instrument.symbol; });
200
- });
163
+ }, (instruments) => instruments
164
+ .filter((instrument) => instrument.productType === "futures")
165
+ .map((instrument) => instrument.symbol));
201
166
  }
202
- var broker = hft.createBroker(trader, market, {
203
- onError: function (error, message) {
167
+ const broker = hft.createBroker(trader, market, {
168
+ onError(error, message) {
204
169
  console.error(error, message);
205
170
  },
206
171
  });
207
172
  broker.addStrategy(new Strategy(broker));
208
173
  if (!broker.start()) {
209
174
  console.error("Broker start failed");
210
- (0, node_process_1.exit)(1);
175
+ process.exit(1);
211
176
  }
212
177
  //# sourceMappingURL=index.test.js.map
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { BarData, CommissionRate, InstrumentData, MarginRate, OffsetType, OrderData, OrderFlag, OrderStatistic, PositionData, PositionDetail, ProductType, SideType, TapeData, TickData, TradeData, TradingAccount } from "./typedef.js";
1
+ import type { BarData, CommissionRate, InstrumentData, MarginRate, OffsetType, OrderData, OrderFlag, OrderStatistic, PositionData, PositionDetail, ProductType, SideType, TapeData, TickData, TradeData, TradingAccount } from "./typedef.js";
2
2
  export type RiskType = "place-order-risk" | "cancel-order-risk";
3
3
  export interface IPlaceOrderRiskManager {
4
4
  onPlaceOrder: (symbol: string, offset: OffsetType, side: SideType, volume: number, price: number, flag: OrderFlag) => boolean | string;
package/lib/interfaces.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*
3
2
  * interfaces.ts
4
3
  *
@@ -9,5 +8,5 @@
9
8
  *
10
9
  * https://github.com/shixiongfei/hft.js
11
10
  */
12
- Object.defineProperty(exports, "__esModule", { value: true });
11
+ export {};
13
12
  //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
package/lib/market.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CTPProvider } from "./provider.js";
2
- import { InstrumentData, OrderBook } from "./typedef.js";
3
- import { ILifecycleListener, IMarketProvider, IMarketRecorderProvider, IMarketRecorderReceiver, IMarketRecorderSymbols, ITickReceiver } from "./interfaces.js";
2
+ import type { InstrumentData, OrderBook } from "./typedef.js";
3
+ import type { 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;