sports-impact-core 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/README.md CHANGED
@@ -12,14 +12,16 @@ MVP support:
12
12
  - transparent team rating heuristic
13
13
  - markdown report rendering
14
14
  - historical absence fixture generation
15
- - fixture-backed injury backtest metrics
16
- - multi-suite calibration reports
15
+ - fixture-backed injury and trade backtest metrics
16
+ - multi-suite injury and trade calibration reports
17
17
 
18
18
  ```ts
19
19
  import {
20
20
  buildTradeSimulationInput,
21
21
  calibrateInjuryBacktests,
22
+ calibrateTradeBacktests,
22
23
  generateInjuryBacktestSuiteFromFixtures,
24
+ generateTradeBacktestSuiteFromFixtures,
23
25
  importNbaBaselineDataset,
24
26
  simulateImpact,
25
27
  } from "sports-impact-core";
@@ -32,7 +34,9 @@ const tradeInput = buildTradeSimulationInput(dataset, {
32
34
  });
33
35
  const tradeResult = simulateImpact(tradeInput);
34
36
  const suite = generateInjuryBacktestSuiteFromFixtures({ dataset, absences, teamOutcomes, playerOutcomes });
35
- const calibration = calibrateInjuryBacktests({ inputs: [{ suiteId: "history", value: suite }] });
37
+ const calibration = calibrateInjuryBacktests({ inputs: [{ suiteId: "injury-history", value: suite }] });
38
+ const tradeSuite = generateTradeBacktestSuiteFromFixtures({ dataset, trades, teamOutcomes, playerOutcomes });
39
+ const tradeCalibration = calibrateTradeBacktests({ inputs: [{ suiteId: "trade-history", value: tradeSuite }] });
36
40
  const result = simulateImpact(input);
37
41
  ```
38
42
 
