47 lines
1.1 KiB
TypeScript
47 lines
1.1 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 openDTE = signal(14);
|
|
|
|
export const span = signal(14);
|
|
|
|
export const moniness = signal(1);
|
|
export const moninessRadius = signal(1);
|
|
|
|
export const exitDTE = signal(2);
|
|
|
|
export const stockPriceChartData = signal<Array<[number, number]>>([]);
|
|
|
|
export const similarCalendarPriceChartData = signal([]);
|
|
|
|
export const calendarExitPriceChartData = signal([]);
|
|
|
|
export const lookbackPeriodStart = signal("2022-03-01");
|
|
export const lookbackPeriodEnd = signal("2022-04-01");
|
|
|
|
export const maxChartPrice = computed(() =>
|
|
Math.max(
|
|
Math.max.apply(
|
|
null,
|
|
similarCalendarPriceChartData.value.map((d) => d.y).slice(0, -2)
|
|
),
|
|
Math.max.apply(
|
|
null,
|
|
calendarExitPriceChartData.value.map((d) => d.y).slice(0, -2)
|
|
)
|
|
)
|
|
);
|
|
|
|
export const maxN = computed(() =>
|
|
Math.max.apply(
|
|
null,
|
|
calendarExitPriceChartData.value.map((d) => d.n)
|
|
)
|
|
);
|