Add smart money event calendar enrichment
This commit is contained in:
parent
6108aea166
commit
6b794ec7ac
11 changed files with 270 additions and 8 deletions
31
services/refdata/tests/event-calendar.test.ts
Normal file
31
services/refdata/tests/event-calendar.test.ts
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import { describe, expect, it } from "bun:test";
|
||||
import { createStaticEventCalendarProvider, parseEventCalendarEntries } from "../src/event-calendar";
|
||||
|
||||
describe("event calendar refdata", () => {
|
||||
it("parses provider rows and filters by timestamp availability", () => {
|
||||
const entries = parseEventCalendarEntries([
|
||||
{
|
||||
symbol: "aapl",
|
||||
event_date: "2025-01-31T21:00:00Z",
|
||||
event_kind: "earnings",
|
||||
announced_ts: "2025-01-20T21:00:00Z",
|
||||
source: "fixture"
|
||||
},
|
||||
{
|
||||
symbol: "AAPL",
|
||||
event_date: "2025-02-28T21:00:00Z",
|
||||
type: "mystery",
|
||||
announced_ts: "2025-02-01T21:00:00Z"
|
||||
}
|
||||
]);
|
||||
|
||||
const provider = createStaticEventCalendarProvider(entries);
|
||||
const beforeAnnouncement = provider.findNextEvent("AAPL", Date.parse("2025-01-15T15:00:00Z"));
|
||||
const afterAnnouncement = provider.findNextEvent("aapl", Date.parse("2025-01-21T15:00:00Z"));
|
||||
|
||||
expect(beforeAnnouncement).toBeNull();
|
||||
expect(afterAnnouncement?.event_kind).toBe("earnings");
|
||||
expect(afterAnnouncement?.underlying_id).toBe("AAPL");
|
||||
expect(afterAnnouncement?.days_to_event).toBeGreaterThan(0);
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue