From f19271df2e368b14e7f309a66c40658c7b37cacf Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Thu, 23 Jan 2025 12:30:39 +0100 Subject: [PATCH] option page update --- .../options/hottest-contracts/+page.svelte | 155 +++++------------- 1 file changed, 38 insertions(+), 117 deletions(-) diff --git a/src/routes/stocks/[tickerID]/options/hottest-contracts/+page.svelte b/src/routes/stocks/[tickerID]/options/hottest-contracts/+page.svelte index f8978dfb..e5f2e186 100644 --- a/src/routes/stocks/[tickerID]/options/hottest-contracts/+page.svelte +++ b/src/routes/stocks/[tickerID]/options/hottest-contracts/+page.svelte @@ -12,7 +12,6 @@ numberOfUnreadNotification, displayCompanyName, } from "$lib/store"; - import * as HoverCard from "$lib/components/shadcn/hover-card/index.js"; import TableHeader from "$lib/components/Table/TableHeader.svelte"; import UpgradeToPro from "$lib/components/UpgradeToPro.svelte"; @@ -42,7 +41,7 @@ let optionsData = null; let optionHistoryList = []; - let selectGraphType = "Bid/Ask"; + let selectGraphType = "Vol/OI"; let container; let rawDataHistory = []; let strikePrice; @@ -305,13 +304,9 @@ (a, b) => new Date(a?.date) - new Date(b?.date), ); let dates = data?.map((item) => item?.date); - let avgPrice = data?.map((item) => item?.avg_price); + let avgPrice = data?.map((item) => item?.mark); let priceList = data?.map((item) => item?.price); - let bidVolume = data?.map((item) => item?.bid_volume); - let askVolume = data?.map((item) => item?.ask_volume); - let midVolume = data?.map((item) => item?.mid_volume); - let volumeList = data?.map((item) => item?.volume); let oiList = data?.map((item) => item?.open_interest); let ivList = data?.map((item) => @@ -339,15 +334,7 @@ }); let series = []; - if (selectGraphType === "Bid/Ask") { - series = [ - createBarSeries("Ask", askVolume, "#33B890", "Ratio"), - createBarSeries("Mid", midVolume, "#007BFF", "Ratio"), - createBarSeries("Bid", bidVolume, "#EE5365", "Ratio"), - createLineSeries("Avg Fill", avgPrice, "#FAD776"), - createLineSeries("Stock Price", priceList, "#fff", 2), - ]; - } else if (selectGraphType === "Vol/OI") { + if (selectGraphType === "Vol/OI") { series = [ createBarSeries("Volume", volumeList, "#FD7E14"), createBarSeries("OI", oiList, "#33B890"), @@ -406,27 +393,14 @@ param.color + '">'; - if (param.seriesName === "Bid") { - bidValue = param.value; - bidColor = marker; - } else if (param.seriesName === "Ask") { - askValue = param.value; - askColor = marker; - } else { - result += - marker + - param.seriesName + - ": " + - abbreviateNumberWithColor(param.value, false, true) + - "
"; - } + result += + marker + + param.seriesName + + ": " + + abbreviateNumberWithColor(param.value, false, true) + + "
"; }); - // Add Bid x Ask line if both are present - if (bidValue !== null && askValue !== null) { - result += `${bidColor}Bid x ${askColor}Ask: ${bidValue} x ${askValue}
`; - } - if (rawDataPoint?.dte !== undefined) { result += `Days to Expiration : ${rawDataPoint.dte}
`; } @@ -532,7 +506,7 @@ async function handleViewData(item) { isLoaded = false; - selectGraphType = "Bid/Ask"; + selectGraphType = "Vol/OI"; optionDetailsDesktopModal?.showModal(); strikePrice = item?.strike_price; @@ -540,7 +514,9 @@ dateExpiration = item?.date_expiration; otmPercentage = item?.otm; - rawDataHistory = await getContractHistory(item?.option_symbol); + const output = await getContractHistory(item?.option_symbol); + rawDataHistory = output?.history; + if (rawDataHistory?.length > 0) { rawDataHistory.forEach((entry) => { const matchingData = data?.getHistoricalPrice?.find( @@ -952,7 +928,7 @@ class="pb-8 sm:pb-2 rounded-md bg-table border border-gray-600 overflow-hidden" >
- {#each ["Bid/Ask", "Vol/OI", "IV"] as item} + {#each ["Vol/OI", "IV"] as item}