backtest-kit 1.5.9 → 1.5.10
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/index.cjs +96 -1
- package/build/index.mjs +96 -1
- package/package.json +1 -1
- package/types.d.ts +20 -0
package/build/index.cjs
CHANGED
|
@@ -11315,6 +11315,35 @@ class PartialGlobalService {
|
|
|
11315
11315
|
* Handles actual ClientPartial instance creation and management.
|
|
11316
11316
|
*/
|
|
11317
11317
|
this.partialConnectionService = inject(TYPES.partialConnectionService);
|
|
11318
|
+
/**
|
|
11319
|
+
* Strategy validation service for validating strategy existence.
|
|
11320
|
+
*/
|
|
11321
|
+
this.strategyValidationService = inject(TYPES.strategyValidationService);
|
|
11322
|
+
/**
|
|
11323
|
+
* Strategy schema service for retrieving strategy configuration.
|
|
11324
|
+
*/
|
|
11325
|
+
this.strategySchemaService = inject(TYPES.strategySchemaService);
|
|
11326
|
+
/**
|
|
11327
|
+
* Risk validation service for validating risk existence.
|
|
11328
|
+
*/
|
|
11329
|
+
this.riskValidationService = inject(TYPES.riskValidationService);
|
|
11330
|
+
/**
|
|
11331
|
+
* Validates strategy and associated risk configuration.
|
|
11332
|
+
* Memoized to avoid redundant validations for the same strategy.
|
|
11333
|
+
*
|
|
11334
|
+
* @param strategyName - Name of the strategy to validate
|
|
11335
|
+
* @param methodName - Name of the calling method for error tracking
|
|
11336
|
+
*/
|
|
11337
|
+
this.validate = functoolsKit.memoize(([strategyName]) => `${strategyName}`, (strategyName, methodName) => {
|
|
11338
|
+
this.loggerService.log("partialGlobalService validate", {
|
|
11339
|
+
strategyName,
|
|
11340
|
+
methodName,
|
|
11341
|
+
});
|
|
11342
|
+
this.strategyValidationService.validate(strategyName, methodName);
|
|
11343
|
+
const strategySchema = this.strategySchemaService.get(strategyName);
|
|
11344
|
+
const riskName = strategySchema.riskName;
|
|
11345
|
+
riskName && this.riskValidationService.validate(riskName, methodName);
|
|
11346
|
+
});
|
|
11318
11347
|
/**
|
|
11319
11348
|
* Processes profit state and emits events for newly reached profit levels.
|
|
11320
11349
|
*
|
|
@@ -11337,6 +11366,7 @@ class PartialGlobalService {
|
|
|
11337
11366
|
backtest,
|
|
11338
11367
|
when,
|
|
11339
11368
|
});
|
|
11369
|
+
this.validate(data.strategyName, "partialGlobalService profit");
|
|
11340
11370
|
return await this.partialConnectionService.profit(symbol, data, currentPrice, revenuePercent, backtest, when);
|
|
11341
11371
|
};
|
|
11342
11372
|
/**
|
|
@@ -11361,6 +11391,7 @@ class PartialGlobalService {
|
|
|
11361
11391
|
backtest,
|
|
11362
11392
|
when,
|
|
11363
11393
|
});
|
|
11394
|
+
this.validate(data.strategyName, "partialGlobalService loss");
|
|
11364
11395
|
return await this.partialConnectionService.loss(symbol, data, currentPrice, lossPercent, backtest, when);
|
|
11365
11396
|
};
|
|
11366
11397
|
/**
|
|
@@ -11374,12 +11405,13 @@ class PartialGlobalService {
|
|
|
11374
11405
|
* @returns Promise that resolves when clear is complete
|
|
11375
11406
|
*/
|
|
11376
11407
|
this.clear = async (symbol, data, priceClose, backtest) => {
|
|
11377
|
-
this.loggerService.log("partialGlobalService
|
|
11408
|
+
this.loggerService.log("partialGlobalService clear", {
|
|
11378
11409
|
symbol,
|
|
11379
11410
|
data,
|
|
11380
11411
|
priceClose,
|
|
11381
11412
|
backtest,
|
|
11382
11413
|
});
|
|
11414
|
+
this.validate(data.strategyName, "partialGlobalService clear");
|
|
11383
11415
|
return await this.partialConnectionService.clear(symbol, data, priceClose, backtest);
|
|
11384
11416
|
};
|
|
11385
11417
|
}
|
|
@@ -14427,6 +14459,11 @@ class ScheduleUtils {
|
|
|
14427
14459
|
symbol,
|
|
14428
14460
|
strategyName,
|
|
14429
14461
|
});
|
|
14462
|
+
backtest$1.strategyValidationService.validate(strategyName, SCHEDULE_METHOD_NAME_GET_DATA);
|
|
14463
|
+
{
|
|
14464
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14465
|
+
riskName && backtest$1.riskValidationService.validate(riskName, SCHEDULE_METHOD_NAME_GET_DATA);
|
|
14466
|
+
}
|
|
14430
14467
|
return await backtest$1.scheduleMarkdownService.getData(symbol, strategyName);
|
|
14431
14468
|
};
|
|
14432
14469
|
/**
|
|
@@ -14447,6 +14484,11 @@ class ScheduleUtils {
|
|
|
14447
14484
|
symbol,
|
|
14448
14485
|
strategyName,
|
|
14449
14486
|
});
|
|
14487
|
+
backtest$1.strategyValidationService.validate(strategyName, SCHEDULE_METHOD_NAME_GET_REPORT);
|
|
14488
|
+
{
|
|
14489
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14490
|
+
riskName && backtest$1.riskValidationService.validate(riskName, SCHEDULE_METHOD_NAME_GET_REPORT);
|
|
14491
|
+
}
|
|
14450
14492
|
return await backtest$1.scheduleMarkdownService.getReport(symbol, strategyName);
|
|
14451
14493
|
};
|
|
14452
14494
|
/**
|
|
@@ -14471,6 +14513,11 @@ class ScheduleUtils {
|
|
|
14471
14513
|
strategyName,
|
|
14472
14514
|
path,
|
|
14473
14515
|
});
|
|
14516
|
+
backtest$1.strategyValidationService.validate(strategyName, SCHEDULE_METHOD_NAME_DUMP);
|
|
14517
|
+
{
|
|
14518
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14519
|
+
riskName && backtest$1.riskValidationService.validate(riskName, SCHEDULE_METHOD_NAME_DUMP);
|
|
14520
|
+
}
|
|
14474
14521
|
await backtest$1.scheduleMarkdownService.dump(symbol, strategyName, path);
|
|
14475
14522
|
};
|
|
14476
14523
|
}
|
|
@@ -14550,6 +14597,11 @@ class Performance {
|
|
|
14550
14597
|
* ```
|
|
14551
14598
|
*/
|
|
14552
14599
|
static async getData(symbol, strategyName) {
|
|
14600
|
+
backtest$1.strategyValidationService.validate(strategyName, "Performance.getData");
|
|
14601
|
+
{
|
|
14602
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14603
|
+
riskName && backtest$1.riskValidationService.validate(riskName, "Performance.getData");
|
|
14604
|
+
}
|
|
14553
14605
|
return backtest$1.performanceMarkdownService.getData(symbol, strategyName);
|
|
14554
14606
|
}
|
|
14555
14607
|
/**
|
|
@@ -14575,6 +14627,11 @@ class Performance {
|
|
|
14575
14627
|
* ```
|
|
14576
14628
|
*/
|
|
14577
14629
|
static async getReport(symbol, strategyName) {
|
|
14630
|
+
backtest$1.strategyValidationService.validate(strategyName, "Performance.getReport");
|
|
14631
|
+
{
|
|
14632
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14633
|
+
riskName && backtest$1.riskValidationService.validate(riskName, "Performance.getReport");
|
|
14634
|
+
}
|
|
14578
14635
|
return backtest$1.performanceMarkdownService.getReport(symbol, strategyName);
|
|
14579
14636
|
}
|
|
14580
14637
|
/**
|
|
@@ -14597,6 +14654,11 @@ class Performance {
|
|
|
14597
14654
|
* ```
|
|
14598
14655
|
*/
|
|
14599
14656
|
static async dump(symbol, strategyName, path = "./dump/performance") {
|
|
14657
|
+
backtest$1.strategyValidationService.validate(strategyName, "Performance.dump");
|
|
14658
|
+
{
|
|
14659
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14660
|
+
riskName && backtest$1.riskValidationService.validate(riskName, "Performance.dump");
|
|
14661
|
+
}
|
|
14600
14662
|
return backtest$1.performanceMarkdownService.dump(symbol, strategyName, path);
|
|
14601
14663
|
}
|
|
14602
14664
|
}
|
|
@@ -15188,6 +15250,11 @@ class HeatUtils {
|
|
|
15188
15250
|
*/
|
|
15189
15251
|
this.getData = async (strategyName) => {
|
|
15190
15252
|
backtest$1.loggerService.info(HEAT_METHOD_NAME_GET_DATA, { strategyName });
|
|
15253
|
+
backtest$1.strategyValidationService.validate(strategyName, HEAT_METHOD_NAME_GET_DATA);
|
|
15254
|
+
{
|
|
15255
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15256
|
+
riskName && backtest$1.riskValidationService.validate(riskName, HEAT_METHOD_NAME_GET_DATA);
|
|
15257
|
+
}
|
|
15191
15258
|
return await backtest$1.heatMarkdownService.getData(strategyName);
|
|
15192
15259
|
};
|
|
15193
15260
|
/**
|
|
@@ -15217,6 +15284,11 @@ class HeatUtils {
|
|
|
15217
15284
|
*/
|
|
15218
15285
|
this.getReport = async (strategyName) => {
|
|
15219
15286
|
backtest$1.loggerService.info(HEAT_METHOD_NAME_GET_REPORT, { strategyName });
|
|
15287
|
+
backtest$1.strategyValidationService.validate(strategyName, HEAT_METHOD_NAME_GET_REPORT);
|
|
15288
|
+
{
|
|
15289
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15290
|
+
riskName && backtest$1.riskValidationService.validate(riskName, HEAT_METHOD_NAME_GET_REPORT);
|
|
15291
|
+
}
|
|
15220
15292
|
return await backtest$1.heatMarkdownService.getReport(strategyName);
|
|
15221
15293
|
};
|
|
15222
15294
|
/**
|
|
@@ -15239,6 +15311,11 @@ class HeatUtils {
|
|
|
15239
15311
|
*/
|
|
15240
15312
|
this.dump = async (strategyName, path) => {
|
|
15241
15313
|
backtest$1.loggerService.info(HEAT_METHOD_NAME_DUMP, { strategyName, path });
|
|
15314
|
+
backtest$1.strategyValidationService.validate(strategyName, HEAT_METHOD_NAME_DUMP);
|
|
15315
|
+
{
|
|
15316
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15317
|
+
riskName && backtest$1.riskValidationService.validate(riskName, HEAT_METHOD_NAME_DUMP);
|
|
15318
|
+
}
|
|
15242
15319
|
await backtest$1.heatMarkdownService.dump(strategyName, path);
|
|
15243
15320
|
};
|
|
15244
15321
|
}
|
|
@@ -15436,6 +15513,7 @@ class OptimizerUtils {
|
|
|
15436
15513
|
symbol,
|
|
15437
15514
|
context,
|
|
15438
15515
|
});
|
|
15516
|
+
backtest$1.optimizerValidationService.validate(context.optimizerName, OPTIMIZER_METHOD_NAME_GET_DATA);
|
|
15439
15517
|
return await backtest$1.optimizerGlobalService.getData(symbol, context.optimizerName);
|
|
15440
15518
|
};
|
|
15441
15519
|
/**
|
|
@@ -15452,6 +15530,7 @@ class OptimizerUtils {
|
|
|
15452
15530
|
symbol,
|
|
15453
15531
|
context,
|
|
15454
15532
|
});
|
|
15533
|
+
backtest$1.optimizerValidationService.validate(context.optimizerName, OPTIMIZER_METHOD_NAME_GET_CODE);
|
|
15455
15534
|
return await backtest$1.optimizerGlobalService.getCode(symbol, context.optimizerName);
|
|
15456
15535
|
};
|
|
15457
15536
|
/**
|
|
@@ -15471,6 +15550,7 @@ class OptimizerUtils {
|
|
|
15471
15550
|
context,
|
|
15472
15551
|
path,
|
|
15473
15552
|
});
|
|
15553
|
+
backtest$1.optimizerValidationService.validate(context.optimizerName, OPTIMIZER_METHOD_NAME_DUMP);
|
|
15474
15554
|
await backtest$1.optimizerGlobalService.dump(symbol, context.optimizerName, path);
|
|
15475
15555
|
};
|
|
15476
15556
|
}
|
|
@@ -15554,6 +15634,11 @@ class PartialUtils {
|
|
|
15554
15634
|
*/
|
|
15555
15635
|
this.getData = async (symbol, strategyName) => {
|
|
15556
15636
|
backtest$1.loggerService.info(PARTIAL_METHOD_NAME_GET_DATA, { symbol, strategyName });
|
|
15637
|
+
backtest$1.strategyValidationService.validate(strategyName, PARTIAL_METHOD_NAME_GET_DATA);
|
|
15638
|
+
{
|
|
15639
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15640
|
+
riskName && backtest$1.riskValidationService.validate(riskName, PARTIAL_METHOD_NAME_GET_DATA);
|
|
15641
|
+
}
|
|
15557
15642
|
return await backtest$1.partialMarkdownService.getData(symbol, strategyName);
|
|
15558
15643
|
};
|
|
15559
15644
|
/**
|
|
@@ -15596,6 +15681,11 @@ class PartialUtils {
|
|
|
15596
15681
|
*/
|
|
15597
15682
|
this.getReport = async (symbol, strategyName) => {
|
|
15598
15683
|
backtest$1.loggerService.info(PARTIAL_METHOD_NAME_GET_REPORT, { symbol, strategyName });
|
|
15684
|
+
backtest$1.strategyValidationService.validate(strategyName, PARTIAL_METHOD_NAME_GET_REPORT);
|
|
15685
|
+
{
|
|
15686
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15687
|
+
riskName && backtest$1.riskValidationService.validate(riskName, PARTIAL_METHOD_NAME_GET_REPORT);
|
|
15688
|
+
}
|
|
15599
15689
|
return await backtest$1.partialMarkdownService.getReport(symbol, strategyName);
|
|
15600
15690
|
};
|
|
15601
15691
|
/**
|
|
@@ -15631,6 +15721,11 @@ class PartialUtils {
|
|
|
15631
15721
|
*/
|
|
15632
15722
|
this.dump = async (symbol, strategyName, path) => {
|
|
15633
15723
|
backtest$1.loggerService.info(PARTIAL_METHOD_NAME_DUMP, { symbol, strategyName, path });
|
|
15724
|
+
backtest$1.strategyValidationService.validate(strategyName, PARTIAL_METHOD_NAME_DUMP);
|
|
15725
|
+
{
|
|
15726
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15727
|
+
riskName && backtest$1.riskValidationService.validate(riskName, PARTIAL_METHOD_NAME_DUMP);
|
|
15728
|
+
}
|
|
15634
15729
|
await backtest$1.partialMarkdownService.dump(symbol, strategyName, path);
|
|
15635
15730
|
};
|
|
15636
15731
|
}
|
package/build/index.mjs
CHANGED
|
@@ -11313,6 +11313,35 @@ class PartialGlobalService {
|
|
|
11313
11313
|
* Handles actual ClientPartial instance creation and management.
|
|
11314
11314
|
*/
|
|
11315
11315
|
this.partialConnectionService = inject(TYPES.partialConnectionService);
|
|
11316
|
+
/**
|
|
11317
|
+
* Strategy validation service for validating strategy existence.
|
|
11318
|
+
*/
|
|
11319
|
+
this.strategyValidationService = inject(TYPES.strategyValidationService);
|
|
11320
|
+
/**
|
|
11321
|
+
* Strategy schema service for retrieving strategy configuration.
|
|
11322
|
+
*/
|
|
11323
|
+
this.strategySchemaService = inject(TYPES.strategySchemaService);
|
|
11324
|
+
/**
|
|
11325
|
+
* Risk validation service for validating risk existence.
|
|
11326
|
+
*/
|
|
11327
|
+
this.riskValidationService = inject(TYPES.riskValidationService);
|
|
11328
|
+
/**
|
|
11329
|
+
* Validates strategy and associated risk configuration.
|
|
11330
|
+
* Memoized to avoid redundant validations for the same strategy.
|
|
11331
|
+
*
|
|
11332
|
+
* @param strategyName - Name of the strategy to validate
|
|
11333
|
+
* @param methodName - Name of the calling method for error tracking
|
|
11334
|
+
*/
|
|
11335
|
+
this.validate = memoize(([strategyName]) => `${strategyName}`, (strategyName, methodName) => {
|
|
11336
|
+
this.loggerService.log("partialGlobalService validate", {
|
|
11337
|
+
strategyName,
|
|
11338
|
+
methodName,
|
|
11339
|
+
});
|
|
11340
|
+
this.strategyValidationService.validate(strategyName, methodName);
|
|
11341
|
+
const strategySchema = this.strategySchemaService.get(strategyName);
|
|
11342
|
+
const riskName = strategySchema.riskName;
|
|
11343
|
+
riskName && this.riskValidationService.validate(riskName, methodName);
|
|
11344
|
+
});
|
|
11316
11345
|
/**
|
|
11317
11346
|
* Processes profit state and emits events for newly reached profit levels.
|
|
11318
11347
|
*
|
|
@@ -11335,6 +11364,7 @@ class PartialGlobalService {
|
|
|
11335
11364
|
backtest,
|
|
11336
11365
|
when,
|
|
11337
11366
|
});
|
|
11367
|
+
this.validate(data.strategyName, "partialGlobalService profit");
|
|
11338
11368
|
return await this.partialConnectionService.profit(symbol, data, currentPrice, revenuePercent, backtest, when);
|
|
11339
11369
|
};
|
|
11340
11370
|
/**
|
|
@@ -11359,6 +11389,7 @@ class PartialGlobalService {
|
|
|
11359
11389
|
backtest,
|
|
11360
11390
|
when,
|
|
11361
11391
|
});
|
|
11392
|
+
this.validate(data.strategyName, "partialGlobalService loss");
|
|
11362
11393
|
return await this.partialConnectionService.loss(symbol, data, currentPrice, lossPercent, backtest, when);
|
|
11363
11394
|
};
|
|
11364
11395
|
/**
|
|
@@ -11372,12 +11403,13 @@ class PartialGlobalService {
|
|
|
11372
11403
|
* @returns Promise that resolves when clear is complete
|
|
11373
11404
|
*/
|
|
11374
11405
|
this.clear = async (symbol, data, priceClose, backtest) => {
|
|
11375
|
-
this.loggerService.log("partialGlobalService
|
|
11406
|
+
this.loggerService.log("partialGlobalService clear", {
|
|
11376
11407
|
symbol,
|
|
11377
11408
|
data,
|
|
11378
11409
|
priceClose,
|
|
11379
11410
|
backtest,
|
|
11380
11411
|
});
|
|
11412
|
+
this.validate(data.strategyName, "partialGlobalService clear");
|
|
11381
11413
|
return await this.partialConnectionService.clear(symbol, data, priceClose, backtest);
|
|
11382
11414
|
};
|
|
11383
11415
|
}
|
|
@@ -14425,6 +14457,11 @@ class ScheduleUtils {
|
|
|
14425
14457
|
symbol,
|
|
14426
14458
|
strategyName,
|
|
14427
14459
|
});
|
|
14460
|
+
backtest$1.strategyValidationService.validate(strategyName, SCHEDULE_METHOD_NAME_GET_DATA);
|
|
14461
|
+
{
|
|
14462
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14463
|
+
riskName && backtest$1.riskValidationService.validate(riskName, SCHEDULE_METHOD_NAME_GET_DATA);
|
|
14464
|
+
}
|
|
14428
14465
|
return await backtest$1.scheduleMarkdownService.getData(symbol, strategyName);
|
|
14429
14466
|
};
|
|
14430
14467
|
/**
|
|
@@ -14445,6 +14482,11 @@ class ScheduleUtils {
|
|
|
14445
14482
|
symbol,
|
|
14446
14483
|
strategyName,
|
|
14447
14484
|
});
|
|
14485
|
+
backtest$1.strategyValidationService.validate(strategyName, SCHEDULE_METHOD_NAME_GET_REPORT);
|
|
14486
|
+
{
|
|
14487
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14488
|
+
riskName && backtest$1.riskValidationService.validate(riskName, SCHEDULE_METHOD_NAME_GET_REPORT);
|
|
14489
|
+
}
|
|
14448
14490
|
return await backtest$1.scheduleMarkdownService.getReport(symbol, strategyName);
|
|
14449
14491
|
};
|
|
14450
14492
|
/**
|
|
@@ -14469,6 +14511,11 @@ class ScheduleUtils {
|
|
|
14469
14511
|
strategyName,
|
|
14470
14512
|
path,
|
|
14471
14513
|
});
|
|
14514
|
+
backtest$1.strategyValidationService.validate(strategyName, SCHEDULE_METHOD_NAME_DUMP);
|
|
14515
|
+
{
|
|
14516
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14517
|
+
riskName && backtest$1.riskValidationService.validate(riskName, SCHEDULE_METHOD_NAME_DUMP);
|
|
14518
|
+
}
|
|
14472
14519
|
await backtest$1.scheduleMarkdownService.dump(symbol, strategyName, path);
|
|
14473
14520
|
};
|
|
14474
14521
|
}
|
|
@@ -14548,6 +14595,11 @@ class Performance {
|
|
|
14548
14595
|
* ```
|
|
14549
14596
|
*/
|
|
14550
14597
|
static async getData(symbol, strategyName) {
|
|
14598
|
+
backtest$1.strategyValidationService.validate(strategyName, "Performance.getData");
|
|
14599
|
+
{
|
|
14600
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14601
|
+
riskName && backtest$1.riskValidationService.validate(riskName, "Performance.getData");
|
|
14602
|
+
}
|
|
14551
14603
|
return backtest$1.performanceMarkdownService.getData(symbol, strategyName);
|
|
14552
14604
|
}
|
|
14553
14605
|
/**
|
|
@@ -14573,6 +14625,11 @@ class Performance {
|
|
|
14573
14625
|
* ```
|
|
14574
14626
|
*/
|
|
14575
14627
|
static async getReport(symbol, strategyName) {
|
|
14628
|
+
backtest$1.strategyValidationService.validate(strategyName, "Performance.getReport");
|
|
14629
|
+
{
|
|
14630
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14631
|
+
riskName && backtest$1.riskValidationService.validate(riskName, "Performance.getReport");
|
|
14632
|
+
}
|
|
14576
14633
|
return backtest$1.performanceMarkdownService.getReport(symbol, strategyName);
|
|
14577
14634
|
}
|
|
14578
14635
|
/**
|
|
@@ -14595,6 +14652,11 @@ class Performance {
|
|
|
14595
14652
|
* ```
|
|
14596
14653
|
*/
|
|
14597
14654
|
static async dump(symbol, strategyName, path = "./dump/performance") {
|
|
14655
|
+
backtest$1.strategyValidationService.validate(strategyName, "Performance.dump");
|
|
14656
|
+
{
|
|
14657
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
14658
|
+
riskName && backtest$1.riskValidationService.validate(riskName, "Performance.dump");
|
|
14659
|
+
}
|
|
14598
14660
|
return backtest$1.performanceMarkdownService.dump(symbol, strategyName, path);
|
|
14599
14661
|
}
|
|
14600
14662
|
}
|
|
@@ -15186,6 +15248,11 @@ class HeatUtils {
|
|
|
15186
15248
|
*/
|
|
15187
15249
|
this.getData = async (strategyName) => {
|
|
15188
15250
|
backtest$1.loggerService.info(HEAT_METHOD_NAME_GET_DATA, { strategyName });
|
|
15251
|
+
backtest$1.strategyValidationService.validate(strategyName, HEAT_METHOD_NAME_GET_DATA);
|
|
15252
|
+
{
|
|
15253
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15254
|
+
riskName && backtest$1.riskValidationService.validate(riskName, HEAT_METHOD_NAME_GET_DATA);
|
|
15255
|
+
}
|
|
15189
15256
|
return await backtest$1.heatMarkdownService.getData(strategyName);
|
|
15190
15257
|
};
|
|
15191
15258
|
/**
|
|
@@ -15215,6 +15282,11 @@ class HeatUtils {
|
|
|
15215
15282
|
*/
|
|
15216
15283
|
this.getReport = async (strategyName) => {
|
|
15217
15284
|
backtest$1.loggerService.info(HEAT_METHOD_NAME_GET_REPORT, { strategyName });
|
|
15285
|
+
backtest$1.strategyValidationService.validate(strategyName, HEAT_METHOD_NAME_GET_REPORT);
|
|
15286
|
+
{
|
|
15287
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15288
|
+
riskName && backtest$1.riskValidationService.validate(riskName, HEAT_METHOD_NAME_GET_REPORT);
|
|
15289
|
+
}
|
|
15218
15290
|
return await backtest$1.heatMarkdownService.getReport(strategyName);
|
|
15219
15291
|
};
|
|
15220
15292
|
/**
|
|
@@ -15237,6 +15309,11 @@ class HeatUtils {
|
|
|
15237
15309
|
*/
|
|
15238
15310
|
this.dump = async (strategyName, path) => {
|
|
15239
15311
|
backtest$1.loggerService.info(HEAT_METHOD_NAME_DUMP, { strategyName, path });
|
|
15312
|
+
backtest$1.strategyValidationService.validate(strategyName, HEAT_METHOD_NAME_DUMP);
|
|
15313
|
+
{
|
|
15314
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15315
|
+
riskName && backtest$1.riskValidationService.validate(riskName, HEAT_METHOD_NAME_DUMP);
|
|
15316
|
+
}
|
|
15240
15317
|
await backtest$1.heatMarkdownService.dump(strategyName, path);
|
|
15241
15318
|
};
|
|
15242
15319
|
}
|
|
@@ -15434,6 +15511,7 @@ class OptimizerUtils {
|
|
|
15434
15511
|
symbol,
|
|
15435
15512
|
context,
|
|
15436
15513
|
});
|
|
15514
|
+
backtest$1.optimizerValidationService.validate(context.optimizerName, OPTIMIZER_METHOD_NAME_GET_DATA);
|
|
15437
15515
|
return await backtest$1.optimizerGlobalService.getData(symbol, context.optimizerName);
|
|
15438
15516
|
};
|
|
15439
15517
|
/**
|
|
@@ -15450,6 +15528,7 @@ class OptimizerUtils {
|
|
|
15450
15528
|
symbol,
|
|
15451
15529
|
context,
|
|
15452
15530
|
});
|
|
15531
|
+
backtest$1.optimizerValidationService.validate(context.optimizerName, OPTIMIZER_METHOD_NAME_GET_CODE);
|
|
15453
15532
|
return await backtest$1.optimizerGlobalService.getCode(symbol, context.optimizerName);
|
|
15454
15533
|
};
|
|
15455
15534
|
/**
|
|
@@ -15469,6 +15548,7 @@ class OptimizerUtils {
|
|
|
15469
15548
|
context,
|
|
15470
15549
|
path,
|
|
15471
15550
|
});
|
|
15551
|
+
backtest$1.optimizerValidationService.validate(context.optimizerName, OPTIMIZER_METHOD_NAME_DUMP);
|
|
15472
15552
|
await backtest$1.optimizerGlobalService.dump(symbol, context.optimizerName, path);
|
|
15473
15553
|
};
|
|
15474
15554
|
}
|
|
@@ -15552,6 +15632,11 @@ class PartialUtils {
|
|
|
15552
15632
|
*/
|
|
15553
15633
|
this.getData = async (symbol, strategyName) => {
|
|
15554
15634
|
backtest$1.loggerService.info(PARTIAL_METHOD_NAME_GET_DATA, { symbol, strategyName });
|
|
15635
|
+
backtest$1.strategyValidationService.validate(strategyName, PARTIAL_METHOD_NAME_GET_DATA);
|
|
15636
|
+
{
|
|
15637
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15638
|
+
riskName && backtest$1.riskValidationService.validate(riskName, PARTIAL_METHOD_NAME_GET_DATA);
|
|
15639
|
+
}
|
|
15555
15640
|
return await backtest$1.partialMarkdownService.getData(symbol, strategyName);
|
|
15556
15641
|
};
|
|
15557
15642
|
/**
|
|
@@ -15594,6 +15679,11 @@ class PartialUtils {
|
|
|
15594
15679
|
*/
|
|
15595
15680
|
this.getReport = async (symbol, strategyName) => {
|
|
15596
15681
|
backtest$1.loggerService.info(PARTIAL_METHOD_NAME_GET_REPORT, { symbol, strategyName });
|
|
15682
|
+
backtest$1.strategyValidationService.validate(strategyName, PARTIAL_METHOD_NAME_GET_REPORT);
|
|
15683
|
+
{
|
|
15684
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15685
|
+
riskName && backtest$1.riskValidationService.validate(riskName, PARTIAL_METHOD_NAME_GET_REPORT);
|
|
15686
|
+
}
|
|
15597
15687
|
return await backtest$1.partialMarkdownService.getReport(symbol, strategyName);
|
|
15598
15688
|
};
|
|
15599
15689
|
/**
|
|
@@ -15629,6 +15719,11 @@ class PartialUtils {
|
|
|
15629
15719
|
*/
|
|
15630
15720
|
this.dump = async (symbol, strategyName, path) => {
|
|
15631
15721
|
backtest$1.loggerService.info(PARTIAL_METHOD_NAME_DUMP, { symbol, strategyName, path });
|
|
15722
|
+
backtest$1.strategyValidationService.validate(strategyName, PARTIAL_METHOD_NAME_DUMP);
|
|
15723
|
+
{
|
|
15724
|
+
const { riskName } = backtest$1.strategySchemaService.get(strategyName);
|
|
15725
|
+
riskName && backtest$1.riskValidationService.validate(riskName, PARTIAL_METHOD_NAME_DUMP);
|
|
15726
|
+
}
|
|
15632
15727
|
await backtest$1.partialMarkdownService.dump(symbol, strategyName, path);
|
|
15633
15728
|
};
|
|
15634
15729
|
}
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -8907,6 +8907,26 @@ declare class PartialGlobalService {
|
|
|
8907
8907
|
* Handles actual ClientPartial instance creation and management.
|
|
8908
8908
|
*/
|
|
8909
8909
|
private readonly partialConnectionService;
|
|
8910
|
+
/**
|
|
8911
|
+
* Strategy validation service for validating strategy existence.
|
|
8912
|
+
*/
|
|
8913
|
+
private readonly strategyValidationService;
|
|
8914
|
+
/**
|
|
8915
|
+
* Strategy schema service for retrieving strategy configuration.
|
|
8916
|
+
*/
|
|
8917
|
+
private readonly strategySchemaService;
|
|
8918
|
+
/**
|
|
8919
|
+
* Risk validation service for validating risk existence.
|
|
8920
|
+
*/
|
|
8921
|
+
private readonly riskValidationService;
|
|
8922
|
+
/**
|
|
8923
|
+
* Validates strategy and associated risk configuration.
|
|
8924
|
+
* Memoized to avoid redundant validations for the same strategy.
|
|
8925
|
+
*
|
|
8926
|
+
* @param strategyName - Name of the strategy to validate
|
|
8927
|
+
* @param methodName - Name of the calling method for error tracking
|
|
8928
|
+
*/
|
|
8929
|
+
private validate;
|
|
8910
8930
|
/**
|
|
8911
8931
|
* Processes profit state and emits events for newly reached profit levels.
|
|
8912
8932
|
*
|