Files
calendar-optimizer/frontend/src/pages/HistoricalCalendarPrices/state.ts
T

47 lines
1.2 KiB
TypeScript

import { computed, signal } from "@preact/signals";
export const isPopperOpen = signal(false);
export const popperAnchorEl = signal(null);
export const popperContent = signal(null);
export const availableUnderlyings = signal([]);
export const underlying = signal(null);
export const daysToFrontExpiration = signal(14);
export const daysBetweenFrontAndBackExpiration = signal(14);
export const strikePercentageFromUnderlyingPrice = signal(1.4);
export const strikePercentageFromUnderlyingPriceRadius = signal(0.05);
export const exitToFrontExpiration = signal(2);
export const stockPriceChartData = signal([]);
export const similarCalendarPriceChartData = signal([]);
export const calendarExitPriceChartData = signal([]);
export const lookbackPeriodStart = signal("2022-01-01");
export const lookbackPeriodEnd = signal("2024-01-01");
export const maxChartPrice = computed(() =>
Math.max(
Math.max.apply(
null,
similarCalendarPriceChartData.value.map((d) => d.y)
),
Math.max.apply(
null,
calendarExitPriceChartData.value.map((d) => d.y)
)
)
);
export const maxN = computed(() =>
Math.max.apply(
null,
calendarExitPriceChartData.value.map((d) => d.n)
)
);