{$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-[#FBCE3C]' : '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}