@wrcb/cb-common 1.0.883 → 1.0.885
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/build/events/subjects.d.ts +2 -1
- package/build/events/subjects.js +1 -0
- package/build/events/trader/autopilotActedEvent.d.ts +13 -0
- package/build/events/trader/autopilotActedEvent.js +2 -0
- package/build/events/trader/autopilotActedPublisher.d.ts +6 -0
- package/build/events/trader/autopilotActedPublisher.js +12 -0
- package/build/events/trader/index.d.ts +2 -0
- package/build/events/trader/index.js +2 -0
- package/build/types/trader.d.ts +45 -0
- package/build/types/trader.js +19 -1
- package/package.json +1 -1
|
@@ -81,5 +81,6 @@ export declare enum Subjects {
|
|
|
81
81
|
ThoOrderWalletChargeRequested = "tho:order:wallet-charge-requested",
|
|
82
82
|
ThoOrderSettled = "tho:order:settled",
|
|
83
83
|
TrdSessionHalted = "trd:session:halted",
|
|
84
|
-
TrdCollectorStalled = "trd:collector:stalled"
|
|
84
|
+
TrdCollectorStalled = "trd:collector:stalled",
|
|
85
|
+
TrdAutopilotActed = "trd:autopilot:acted"
|
|
85
86
|
}
|
package/build/events/subjects.js
CHANGED
|
@@ -98,4 +98,5 @@ var Subjects;
|
|
|
98
98
|
// bot-trader (simulação de estratégias na MEXC spot)
|
|
99
99
|
Subjects["TrdSessionHalted"] = "trd:session:halted";
|
|
100
100
|
Subjects["TrdCollectorStalled"] = "trd:collector:stalled";
|
|
101
|
+
Subjects["TrdAutopilotActed"] = "trd:autopilot:acted";
|
|
101
102
|
})(Subjects || (exports.Subjects = Subjects = {}));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Subjects } from '../subjects';
|
|
2
|
+
import { TraderAutopilotAction, TraderStrategy } from '../../types/trader';
|
|
3
|
+
export interface TrdAutopilotActedEvent {
|
|
4
|
+
subject: Subjects.TrdAutopilotActed;
|
|
5
|
+
data: {
|
|
6
|
+
action: TraderAutopilotAction;
|
|
7
|
+
symbol: string;
|
|
8
|
+
strategy: TraderStrategy | null;
|
|
9
|
+
sessionId: string | null;
|
|
10
|
+
reason: string;
|
|
11
|
+
at: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Publisher } from '../basePublisher';
|
|
2
|
+
import { TrdAutopilotActedEvent } from './autopilotActedEvent';
|
|
3
|
+
import { Subjects } from '../subjects';
|
|
4
|
+
export declare class TrdAutopilotActedPublisher extends Publisher<TrdAutopilotActedEvent> {
|
|
5
|
+
subject: Subjects.TrdAutopilotActed;
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrdAutopilotActedPublisher = void 0;
|
|
4
|
+
const basePublisher_1 = require("../basePublisher");
|
|
5
|
+
const subjects_1 = require("../subjects");
|
|
6
|
+
class TrdAutopilotActedPublisher extends basePublisher_1.Publisher {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.subject = subjects_1.Subjects.TrdAutopilotActed;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.TrdAutopilotActedPublisher = TrdAutopilotActedPublisher;
|
|
@@ -18,3 +18,5 @@ __exportStar(require("./sessionHaltedEvent"), exports);
|
|
|
18
18
|
__exportStar(require("./sessionHaltedPublisher"), exports);
|
|
19
19
|
__exportStar(require("./collectorStalledEvent"), exports);
|
|
20
20
|
__exportStar(require("./collectorStalledPublisher"), exports);
|
|
21
|
+
__exportStar(require("./autopilotActedEvent"), exports);
|
|
22
|
+
__exportStar(require("./autopilotActedPublisher"), exports);
|
package/build/types/trader.d.ts
CHANGED
|
@@ -71,6 +71,7 @@ export interface TraderPnlBreakdown {
|
|
|
71
71
|
totalPnlQuote: number;
|
|
72
72
|
}
|
|
73
73
|
export interface TraderSessionMetrics extends TraderPnlBreakdown {
|
|
74
|
+
capturedEdgeQuote: number;
|
|
74
75
|
placedOrders: number;
|
|
75
76
|
filledOrders: number;
|
|
76
77
|
cancelledOrders: number;
|
|
@@ -141,3 +142,47 @@ export interface TraderComparisonRowDTO {
|
|
|
141
142
|
metrics: TraderSessionMetrics;
|
|
142
143
|
hoursRunning: number;
|
|
143
144
|
}
|
|
145
|
+
export declare enum TraderRiskProfile {
|
|
146
|
+
Conservative = "Conservative",
|
|
147
|
+
Moderate = "Moderate",
|
|
148
|
+
Aggressive = "Aggressive"
|
|
149
|
+
}
|
|
150
|
+
export declare enum TraderAutopilotAction {
|
|
151
|
+
SessionOpened = "SessionOpened",
|
|
152
|
+
SessionClosed = "SessionClosed",
|
|
153
|
+
Skipped = "Skipped"
|
|
154
|
+
}
|
|
155
|
+
export interface TraderAutopilotConfig {
|
|
156
|
+
enabled: boolean;
|
|
157
|
+
riskProfile: TraderRiskProfile;
|
|
158
|
+
capitalQuote: number;
|
|
159
|
+
maxPairs: number;
|
|
160
|
+
evaluationHours: number;
|
|
161
|
+
lastRunAt: string | null;
|
|
162
|
+
nextRunAt: string | null;
|
|
163
|
+
}
|
|
164
|
+
export interface TraderAutopilotDecisionDTO {
|
|
165
|
+
id: string;
|
|
166
|
+
at: string;
|
|
167
|
+
action: TraderAutopilotAction;
|
|
168
|
+
symbol: string;
|
|
169
|
+
strategy: TraderStrategy | null;
|
|
170
|
+
sessionId: string | null;
|
|
171
|
+
reason: string;
|
|
172
|
+
metrics: {
|
|
173
|
+
medianSpreadBps?: number;
|
|
174
|
+
tradesPerHour?: number;
|
|
175
|
+
score?: number;
|
|
176
|
+
spreadPnlQuote?: number;
|
|
177
|
+
feesQuote?: number;
|
|
178
|
+
hoursRunning?: number;
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
export interface TraderCandidateDTO {
|
|
182
|
+
symbol: string;
|
|
183
|
+
medianSpreadBps: number;
|
|
184
|
+
tradesPerHour: number;
|
|
185
|
+
score: number;
|
|
186
|
+
eligible: boolean;
|
|
187
|
+
rejection: string | null;
|
|
188
|
+
}
|
package/build/types/trader.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// preço é em basis points (1 bps = 0,01%), nunca em percentual solto — é o
|
|
6
6
|
// que evita confundir "0,5" de 0,5% com 0,5 bps na hora de calibrar.
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.TraderMarketRegime = exports.TraderPairStatus = exports.TraderHaltReason = exports.TraderOrderStatus = exports.TraderSide = exports.TraderSessionStatus = exports.TraderExecutionMode = exports.TraderStrategy = void 0;
|
|
8
|
+
exports.TraderAutopilotAction = exports.TraderRiskProfile = exports.TraderMarketRegime = exports.TraderPairStatus = exports.TraderHaltReason = exports.TraderOrderStatus = exports.TraderSide = exports.TraderSessionStatus = exports.TraderExecutionMode = exports.TraderStrategy = void 0;
|
|
9
9
|
var TraderStrategy;
|
|
10
10
|
(function (TraderStrategy) {
|
|
11
11
|
TraderStrategy["MarketMaking"] = "MarketMaking";
|
|
@@ -58,3 +58,21 @@ var TraderMarketRegime;
|
|
|
58
58
|
TraderMarketRegime["Trending"] = "Trending";
|
|
59
59
|
TraderMarketRegime["Volatile"] = "Volatile";
|
|
60
60
|
})(TraderMarketRegime || (exports.TraderMarketRegime = TraderMarketRegime = {}));
|
|
61
|
+
// ---------------------------------------------------------------- piloto
|
|
62
|
+
//
|
|
63
|
+
// O piloto automático existe porque preencher spread, skew e teto de
|
|
64
|
+
// inventário à mão exige já saber a resposta. Ele traduz uma escolha de
|
|
65
|
+
// apetite a risco nos números, escolhe os pares com o dado que o coletor
|
|
66
|
+
// gravou e mata o que não está capturando spread.
|
|
67
|
+
var TraderRiskProfile;
|
|
68
|
+
(function (TraderRiskProfile) {
|
|
69
|
+
TraderRiskProfile["Conservative"] = "Conservative";
|
|
70
|
+
TraderRiskProfile["Moderate"] = "Moderate";
|
|
71
|
+
TraderRiskProfile["Aggressive"] = "Aggressive";
|
|
72
|
+
})(TraderRiskProfile || (exports.TraderRiskProfile = TraderRiskProfile = {}));
|
|
73
|
+
var TraderAutopilotAction;
|
|
74
|
+
(function (TraderAutopilotAction) {
|
|
75
|
+
TraderAutopilotAction["SessionOpened"] = "SessionOpened";
|
|
76
|
+
TraderAutopilotAction["SessionClosed"] = "SessionClosed";
|
|
77
|
+
TraderAutopilotAction["Skipped"] = "Skipped";
|
|
78
|
+
})(TraderAutopilotAction || (exports.TraderAutopilotAction = TraderAutopilotAction = {}));
|