add widgets to fundamental page
This commit is contained in:
parent
e5a407d421
commit
b0c40758ad
@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
|
||||
import ReturnCard from '$lib/components/ReturnCard.svelte'
|
||||
import {numberOfUnreadNotification, displayCompanyName, screenWidth, cryptoTicker} from '$lib/store';
|
||||
import {numberOfUnreadNotification, displayCompanyName, cryptoTicker} from '$lib/store';
|
||||
import { abbreviateNumber } from '$lib/utils';
|
||||
|
||||
export let data;
|
||||
@ -12,16 +12,11 @@
|
||||
|
||||
|
||||
let marketCap = '-';
|
||||
let yearHigh = '-';
|
||||
let yearLow = '-';
|
||||
let dayHigh = '-';
|
||||
let dayLow = '-';
|
||||
|
||||
|
||||
let currentPrice = 0;
|
||||
let previousClose = '-';
|
||||
let volume = '-';
|
||||
let eps = '-';
|
||||
let pe = '-';
|
||||
let alpha = '-';
|
||||
let beta = '-';
|
||||
|
||||
@ -78,16 +73,10 @@
|
||||
*/
|
||||
|
||||
marketCap = '-';
|
||||
yearHigh = '-';
|
||||
yearLow = '-';
|
||||
dayHigh = '-';
|
||||
dayLow = '-';
|
||||
|
||||
currentPrice = '-';
|
||||
previousClose = '-';
|
||||
volume = '-';
|
||||
eps = '-';
|
||||
pe = '-';
|
||||
alpha = '-';
|
||||
beta = '-';
|
||||
|
||||
@ -97,24 +86,12 @@
|
||||
marketCap = abbreviateNumber(stockQuote?.marketCap);
|
||||
volume = abbreviateNumber(stockQuote?.volume);
|
||||
currentPrice = stockQuote?.price;
|
||||
previousClose = stockQuote?.previousClose;
|
||||
eps = stockQuote?.eps;
|
||||
pe = stockQuote?.pe;
|
||||
previousClose = stockQuote?.previousClose?.toFixed(2);
|
||||
|
||||
beta = stockQuote?.beta;
|
||||
|
||||
dayLow = stockQuote?.dayLow?.toFixed(2);
|
||||
dayHigh = stockQuote?.dayHigh?.toFixed(2);
|
||||
yearLow = stockQuote?.yearLow?.toFixed(2);
|
||||
yearHigh = stockQuote?.yearHigh?.toFixed(2);
|
||||
|
||||
alpha = quantStats[$cryptoTicker?.toUpperCase()]?.Alpha;
|
||||
|
||||
/*
|
||||
updateDayRange()
|
||||
updateYearRange()
|
||||
*/
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@ -156,79 +133,118 @@
|
||||
</div>
|
||||
|
||||
{#if Object?.keys(quantStats)?.length !== 0}
|
||||
|
||||
|
||||
<!--Start Widget-->
|
||||
<div class="w-full mt-5 mb-5 flex justify-start items-center">
|
||||
<div class="w-full grid grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 gap-y-3 gap-x-3 ">
|
||||
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#09090B] border border-gray-800 rounded-lg h-auto">
|
||||
<div class="flex flex-col items-center w-full p-3">
|
||||
<span class="font-medium text-white text-xl font-semibold">YTD Return</span>
|
||||
<div class="grid grid-cols-3 w-full mt-2">
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">{$cryptoTicker}</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["YTD %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats[$cryptoTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats[$cryptoTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-white">
|
||||
vs.
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">SPY</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats['SPY']["YTD %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats['SPY']["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats['SPY']["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#09090B] border border-gray-800 rounded-lg h-auto">
|
||||
<div class="flex flex-col items-center w-full p-3">
|
||||
<span class="font-medium text-white text-xl font-semibold">1-Year Return</span>
|
||||
<div class="grid grid-cols-3 w-full mt-2">
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">{$cryptoTicker}</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["1Y %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats[$cryptoTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats[$cryptoTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-white">
|
||||
vs.
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">SPY</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats['SPY']["1Y %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats['SPY']["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats['SPY']["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#09090B] border border-gray-800 rounded-lg h-auto">
|
||||
<div class="flex flex-col items-center w-full p-3">
|
||||
<span class="font-medium text-white text-xl font-semibold">3-Year Return</span>
|
||||
<div class="grid grid-cols-3 w-full mt-2">
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">{$cryptoTicker}</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats[$cryptoTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats[$cryptoTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-white">
|
||||
vs.
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">SPY</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats['SPY']["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--End Widget-->
|
||||
|
||||
|
||||
<div class="grid grid-cols-1 gap-2 mt-10">
|
||||
|
||||
<div class="flex justify-start items-start w-full m-auto">
|
||||
<table class="table table-sm table-pin-rows table-compact pb-2 text-start flex justify-start items-center w-full px-3 m-auto ">
|
||||
<tbody class="shadow-md">
|
||||
<!-- row 1 -->
|
||||
<tr class="text-white ">
|
||||
{#if $screenWidth <= 550}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Day Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<div class="flex flex-col items-start">
|
||||
<div class="flex justify-between w-full mb-1.5">
|
||||
<span class="text-start">{dayLow}</span>
|
||||
<span class="text-end">{dayHigh}</span>
|
||||
</div>
|
||||
<div class="flex justify-center w-full">
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 w-full bg-white h-[4px]" min={dayLow} value={currentPrice} max={dayHigh} style="flex-direction: row-reverse" />
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{:else}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Day Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
{dayLow}
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<!--<span class="text-center flex justify-center items-center ">158.8</span>-->
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 bg-white w-[200px] sm:w-full h-[4px]" min={dayLow} value={currentPrice} max={dayHigh} />
|
||||
</td>
|
||||
<td class="bg-[#09090B] ">
|
||||
{dayHigh}
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
<!--2 row -->
|
||||
<tr class="text-white bg-[#09090B]">
|
||||
{#if $screenWidth < 640}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Year Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<div class="flex flex-col items-start">
|
||||
<div class="flex justify-between w-full mb-1.5">
|
||||
<span class="text-start">{yearLow}</span>
|
||||
<span class="text-end">{yearHigh}</span>
|
||||
</div>
|
||||
<div class="flex justify-center w-full">
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 bg-white w-[200px] sm:w-full h-[4px]" min={yearLow} value={currentPrice} max={yearHigh} style="flex-direction: row-reverse" />
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{:else}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Year Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
{yearLow}
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 w-full bg-white h-[4px]" min={yearLow} value={currentPrice} max={yearHigh} />
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
{yearHigh}
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
@ -237,7 +253,7 @@
|
||||
</h3>
|
||||
|
||||
|
||||
<div class="flex justify-start items-center w-full m-auto">
|
||||
<div class="flex justify-start items-center w-full m-auto overflow-x-scroll no-scrollbar">
|
||||
<table class="table table-sm table-compact text-start flex justify-start items-center w-full px-3 m-auto">
|
||||
<tbody class="">
|
||||
<!-- row 1 -->
|
||||
@ -267,18 +283,12 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr class="text-white font-semibold">
|
||||
<td class="text-start">EPS</td>
|
||||
<td class="text-sm text-end">{eps}</td>
|
||||
<td class="text-end">PE</td>
|
||||
<td class="text-sm text-end">{pe}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{#if $cryptoTicker in quantStats && Object.keys(quantStats[$cryptoTicker]).length > 0}
|
||||
|
||||
@ -363,14 +373,14 @@
|
||||
</td>
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Cumulative Return %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Cumulative Return %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{abbreviateNumber(quantStats[$cryptoTicker?.toUpperCase()]["Cumulative Return %"])}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Cumulative Return %"]}% </span>
|
||||
<span class="text-[#FF2F1F] ">{abbreviateNumber(quantStats[$cryptoTicker?.toUpperCase()]["Cumulative Return %"])}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Cumulative Return %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Cumulative Return %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Cumulative Return %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Cumulative Return %"]}% </span>
|
||||
{/if}
|
||||
@ -383,14 +393,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["CAGR %"] >=0}
|
||||
<span class="text-[#10DB06]">+{quantStats[$cryptoTicker?.toUpperCase()]["CAGR %"]}%</span>
|
||||
<span class="text-[#22C55E]">+{quantStats[$cryptoTicker?.toUpperCase()]["CAGR %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{quantStats[$cryptoTicker?.toUpperCase()]["CAGR %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["CAGR %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["CAGR %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["CAGR %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["CAGR %"]}% </span>
|
||||
{/if}
|
||||
@ -427,14 +437,14 @@
|
||||
</td>
|
||||
<td class="text-start text-white text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Max Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Max Drawdown"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Max Drawdown"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Max Drawdown"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class=" text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Max Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Max Drawdown"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Max Drawdown"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Max Drawdown"]}% </span>
|
||||
{/if}
|
||||
@ -535,14 +545,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Expected Daily %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Daily %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Daily %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Expected Daily %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Daily %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Daily %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Daily %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Daily %"]}% </span>
|
||||
{/if}
|
||||
@ -555,14 +565,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Expected Monthly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Monthly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Monthly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Expected Monthly %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Monthly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Monthly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Monthly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Monthly %"]}% </span>
|
||||
{/if}
|
||||
@ -575,14 +585,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Expected Yearly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Yearly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Yearly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Expected Yearly %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Yearly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Yearly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Yearly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Yearly %"]}% </span>
|
||||
{/if}
|
||||
@ -619,14 +629,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Daily Value-at-Risk %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Daily Value-at-Risk %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -639,14 +649,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Shortfall (cVaR) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -655,10 +665,10 @@
|
||||
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-whitetext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<td class="text-start text-white text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
Max Consecutive Wins
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
<td class="text-start text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{quantStats[$cryptoTicker?.toUpperCase()]["Max Consecutive Wins"]}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
@ -667,10 +677,10 @@
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-whitetext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<td class="text-start text-white text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
Max Consecutive Losses
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
<td class="text-start text-end text-sm sm:text-[1rem]">
|
||||
{quantStats[$cryptoTicker?.toUpperCase()]["Max Consecutive Losses"]}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
@ -682,7 +692,7 @@
|
||||
<td class="text-starttext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
Gain/Pain Ratio
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
<td class="text-start text-end text-sm sm:text-[1rem]">
|
||||
{quantStats[$cryptoTicker?.toUpperCase()]["Gain/Pain Ratio"]?.toFixed(2)}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
@ -752,19 +762,19 @@
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-starttext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
MTD
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
<td class="text-start text-end text-sm sm:text-[1rem]">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["MTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["MTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["MTD %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["MTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["MTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -777,14 +787,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["3M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["3M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["3M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["3M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["3M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["3M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["3M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["3M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -797,79 +807,20 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["6M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["6M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["6M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["6M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["6M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["6M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["6M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["6M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
YTD
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["YTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["YTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
1Y
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["1Y %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["1Y %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
3Y (ann.)
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-starttext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
@ -877,14 +828,14 @@
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Best Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Best Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Best Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Best Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Best Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -897,14 +848,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -916,17 +867,17 @@
|
||||
Best Month
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Best Month %"] >=0}
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Best Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% </span>
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Best Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{#if quantStats['SPY']["Best Month %"] >=0}
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Best Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Day %"]?.toFixed(2)}% </span>
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Best Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
@ -937,14 +888,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Worst Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Worst Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -957,14 +908,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Best Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Best Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Best Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Best Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Best Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -977,14 +928,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Worst Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Worst Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -992,19 +943,19 @@
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-starttext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
Avg. Drawdown
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
<td class="text-start text-end ttext-sm sm:text-[1rem]">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Avg. Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Avg. Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -1049,19 +1000,19 @@
|
||||
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-starttext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
Avg. Up Month
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
<td class="text-start text-end text-sm sm:text-[1rem]">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Avg. Up Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Avg. Up Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -1074,14 +1025,14 @@
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$cryptoTicker?.toUpperCase()]["Avg. Down Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$cryptoTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Avg. Down Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -12,10 +12,7 @@ let stockQuote;
|
||||
|
||||
|
||||
let marketCap = '-';
|
||||
let yearHigh = '-';
|
||||
let yearLow = '-';
|
||||
let dayHigh = '-';
|
||||
let dayLow = '-';
|
||||
|
||||
|
||||
let currentPrice = 0;
|
||||
let previousClose = '-';
|
||||
@ -78,10 +75,6 @@ if (progressYearPriceValue < currentPrice) {
|
||||
*/
|
||||
|
||||
marketCap = '-';
|
||||
yearHigh = '-';
|
||||
yearLow = '-';
|
||||
dayHigh = '-';
|
||||
dayLow = '-';
|
||||
|
||||
currentPrice = '-';
|
||||
previousClose = '-';
|
||||
@ -103,11 +96,6 @@ pe = stockQuote?.pe;
|
||||
|
||||
beta = stockQuote?.beta;
|
||||
|
||||
dayLow = stockQuote?.dayLow?.toFixed(2);
|
||||
dayHigh = stockQuote?.dayHigh?.toFixed(2);
|
||||
yearLow = stockQuote?.yearLow?.toFixed(2);
|
||||
yearHigh = stockQuote?.yearHigh?.toFixed(2);
|
||||
|
||||
alpha = quantStats[$stockTicker?.toUpperCase()]?.Alpha;
|
||||
|
||||
/*
|
||||
@ -156,79 +144,118 @@ updateYearRange()
|
||||
</div>
|
||||
|
||||
{#if Object?.keys(quantStats)?.length !== 0}
|
||||
|
||||
|
||||
<!--Start Widget-->
|
||||
<div class="w-full mt-5 mb-5 flex justify-start items-center">
|
||||
<div class="w-full grid grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 gap-y-3 gap-x-3 ">
|
||||
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#09090B] border border-gray-800 rounded-lg h-auto">
|
||||
<div class="flex flex-col items-center w-full p-3">
|
||||
<span class="font-medium text-white text-xl font-semibold">YTD Return</span>
|
||||
<div class="grid grid-cols-3 w-full mt-2">
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">{$stockTicker}</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["YTD %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats[$stockTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats[$stockTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-white">
|
||||
vs.
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">SPY</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats['SPY']["YTD %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats['SPY']["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats['SPY']["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#09090B] border border-gray-800 rounded-lg h-auto">
|
||||
<div class="flex flex-col items-center w-full p-3">
|
||||
<span class="font-medium text-white text-xl font-semibold">1-Year Return</span>
|
||||
<div class="grid grid-cols-3 w-full mt-2">
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">{$stockTicker}</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["1Y %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats[$stockTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats[$stockTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-white">
|
||||
vs.
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">SPY</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats['SPY']["1Y %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats['SPY']["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats['SPY']["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex flex-row items-center flex-wrap w-full px-3 sm:px-5 bg-[#09090B] border border-gray-800 rounded-lg h-auto">
|
||||
<div class="flex flex-col items-center w-full p-3">
|
||||
<span class="font-medium text-white text-xl font-semibold">3-Year Return</span>
|
||||
<div class="grid grid-cols-3 w-full mt-2">
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">{$stockTicker}</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats[$stockTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats[$stockTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-white">
|
||||
vs.
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<span class="text-center text-white font-semibold">SPY</span>
|
||||
<span class="text-center text-[1rem] sm:text-lg font-semibold mt-1">
|
||||
{#if quantStats['SPY']["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#22C55E]">+{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#F71F4F] ">{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--End Widget-->
|
||||
|
||||
|
||||
<div class="grid grid-cols-1 gap-2 mt-10">
|
||||
|
||||
<div class="flex justify-start items-start w-full m-auto">
|
||||
<table class="table table-sm table-pin-rows table-compact pb-2 text-start flex justify-start items-center w-full px-3 m-auto ">
|
||||
<tbody class="shadow-md">
|
||||
<!-- row 1 -->
|
||||
<tr class="text-white ">
|
||||
{#if $screenWidth <= 550}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Day Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<div class="flex flex-col items-start">
|
||||
<div class="flex justify-between w-full mb-1.5">
|
||||
<span class="text-start">{dayLow}</span>
|
||||
<span class="text-end">{dayHigh}</span>
|
||||
</div>
|
||||
<div class="flex justify-center w-full">
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 w-full bg-white h-[4px]" min={dayLow} value={currentPrice} max={dayHigh} style="flex-direction: row-reverse" />
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{:else}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Day Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
{dayLow}
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<!--<span class="text-center flex justify-center items-center ">158.8</span>-->
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 bg-white w-[200px] sm:w-full h-[4px]" min={dayLow} value={currentPrice} max={dayHigh} />
|
||||
</td>
|
||||
<td class="bg-[#09090B] ">
|
||||
{dayHigh}
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
<!--2 row -->
|
||||
<tr class="text-white bg-[#09090B]">
|
||||
{#if $screenWidth < 640}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Year Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<div class="flex flex-col items-start">
|
||||
<div class="flex justify-between w-full mb-1.5">
|
||||
<span class="text-start">{yearLow}</span>
|
||||
<span class="text-end">{yearHigh}</span>
|
||||
</div>
|
||||
<div class="flex justify-center w-full">
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 bg-white w-[200px] sm:w-full h-[4px]" min={yearLow} value={currentPrice} max={yearHigh} style="flex-direction: row-reverse" />
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{:else}
|
||||
<td class="text-start text-white font-medium">
|
||||
1-Year Range
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
{yearLow}
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
<progress class="progress [&::-webkit-progress-value]:bg-blue-600 [&::-moz-progress-bar]:bg-blue-600 w-full bg-white h-[4px]" min={yearLow} value={currentPrice} max={yearHigh} />
|
||||
</td>
|
||||
<td class="bg-[#09090B]">
|
||||
{yearHigh}
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
@ -278,7 +305,8 @@ updateYearRange()
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{#if $stockTicker in quantStats && Object.keys(quantStats[$stockTicker]).length > 0}
|
||||
|
||||
@ -363,14 +391,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Cumulative Return %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{abbreviateNumber(quantStats[$stockTicker?.toUpperCase()]["Cumulative Return %"])}%</span>
|
||||
<span class="text-[#22C55E] ">+{abbreviateNumber(quantStats[$stockTicker?.toUpperCase()]["Cumulative Return %"])}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{abbreviateNumber(quantStats[$stockTicker?.toUpperCase()]["Cumulative Return %"])}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-white text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Cumulative Return %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Cumulative Return %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Cumulative Return %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Cumulative Return %"]}% </span>
|
||||
{/if}
|
||||
@ -383,14 +411,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["CAGR %"] >=0}
|
||||
<span class="text-[#10DB06]">+{quantStats[$stockTicker?.toUpperCase()]["CAGR %"]}%</span>
|
||||
<span class="text-[#22C55E]">+{quantStats[$stockTicker?.toUpperCase()]["CAGR %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F]">{quantStats[$stockTicker?.toUpperCase()]["CAGR %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["CAGR %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["CAGR %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["CAGR %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["CAGR %"]}% </span>
|
||||
{/if}
|
||||
@ -427,14 +455,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-start text-white text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Max Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Max Drawdown"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Max Drawdown"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Max Drawdown"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class=" text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Max Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Max Drawdown"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Max Drawdown"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Max Drawdown"]}% </span>
|
||||
{/if}
|
||||
@ -535,14 +563,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Expected Daily %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Daily %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Daily %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Expected Daily %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Daily %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Daily %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Daily %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Daily %"]}% </span>
|
||||
{/if}
|
||||
@ -555,14 +583,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Expected Monthly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Monthly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Monthly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Expected Monthly %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Monthly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Monthly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Monthly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Monthly %"]}% </span>
|
||||
{/if}
|
||||
@ -575,14 +603,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Expected Yearly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Yearly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Yearly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Expected Yearly %"]}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Yearly %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Yearly %"]}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Yearly %"]}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Yearly %"]}% </span>
|
||||
{/if}
|
||||
@ -619,14 +647,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Daily Value-at-Risk %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Daily Value-at-Risk %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -639,14 +667,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Expected Shortfall (cVaR) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -757,14 +785,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-start text-end text-sm sm:text-[1rem]">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["MTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["MTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["MTD %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["MTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["MTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -777,14 +805,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["3M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["3M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["3M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["3M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["3M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["3M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["3M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["3M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -797,79 +825,20 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["6M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["6M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["6M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["6M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["6M %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["6M %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["6M %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["6M %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
YTD
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["YTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["YTD %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["YTD %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["YTD %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
1Y
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["1Y %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["1Y %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["1Y %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["1Y %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-start text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
3Y (ann.)
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["3Y (ann.) %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="text-white odd:bg-[#27272A] font-semibold">
|
||||
<td class="text-starttext-sm sm:text-[1rem] whitespace-nowrap">
|
||||
@ -877,14 +846,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-start text-end text-sm">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Best Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Best Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Best Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Best Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Best Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -897,14 +866,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Day %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Day %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -916,17 +885,17 @@ updateYearRange()
|
||||
Best Month
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Best Month %"] >=0}
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Best Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% </span>
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Best Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Day %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Day %"]?.toFixed(2)}%</span>
|
||||
{#if quantStats['SPY']["Best Month %"] >=0}
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Best Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Day %"]?.toFixed(2)}% </span>
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Best Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
@ -937,14 +906,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Worst Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Worst Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -957,14 +926,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Best Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Best Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Best Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Best Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Best Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -977,14 +946,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Worst Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Worst Year %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Worst Year %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Worst Year %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Worst Year %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -997,14 +966,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-start text-end ttext-sm sm:text-[1rem]">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Avg. Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Avg. Drawdown"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -1054,14 +1023,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-start text-end text-sm sm:text-[1rem]">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Avg. Up Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Avg. Up Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
@ -1074,14 +1043,14 @@ updateYearRange()
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats[$stockTicker?.toUpperCase()]["Avg. Down Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats[$stockTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats[$stockTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats[$stockTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-end text-sm sm:text-[1rem] whitespace-nowrap">
|
||||
{#if quantStats['SPY']["Avg. Down Month %"] >=0}
|
||||
<span class="text-[#10DB06] ">+{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
<span class="text-[#22C55E] ">+{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}%</span>
|
||||
{:else}
|
||||
<span class="text-[#FF2F1F] ">{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}% </span>
|
||||
{/if}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user