From fe1265810d8cc0fa97881401757ab317be2825e7 Mon Sep 17 00:00:00 2001 From: avraham Date: Sun, 11 Aug 2024 17:38:04 -0400 Subject: [PATCH] fix: the "optiondb-lmdbx" calendardb was returning too many possible strike-front-back permutations due to faulty programming --- server/src/calendardb/optiondb-lmdbx.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/server/src/calendardb/optiondb-lmdbx.ts b/server/src/calendardb/optiondb-lmdbx.ts index 60af0c9..5fbc747 100644 --- a/server/src/calendardb/optiondb-lmdbx.ts +++ b/server/src/calendardb/optiondb-lmdbx.ts @@ -68,14 +68,22 @@ function makeCalendarDatabase(): CalendarDatabase { return optionContracts.flatMap( (frontOptionContract, i, optionContracts) => optionContracts - .filter((_, j) => i !== j) + .filter( + (potientialBackOptionContract) => + frontOptionContract.strike === + potientialBackOptionContract.strike && + frontOptionContract.type === + potientialBackOptionContract.type && + frontOptionContract.expirationDate < + potientialBackOptionContract.expirationDate + ) .map((backOptionContract) => ({ symbol, frontExpirationDate: frontOptionContract.expirationDate, backExpirationDate: backOptionContract.expirationDate, strike: frontOptionContract.strike, type: frontOptionContract.type, - })), + })) ); }, getAggregates: async ({