@@ -1,4 +1,4 @@
1
- import { type InjuryBacktestSuite } from "./schemas.js";
1
+ import { type InjuryBacktestSuite, type TradeBacktestSuite } from "./schemas.js";
2
2
  export interface GenerateInjuryBacktestSuiteOptions {
3
3
  dataset: unknown;
4
4
  absences: unknown[];
@@ -15,6 +15,24 @@ export interface GenerateInjuryBacktestSuiteFromFilesOptions {
15
15
  generatedAt?: string;
16
16
  metadata?: Record<string, unknown>;
17
17
  }
18
+ export interface GenerateTradeBacktestSuiteOptions {
19
+ dataset: unknown;
20
+ trades: unknown[];
21
+ teamOutcomes: unknown[];
22
+ playerOutcomes: unknown[];
23
+ generatedAt?: string;
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ export interface GenerateTradeBacktestSuiteFromFilesOptions {
27
+ datasetPath: string;
28
+ tradesPath: string;
29
+ teamOutcomesPath: string;
30
+ playerOutcomesPath: string;
31
+ generatedAt?: string;
32
+ metadata?: Record<string, unknown>;
33
+ }
18
34
  export declare function generateInjuryBacktestSuiteFromFixtures(options: GenerateInjuryBacktestSuiteOptions): InjuryBacktestSuite;
19
35
  export declare function generateInjuryBacktestSuiteFromFiles(options: GenerateInjuryBacktestSuiteFromFilesOptions): Promise<InjuryBacktestSuite>;
36
+ export declare function generateTradeBacktestSuiteFromFixtures(options: GenerateTradeBacktestSuiteOptions): TradeBacktestSuite;
37
+ export declare function generateTradeBacktestSuiteFromFiles(options: GenerateTradeBacktestSuiteFromFilesOptions): Promise<TradeBacktestSuite>;
20
38
  //# sourceMappingURL=backtest-fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backtest-fixtures.d.ts","sourceRoot":"","sources":["../src/backtest-fixtures.ts"],"names":[],"mappings":"AAOA,OAAO,EAOL,KAAK,mBAAmB,EAIzB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2CAA2C;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAgMD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,kCAAkC,GAC1C,mBAAmB,CA0FrB;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,mBAAmB,CAAC,CAsB9B"}
1
+ {"version":3,"file":"backtest-fixtures.d.ts","sourceRoot":"","sources":["../src/backtest-fixtures.ts"],"names":[],"mappings":"AAQA,OAAO,EAOL,KAAK,mBAAmB,EAMxB,KAAK,kBAAkB,EAMxB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2CAA2C;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0CAA0C;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAyOD,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,kCAAkC,GAC1C,mBAAmB,CA0FrB;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,iCAAiC,GACzC,kBAAkB,CAqEpB;AAED,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,kBAAkB,CAAC,CAsB7B"}
@@ -1,6 +1,6 @@
1
1
  import { readFile } from "node:fs/promises";
2
- import { buildInjurySimulationInput, parseNbaBaselineDataset, readFixtureRows, } from "./dataset.js";
3
- import { InjuryBacktestAbsenceFixtureSchema, InjuryBacktestPlayerOutcomeFixtureSchema, InjuryBacktestSuiteSchema, InjuryBacktestTeamOutcomeFixtureSchema, } from "./schemas.js";
2
+ import { buildInjurySimulationInput, buildTradeSimulationInput, parseNbaBaselineDataset, readFixtureRows, } from "./dataset.js";
3
+ import { InjuryBacktestAbsenceFixtureSchema, InjuryBacktestPlayerOutcomeFixtureSchema, InjuryBacktestSuiteSchema, InjuryBacktestTeamOutcomeFixtureSchema, TradeBacktestPlayerOutcomeFixtureSchema, TradeBacktestSuiteSchema, TradeBacktestTeamOutcomeFixtureSchema, TradeBacktestTransactionFixtureSchema, } from "./schemas.js";
4
4
  const ABSENCE_ALIASES = {
5
5
  caseId: ["caseId", "case_id", "id"],
6
6
  description: ["description", "caseDescription", "case_description"],
@@ -9,6 +9,13 @@ const ABSENCE_ALIASES = {
9
9
  gamesMissed: ["gamesMissed", "games_missed", "games"],
10
10
  reason: ["reason", "absenceReason", "absence_reason", "injury"],
11
11
  };
12
+ const TRADE_ALIASES = {
13
+ caseId: ["caseId", "case_id", "id"],
14
+ description: ["description", "caseDescription", "case_description"],
15
+ teamId: ["teamId", "team_id", "team"],
16
+ outgoingPlayerIds: ["outgoingPlayerIds", "outgoing_player_ids", "outgoing", "sentPlayerIds", "sent_player_ids"],
17
+ incomingPlayerIds: ["incomingPlayerIds", "incoming_player_ids", "incoming", "receivedPlayerIds", "received_player_ids"],
18
+ };
12
19
  const TEAM_OUTCOME_ALIASES = {
13
20
  caseId: ["caseId", "case_id", "id"],
14
21
  offensiveRating: ["offensiveRating", "offensive_rating", "ortg"],
@@ -151,6 +158,36 @@ function parsePlayerOutcomeRow(row) {
151
158
  replacement: booleanCell(row, PLAYER_OUTCOME_ALIASES.replacement, false),
152
159
  });
153
160
  }
161
+ function parseTradeRow(row) {
162
+ return TradeBacktestTransactionFixtureSchema.parse({
163
+ caseId: stringCell(row, TRADE_ALIASES.caseId, "trade caseId"),
164
+ description: stringCell(row, TRADE_ALIASES.description, "trade description", false),
165
+ teamId: stringCell(row, TRADE_ALIASES.teamId, "trade teamId"),
166
+ outgoingPlayerIds: stringArrayCell(row, TRADE_ALIASES.outgoingPlayerIds),
167
+ incomingPlayerIds: stringArrayCell(row, TRADE_ALIASES.incomingPlayerIds),
168
+ });
169
+ }
170
+ function parseTradeTeamOutcomeRow(row) {
171
+ return TradeBacktestTeamOutcomeFixtureSchema.parse({
172
+ caseId: stringCell(row, TEAM_OUTCOME_ALIASES.caseId, "team outcome caseId"),
173
+ offensiveRating: numberCell(row, TEAM_OUTCOME_ALIASES.offensiveRating, "team outcome offensiveRating"),
174
+ defensiveRating: numberCell(row, TEAM_OUTCOME_ALIASES.defensiveRating, "team outcome defensiveRating"),
175
+ netRating: numberCell(row, TEAM_OUTCOME_ALIASES.netRating, "team outcome netRating"),
176
+ pace: optionalNumberCell(row, TEAM_OUTCOME_ALIASES.pace, "team outcome pace"),
177
+ });
178
+ }
179
+ function parseTradePlayerOutcomeRow(row) {
180
+ return TradeBacktestPlayerOutcomeFixtureSchema.parse({
181
+ caseId: stringCell(row, PLAYER_OUTCOME_ALIASES.caseId, "player outcome caseId"),
182
+ playerId: stringCell(row, PLAYER_OUTCOME_ALIASES.playerId, "player outcome playerId"),
183
+ name: stringCell(row, PLAYER_OUTCOME_ALIASES.name, "player outcome name", false),
184
+ minutes: numberCell(row, PLAYER_OUTCOME_ALIASES.minutes, "player outcome minutes"),
185
+ fantasyPoints: numberCell(row, PLAYER_OUTCOME_ALIASES.fantasyPoints, "player outcome fantasyPoints"),
186
+ points: optionalNumberCell(row, PLAYER_OUTCOME_ALIASES.points, "player outcome points"),
187
+ rebounds: optionalNumberCell(row, PLAYER_OUTCOME_ALIASES.rebounds, "player outcome rebounds"),
188
+ assists: optionalNumberCell(row, PLAYER_OUTCOME_ALIASES.assists, "player outcome assists"),
189
+ });
190
+ }
154
191
  function assertNoUnmatchedCases(caseIds, knownCaseIds, label) {
155
192
  for (const caseId of caseIds) {
156
193
  if (!knownCaseIds.has(caseId))
@@ -290,4 +327,89 @@ export async function generateInjuryBacktestSuiteFromFiles(options) {
290
327
  },
291
328
  });
292
329
  }
330
+ export function generateTradeBacktestSuiteFromFixtures(options) {
331
+ const dataset = parseNbaBaselineDataset(options.dataset);
332
+ const trades = ensureRows(options.trades, "trades").map(parseTradeRow);
333
+ const teamOutcomes = ensureRows(options.teamOutcomes, "teamOutcomes").map(parseTradeTeamOutcomeRow);
334
+ const playerOutcomes = ensureRows(options.playerOutcomes, "playerOutcomes").map(parseTradePlayerOutcomeRow);
335
+ const tradeGroups = groupByCase(trades);
336
+ const knownCaseIds = new Set(tradeGroups.keys());
337
+ const teamOutcomeByCaseId = assertUniqueTeamOutcomes(teamOutcomes);
338
+ const playerOutcomesByCaseId = groupByCase(playerOutcomes);
339
+ assertNoUnmatchedCases(teamOutcomeByCaseId.keys(), knownCaseIds, "Team outcome fixture");
340
+ assertNoUnmatchedCases(playerOutcomesByCaseId.keys(), knownCaseIds, "Player outcome fixture");
341
+ const cases = [...tradeGroups.entries()].map(([caseId, caseTrades]) => {
342
+ const [firstTrade] = caseTrades;
343
+ const teamId = firstTrade.teamId;
344
+ if (caseTrades.some((trade) => trade.teamId !== teamId)) {
345
+ throw new Error(`All trade rows for caseId ${caseId} must use the same teamId.`);
346
+ }
347
+ const outgoingPlayerIds = unique(caseTrades.flatMap((trade) => trade.outgoingPlayerIds));
348
+ const incomingPlayerIds = unique(caseTrades.flatMap((trade) => trade.incomingPlayerIds));
349
+ if (outgoingPlayerIds.length === 0 && incomingPlayerIds.length === 0) {
350
+ throw new Error(`Trade caseId ${caseId} must include outgoing or incoming player ids.`);
351
+ }
352
+ const teamOutcome = teamOutcomeByCaseId.get(caseId);
353
+ if (!teamOutcome)
354
+ throw new Error(`Missing team outcome for caseId ${caseId}.`);
355
+ const input = buildTradeSimulationInput(dataset, {
356
+ teamId,
357
+ outgoingPlayerIds,
358
+ incomingPlayerIds,
359
+ generatedAt: options.generatedAt,
360
+ notes: firstTrade.description ?? `Historical trade fixture ${caseId}.`,
361
+ });
362
+ input.metadata = {
363
+ ...input.metadata,
364
+ backtestCaseId: caseId,
365
+ generatedBy: "generateTradeBacktestSuiteFromFixtures",
366
+ };
367
+ return {
368
+ caseId,
369
+ description: firstTrade.description,
370
+ input,
371
+ actual: {
372
+ team: actualTeamOutcome(teamOutcome),
373
+ players: (playerOutcomesByCaseId.get(caseId) ?? []).map(actualPlayerOutcome),
374
+ },
375
+ };
376
+ });
377
+ return TradeBacktestSuiteSchema.parse({
378
+ schema: "sports-impact-core/trade-backtest-suite/v1",
379
+ schemaVersion: 1,
380
+ sport: "nba",
381
+ league: "NBA",
382
+ season: dataset.season,
383
+ generatedAt: options.generatedAt ?? new Date().toISOString(),
384
+ cases,
385
+ metadata: {
386
+ generatedBy: "generateTradeBacktestSuiteFromFixtures",
387
+ datasetSchema: dataset.schema,
388
+ datasetGeneratedAt: dataset.generatedAt,
389
+ ...(options.metadata ?? {}),
390
+ },
391
+ });
392
+ }
393
+ export async function generateTradeBacktestSuiteFromFiles(options) {
394
+ const [dataset, trades, teamOutcomes, playerOutcomes] = await Promise.all([
395
+ readFile(options.datasetPath, "utf8").then((text) => JSON.parse(text)),
396
+ readFixtureRows(options.tradesPath, "trades"),
397
+ readFixtureRows(options.teamOutcomesPath, "teamOutcomes"),
398
+ readFixtureRows(options.playerOutcomesPath, "playerOutcomes"),
399
+ ]);
400
+ return generateTradeBacktestSuiteFromFixtures({
401
+ dataset,
402
+ trades,
403
+ teamOutcomes,
404
+ playerOutcomes,
405
+ generatedAt: options.generatedAt,
406
+ metadata: {
407
+ datasetPath: options.datasetPath,
408
+ tradesPath: options.tradesPath,
409
+ teamOutcomesPath: options.teamOutcomesPath,
410
+ playerOutcomesPath: options.playerOutcomesPath,
411
+ ...(options.metadata ?? {}),
412
+ },
413
+ });
414
+ }
293
415
  //# sourceMappingURL=backtest-fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backtest-fixtures.js","sourceRoot":"","sources":["../src/backtest-fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backtest-fixtures.js","sourceRoot":"","sources":["../src/backtest-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { type InjuryBacktestResult } from "./schemas.js";
1
+ import { type InjuryBacktestResult, type TradeBacktestResult } from "./schemas.js";
2
2
  export declare function runInjuryBacktest(rawSuite: unknown): InjuryBacktestResult;
3
+ export declare function runTradeBacktest(rawSuite: unknown): TradeBacktestResult;
3
4
  export declare function renderBacktestMarkdownReport(result: InjuryBacktestResult): string;
5
+ export declare function renderTradeBacktestMarkdownReport(result: TradeBacktestResult): string;
4
6
  //# sourceMappingURL=backtest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backtest.d.ts","sourceRoot":"","sources":["../src/backtest.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAI1B,MAAM,cAAc,CAAC;AAwGtB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,CA6BzE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CA8BjF"}
1
+ {"version":3,"file":"backtest.d.ts","sourceRoot":"","sources":["../src/backtest.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAMzB,KAAK,mBAAmB,EAEzB,MAAM,cAAc,CAAC;AAqJtB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,CA6BzE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,mBAAmB,CA6BvE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CA8BjF;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CA8BrF"}
package/dist/backtest.js CHANGED
@@ -1,4 +1,4 @@
1
- import { InjuryBacktestSuiteSchema, } from "./schemas.js";
1
+ import { InjuryBacktestSuiteSchema, TradeBacktestSuiteSchema, } from "./schemas.js";
2
2
  import { simulateImpact } from "./simulator.js";
3
3
  const DEFAULT_TOP_REPLACEMENT_COUNT = 3;
4
4
  function round(value, places = 4) {
@@ -18,6 +18,14 @@ function unavailablePlayerIds(backtestCase) {
18
18
  return [];
19
19
  return backtestCase.input.scenario.unavailablePlayers.map((player) => player.playerId);
20
20
  }
21
+ function tradeParticipantIds(backtestCase) {
22
+ if (backtestCase.input.scenario.scenarioType !== "trade")
23
+ return { outgoingPlayerIds: [], incomingPlayerIds: [] };
24
+ return {
25
+ outgoingPlayerIds: backtestCase.input.scenario.outgoingPlayerIds,
26
+ incomingPlayerIds: backtestCase.input.scenario.incomingPlayerIds,
27
+ };
28
+ }
21
29
  function predictedTopReplacementPlayerIds(deltas, unavailableIds, count = DEFAULT_TOP_REPLACEMENT_COUNT) {
22
30
  return deltas
23
31
  .filter((delta) => !unavailableIds.has(delta.playerId) && delta.minutesDelta > 0)
@@ -25,6 +33,9 @@ function predictedTopReplacementPlayerIds(deltas, unavailableIds, count = DEFAUL
25
33
  .slice(0, count)
26
34
  .map((delta) => delta.playerId);
27
35
  }
36
+ function deltaById(deltas) {
37
+ return new Map(deltas.map((delta) => [delta.playerId, delta]));
38
+ }
28
39
  function projectionById(players) {
29
40
  return new Map(players.map((player) => [player.playerId, player]));
30
41
  }
@@ -55,6 +66,13 @@ function replacementHit(predicted, actual) {
55
66
  const actualSet = new Set(actual);
56
67
  return predicted.some((playerId) => actualSet.has(playerId));
57
68
  }
69
+ function participantDirectionHit(deltas, outgoingPlayerIds, incomingPlayerIds) {
70
+ if (outgoingPlayerIds.length === 0 && incomingPlayerIds.length === 0)
71
+ return false;
72
+ const deltasById = deltaById(deltas);
73
+ return outgoingPlayerIds.every((playerId) => (deltasById.get(playerId)?.minutesDelta ?? 0) < 0)
74
+ && incomingPlayerIds.every((playerId) => (deltasById.get(playerId)?.minutesDelta ?? 0) > 0);
75
+ }
58
76
  function evaluateCase(backtestCase) {
59
77
  const simulation = simulateImpact(backtestCase.input);
60
78
  const unavailableIds = unavailablePlayerIds(backtestCase);
@@ -77,6 +95,26 @@ function evaluateCase(backtestCase) {
77
95
  warnings: [...simulation.warnings, ...playerErrors.warnings],
78
96
  };
79
97
  }
98
+ function evaluateTradeCase(backtestCase) {
99
+ const simulation = simulateImpact(backtestCase.input);
100
+ const { outgoingPlayerIds, incomingPlayerIds } = tradeParticipantIds(backtestCase);
101
+ const playerErrors = playerOutcomeErrors(backtestCase.actual.players, simulation.scenario.players);
102
+ const teamNetRatingError = round(simulation.scenario.team.netRating - backtestCase.actual.team.netRating);
103
+ return {
104
+ caseId: backtestCase.caseId,
105
+ description: backtestCase.description,
106
+ teamId: simulation.teamId,
107
+ outgoingPlayerIds,
108
+ incomingPlayerIds,
109
+ participantDirectionHit: participantDirectionHit(simulation.deltas.players, outgoingPlayerIds, incomingPlayerIds),
110
+ playerCountCompared: playerErrors.playerCountCompared,
111
+ playerMinutesMae: mean(playerErrors.minutesErrors),
112
+ playerFantasyPointsMae: mean(playerErrors.fantasyErrors),
113
+ teamNetRatingError,
114
+ teamNetRatingAbsoluteError: round(absolute(teamNetRatingError)),
115
+ warnings: [...simulation.warnings, ...playerErrors.warnings],
116
+ };
117
+ }
80
118
  function averageNullable(values) {
81
119
  return mean(values.filter((value) => value !== null));
82
120
  }
@@ -109,6 +147,35 @@ export function runInjuryBacktest(rawSuite) {
109
147
  ],
110
148
  };
111
149
  }
150
+ export function runTradeBacktest(rawSuite) {
151
+ const suite = TradeBacktestSuiteSchema.parse(rawSuite);
152
+ const cases = suite.cases.map(evaluateTradeCase);
153
+ const participantEvaluated = cases.filter((entry) => entry.outgoingPlayerIds.length > 0 || entry.incomingPlayerIds.length > 0);
154
+ const participantDirectionHitRate = participantEvaluated.length
155
+ ? round(participantEvaluated.filter((entry) => entry.participantDirectionHit).length / participantEvaluated.length)
156
+ : null;
157
+ return {
158
+ schema: "sports-impact-core/trade-backtest-result/v1",
159
+ schemaVersion: 1,
160
+ sport: suite.sport,
161
+ league: suite.league,
162
+ season: suite.season,
163
+ caseCount: cases.length,
164
+ metrics: {
165
+ teamNetRatingMae: mean(cases.map((entry) => entry.teamNetRatingAbsoluteError)),
166
+ playerMinutesMae: averageNullable(cases.map((entry) => entry.playerMinutesMae)),
167
+ playerFantasyPointsMae: averageNullable(cases.map((entry) => entry.playerFantasyPointsMae)),
168
+ participantDirectionHitRate,
169
+ },
170
+ cases,
171
+ assumptions: [
172
+ "Trade backtests compare deterministic target-team trade projections against provided actual outcomes.",
173
+ "Player MAE metrics only include actual players present in the simulation output.",
174
+ "Participant direction hit rate checks whether outgoing players lose minutes and incoming players gain minutes in the deterministic scenario output.",
175
+ "Synthetic or incomplete fixtures are useful for pipeline validation but not model-quality claims.",
176
+ ],
177
+ };
178
+ }
112
179
  export function renderBacktestMarkdownReport(result) {
113
180
  return `# NBA injury backtest report
114
181
 
@@ -140,4 +207,35 @@ ${result.assumptions.map((assumption) => `- ${assumption}`).join("\n")}
140
207
  Backtest metrics are only as meaningful as the fixture quality and sample size. Treat synthetic fixtures as pipeline validation only.
141
208
  `;
142
209
  }
210
+ export function renderTradeBacktestMarkdownReport(result) {
211
+ return `# NBA trade backtest report
212
+
213
+ Schema: \`${result.schema}\`
214
+ Season: ${result.season}
215
+ Cases: ${result.caseCount}
216
+
217
+ ## Aggregate metrics
218
+
219
+ | Metric | Value |
220
+ | --- | ---: |
221
+ | Team net rating MAE | ${result.metrics.teamNetRatingMae ?? "n/a"} |
222
+ | Player minutes MAE | ${result.metrics.playerMinutesMae ?? "n/a"} |
223
+ | Player fantasy points MAE | ${result.metrics.playerFantasyPointsMae ?? "n/a"} |
224
+ | Participant direction hit rate | ${result.metrics.participantDirectionHitRate ?? "n/a"} |
225
+
226
+ ## Cases
227
+
228
+ | Case | Team | Outgoing | Incoming | Team net error | Minutes MAE | Fantasy MAE | Direction hit |
229
+ | --- | --- | --- | --- | ---: | ---: | ---: | --- |
230
+ ${result.cases.map((entry) => `| ${entry.caseId} | ${entry.teamId} | ${entry.outgoingPlayerIds.join(", ")} | ${entry.incomingPlayerIds.join(", ")} | ${entry.teamNetRatingError} | ${entry.playerMinutesMae ?? "n/a"} | ${entry.playerFantasyPointsMae ?? "n/a"} | ${entry.participantDirectionHit ? "yes" : "no"} |`).join("\n")}
231
+
232
+ ## Assumptions
233
+
234
+ ${result.assumptions.map((assumption) => `- ${assumption}`).join("\n")}
235
+
236
+ ## Interpretation boundary
237
+
238
+ Trade backtest metrics are only as meaningful as the fixture quality and sample size. Treat synthetic fixtures as pipeline validation only.
239
+ `;
240
+ }
143
241
  //# sourceMappingURL=backtest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backtest.js","sourceRoot":"","sources":["../src/backtest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backtest.js","sourceRoot":"","sources":["../src/backtest.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type InjuryCalibrationReport } from "./schemas.js";
1
+ import { type InjuryCalibrationReport, type TradeCalibrationReport } from "./schemas.js";
2
2
  export interface CalibrateInjuryBacktestsInput {
3
3
  suiteId?: string;
4
4
  sourcePath?: string;
@@ -23,8 +23,36 @@ export interface CalibrateInjuryBacktestsFromManifestOptions {
23
23
  generatedAt?: string;
24
24
  metadata?: Record<string, unknown>;
25
25
  }
26
+ export interface CalibrateTradeBacktestsInput {
27
+ suiteId?: string;
28
+ sourcePath?: string;
29
+ value: unknown;
30
+ }
31
+ export interface CalibrateTradeBacktestsOptions {
32
+ inputs: CalibrateTradeBacktestsInput[];
33
+ generatedAt?: string;
34
+ metadata?: Record<string, unknown>;
35
+ }
36
+ export interface CalibrateTradeBacktestsFromFilesInput {
37
+ path: string;
38
+ suiteId?: string;
39
+ }
40
+ export interface CalibrateTradeBacktestsFromFilesOptions {
41
+ inputs: CalibrateTradeBacktestsFromFilesInput[];
42
+ generatedAt?: string;
43
+ metadata?: Record<string, unknown>;
44
+ }
45
+ export interface CalibrateTradeBacktestsFromManifestOptions {
46
+ manifestPath: string;
47
+ generatedAt?: string;
48
+ metadata?: Record<string, unknown>;
49
+ }
26
50
  export declare function calibrateInjuryBacktests(options: CalibrateInjuryBacktestsOptions): InjuryCalibrationReport;
27
51
  export declare function calibrateInjuryBacktestsFromFiles(options: CalibrateInjuryBacktestsFromFilesOptions): Promise<InjuryCalibrationReport>;
28
52
  export declare function calibrateInjuryBacktestsFromManifest(options: CalibrateInjuryBacktestsFromManifestOptions): Promise<InjuryCalibrationReport>;
53
+ export declare function calibrateTradeBacktests(options: CalibrateTradeBacktestsOptions): TradeCalibrationReport;
54
+ export declare function calibrateTradeBacktestsFromFiles(options: CalibrateTradeBacktestsFromFilesOptions): Promise<TradeCalibrationReport>;
55
+ export declare function calibrateTradeBacktestsFromManifest(options: CalibrateTradeBacktestsFromManifestOptions): Promise<TradeCalibrationReport>;
29
56
  export declare function renderInjuryCalibrationMarkdownReport(report: InjuryCalibrationReport): string;
57
+ export declare function renderTradeCalibrationMarkdownReport(report: TradeCalibrationReport): string;
30
58
  //# sourceMappingURL=calibration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calibration.d.ts","sourceRoot":"","sources":["../src/calibration.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wCAAwC;IACvD,MAAM,EAAE,sCAAsC,EAAE,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2CAA2C;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAiED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,uBAAuB,CAqC1G;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,wCAAwC,GAChD,OAAO,CAAC,uBAAuB,CAAC,CAiBlC;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,uBAAuB,CAAC,CAmBlC;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CA8B7F"}
1
+ {"version":3,"file":"calibration.d.ts","sourceRoot":"","sources":["../src/calibration.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,uBAAuB,EAO5B,KAAK,sBAAsB,EAE5B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wCAAwC;IACvD,MAAM,EAAE,sCAAsC,EAAE,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2CAA2C;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uCAAuC;IACtD,MAAM,EAAE,qCAAqC,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0CAA0C;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAuGD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,uBAAuB,CAqC1G;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,wCAAwC,GAChD,OAAO,CAAC,uBAAuB,CAAC,CAiBlC;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,uBAAuB,CAAC,CAmBlC;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,sBAAsB,CAqCvG;AAED,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,uCAAuC,GAC/C,OAAO,CAAC,sBAAsB,CAAC,CAiBjC;AAED,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,sBAAsB,CAAC,CAmBjC;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CA8B7F;AAED,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CA8B3F"}