{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Options Flow Feed · stocknear
{#if !$isOpen}
Live flow of {data?.user?.tier === "Pro" && selectedDate ? df.format(selectedDate?.toDate()) : nyseDate} (NYSE Time)
{/if}
{$isOpen ? "Paused" : "Market Closed"}
Live Flow
{#if notFound === true} No Results Found {/if}
{#if showFilters}
{#if ruleOfList?.length !== 0} {/if}
{#each displayRules as row (row?.rule)}
{row?.label?.replace("[%]", "")}
(ruleName = row?.rule)}> {#if !["put_call", "sentiment", "execution_estimate", "option_activity_type", "date_expiration", "underlying_type"]?.includes(row?.rule)}
{:else} {/if} {#if !["put_call", "sentiment", "execution_estimate", "option_activity_type", "date_expiration", "underlying_type"]?.includes(row?.rule)} {#each row?.step as newValue} {/each} {:else if ["put_call", "sentiment", "execution_estimate", "option_activity_type", "date_expiration", "underlying_type"]?.includes(row?.rule)} {#each row?.step as item}
event.preventDefault()} >
{/each} {/if}
{/each}
{/if}
{#if isLoaded}
Flow Sentiment {flowSentiment}
Put/Call {putCallRatio?.toFixed(3)}
= 1 ? 0 : 100 - (putCallRatio * 100)?.toFixed(2)} >
{putCallRatio?.toFixed(2)}
Call Flow {new Intl.NumberFormat("en", { minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(displayCallVolume)}
{callPercentage}%
Put Flow {new Intl.NumberFormat("en", { minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(displayPutVolume)}
{putPercentage}%
{#if displayedData?.length !== 0}
sortData("time")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Time
sortData("ticker")} class="td cursor-pointer select-none bg-[#161618] font-bold text-slate-300 text-xs text-start uppercase" > Symbol
Save
sortData("expiry")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Expiry
sortData("dte")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > DTE
sortData("strike")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Strike
sortData("callPut")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > C/P
sortData("sentiment")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Sent.
sortData("spot")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Spot
sortData("price")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Price
sortData("premium")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Prem
sortData("type")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Type
sortData("vol")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > Vol
sortData("oi")} class="td cursor-pointer select-none bg-[#161618] text-slate-300 font-bold text-xs text-start uppercase" > OI
handleViewData(displayedData[index])} slot="item" let:index let:style {style} class="tr cursor-pointer {index % 2 === 0 ? 'bg-[#27272A]' : 'bg-[#09090B]'}" >
{formatTime(displayedData[index]?.time)}
{displayedData[index]?.ticker}
addToWatchlist(displayedData[index]?.id)} style="justify-content: center;" class="td {optionsWatchlist.optionsId?.includes( displayedData[index]?.id, ) ? 'text-[#fff]' : 'text-white'}" >
{reformatDate(displayedData[index]?.date_expiration)}
{displayedData[index]?.dte < 0 ? "expired" : displayedData[index]?.dte + "d"}
{displayedData[index]?.strike_price}
{displayedData[index]?.put_call}
{displayedData[index]?.sentiment}
{displayedData[index]?.underlying_price}
{displayedData[index]?.price}
{abbreviateNumber(displayedData[index]?.cost_basis)}
{displayedData[index]?.option_activity_type}
{new Intl.NumberFormat("en", { minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(displayedData[index]?.volume)}
{new Intl.NumberFormat("en", { minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(displayedData[index]?.open_interest)}
{:else}
Looks like your taste is one-of-a-kind! No matches found... yet!
{/if}
{:else}
{/if}