|
|
|
@ -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 ({
|
|
|
|
|