@wrcb/cb-common 1.0.883 → 1.0.884
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 +44 -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
|
@@ -141,3 +141,47 @@ export interface TraderComparisonRowDTO {
|
|
|
141
141
|
metrics: TraderSessionMetrics;
|
|
142
142
|
hoursRunning: number;
|
|
143
143
|
}
|
|
144
|
+
export declare enum TraderRiskProfile {
|
|
145
|
+
Conservative = "Conservative",
|
|
146
|
+
Moderate = "Moderate",
|
|
147
|
+
Aggressive = "Aggressive"
|
|
148
|
+
}
|
|
149
|
+
export declare enum TraderAutopilotAction {
|
|
150
|
+
SessionOpened = "SessionOpened",
|
|
151
|
+
SessionClosed = "SessionClosed",
|
|
152
|
+
Skipped = "Skipped"
|
|
153
|
+
}
|
|
154
|
+
export interface TraderAutopilotConfig {
|
|
155
|
+
enabled: boolean;
|
|
156
|
+
riskProfile: TraderRiskProfile;
|
|
157
|
+
capitalQuote: number;
|
|
158
|
+
maxPairs: number;
|
|
159
|
+
evaluationHours: number;
|
|
160
|
+
lastRunAt: string | null;
|
|
161
|
+
nextRunAt: string | null;
|
|
162
|
+
}
|
|
163
|
+
export interface TraderAutopilotDecisionDTO {
|
|
164
|
+
id: string;
|
|
165
|
+
at: string;
|
|
166
|
+
action: TraderAutopilotAction;
|
|
167
|
+
symbol: string;
|
|
168
|
+
strategy: TraderStrategy | null;
|
|
169
|
+
sessionId: string | null;
|
|
170
|
+
reason: string;
|
|
171
|
+
metrics: {
|
|
172
|
+
medianSpreadBps?: number;
|
|
173
|
+
tradesPerHour?: number;
|
|
174
|
+
score?: number;
|
|
175
|
+
spreadPnlQuote?: number;
|
|
176
|
+
feesQuote?: number;
|
|
177
|
+
hoursRunning?: number;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
export interface TraderCandidateDTO {
|
|
181
|
+
symbol: string;
|
|
182
|
+
medianSpreadBps: number;
|
|
183
|
+
tradesPerHour: number;
|
|
184
|
+
score: number;
|
|
185
|
+
eligible: boolean;
|
|
186
|
+
rejection: string | null;
|
|
187
|
+
}
|
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 = {}));
|