{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ''} Top Wall Street Stock Analysts · stocknear

Top Wall Street Analysts

A performance-based ranking of Wall Street Analysts.
{#if isLoaded}
{#each analytRatingList as item, index} goto(`/analysts/${item?.analystId}`)} class="sm:hover:bg-[#245073] sm:hover:bg-opacity-[0.2] odd:bg-[#27272A] {index+1 === rawData?.length && data?.user?.tier !== 'Pro' ? 'opacity-[0.1]' : ''} cursor-pointer"> {/each}
{ sortBy = 'rank'; changeOrder(order); }} class="cursor-pointer text-center bg-[#09090B] text-white text-[1rem] font-semibold"> Rank Analyst { sortBy = 'successRate'; changeOrder(order); }} class="cursor-pointer text-end bg-[#09090B] text-white text-[1rem] font-semibold"> Success Rate { sortBy = 'avgReturn'; changeOrder(order); }} class="cursor-pointer text-end bg-[#09090B] text-white text-[1rem] font-semibold"> Avg. return { sortBy = 'totalRatings'; changeOrder(order); }} class="cursor-pointer text-white font-semibold text-end text-[1rem]"> Total Ratings Last Rating
{item?.rank}
{item?.analystName} {item?.companyName}
{#each Array.from({ length: 5 }) as _, i} {#if i < Math.floor(item?.analystScore)} {:else} {/if} {/each} ({item?.analystScore !== null ? item?.analystScore : 0})
{#if Number(item?.successRate) >= 0} {Number(item?.successRate)?.toFixed(2)}% {/if} {#if Number(item?.avgReturn) >= 0} {Number(item?.avgReturn)?.toFixed(2)}% {:else} {Number(item?.avgReturn)?.toFixed(2)}% {/if} {item?.totalRatings} {item?.lastRating !== null ? new Date(item?.lastRating)?.toLocaleString('en-US', { month: 'short', day: 'numeric', year: 'numeric', daySuffix: '2-digit' }) : 'n/a'}
{:else}
{/if}