| - 1-Day Range - | -
-
-
-
- {dayLow}
- {dayHigh}
-
-
-
-
- |
- {:else}
- - 1-Day Range - | -- {dayLow} - | -- - - | -- {dayHigh} - | - {/if} -
| - 1-Year Range - | -
-
-
-
- {yearLow}
- {yearHigh}
-
-
-
-
- |
- {:else}
- - 1-Year Range - | -- {yearLow} - | -- - | -- {yearHigh} - | - {/if} -
| Mkt Cap | -${marketCap} | -Volume | -{volume} | -
| Price | -${currentPrice} | -Prev. Close | -${previousClose} | -
| Alpha | -- {typeof alpha !== 'undefined' ? alpha : '-'} - | -Beta | -- {typeof beta !== 'undefined' && !isNaN(beta) ? beta?.toFixed(2) : '-'} - | -
| EPS | -{eps} | -PE | -{pe} | -
| Started | -Recovered | -Drawdown | -Days | -
|---|---|---|---|
| - {new Date(item['Started']).toLocaleString('en-US', { month: 'short', day: 'numeric', year: 'numeric', daySuffix: '2-digit' })} - | -- {#if ongoingDD(item['Recovered']) === true} - continuing - {:else} - {new Date(item['Recovered']).toLocaleString('en-US', { month: 'short', day: 'numeric', year: 'numeric', daySuffix: '2-digit' })} - {/if} - | -- {item['Drawdown']?.toFixed(2)}% - | -- {item['Days']} - | -
- Comparison of company stats against the S&P500 Index. -
- - - Time Period between {new Date(quantStats[$etfTicker?.toUpperCase()]["Start Period"]).toLocaleString('en-US', { month: 'long', day: 'numeric', year: 'numeric', daySuffix: '2-digit' })} - - - {new Date(quantStats[$etfTicker?.toUpperCase()]["End Period"]).toLocaleString('en-US', { month: 'long', day: 'numeric', year: 'numeric', daySuffix: '2-digit' })} - - - -| - Metric - | -- {$etfTicker} - | -- S&P500 - | -
|---|---|---|
| - Cumulative Return - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Cumulative Return %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Cumulative Return %"]}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Cumulative Return %"]}% - {/if} - | -- {#if quantStats['SPY']["Cumulative Return %"] >=0} - +{quantStats['SPY']["Cumulative Return %"]}% - {:else} - {quantStats['SPY']["Cumulative Return %"]}% - {/if} - | -
| - Compound Annual Growth Rate (CAGR) - | -- {#if quantStats[$etfTicker?.toUpperCase()]["CAGR %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["CAGR %"]}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["CAGR %"]}% - {/if} - | -- {#if quantStats['SPY']["CAGR %"] >=0} - +{quantStats['SPY']["CAGR %"]}% - {:else} - {quantStats['SPY']["CAGR %"]}% - {/if} - | -
| - Sharpe - | -- {quantStats[$etfTicker?.toUpperCase()]["Sharpe"]?.toFixed(2)} - | -- {quantStats['SPY']["Sharpe"]?.toFixed(2)} - | -
| - Sortino - | -- {quantStats[$etfTicker?.toUpperCase()]["Sortino"]?.toFixed(2)} - | -- {quantStats['SPY']["Sortino"]?.toFixed(2)} - | -
| - Max Drawdown - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Max Drawdown"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Max Drawdown"]}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Max Drawdown"]}% - {/if} - | -- {#if quantStats['SPY']["Max Drawdown"] >=0} - +{quantStats['SPY']["Max Drawdown"]}% - {:else} - {quantStats['SPY']["Max Drawdown"]}% - {/if} - | -
| - Longest Drawdown Days - | -- {quantStats[$etfTicker?.toUpperCase()]["Longest DD Days"]} - | -- {quantStats['SPY']["Longest DD Days"]} - | -
| - Volatility (ann.) - | -- {quantStats[$etfTicker?.toUpperCase()]["Volatility (ann.) %"]}% - | -- {quantStats['SPY']["Volatility (ann.) %"]}% - | -
| - Correlation - | -- {quantStats[$etfTicker?.toUpperCase()]["Correlation"]}% - | -- {quantStats['SPY']["Correlation"]} - | -
| - R^2 - | -- {quantStats[$etfTicker?.toUpperCase()]["R^2"]} - | -- {quantStats['SPY']["R^2"]} - | -
| - Calmar - | -- {quantStats[$etfTicker?.toUpperCase()]["Calmar"]} - | -- {quantStats['SPY']["Calmar"]} - | -
| - Skew - | -- {quantStats[$etfTicker?.toUpperCase()]["Skew"]?.toFixed(2)} - | -- {quantStats['SPY']["Skew"]?.toFixed(2)} - | -
| - Kurtosis - | -- {quantStats[$etfTicker?.toUpperCase()]["Kurtosis"]?.toFixed(2)} - | -- {quantStats['SPY']["Kurtosis"]?.toFixed(2)} - | -
| - Expected Daily - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Expected Daily %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Expected Daily %"]}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Expected Daily %"]}% - {/if} - | -- {#if quantStats['SPY']["Expected Daily %"] >=0} - +{quantStats['SPY']["Expected Daily %"]}% - {:else} - {quantStats['SPY']["Expected Daily %"]}% - {/if} - | -
| - Expected Monthly - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Expected Monthly %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Expected Monthly %"]}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Expected Monthly %"]}% - {/if} - | -- {#if quantStats['SPY']["Expected Monthly %"] >=0} - +{quantStats['SPY']["Expected Monthly %"]}% - {:else} - {quantStats['SPY']["Expected Monthly %"]}% - {/if} - | -
| - Expected Yearly - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Expected Yearly %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Expected Yearly %"]}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Expected Yearly %"]}% - {/if} - | -- {#if quantStats['SPY']["Expected Yearly %"] >=0} - +{quantStats['SPY']["Expected Yearly %"]}% - {:else} - {quantStats['SPY']["Expected Yearly %"]}% - {/if} - | -
| - Kelly Criterion - | -- {quantStats[$etfTicker?.toUpperCase()]["Kelly Criterion %"]}% - | -- {quantStats['SPY']["Kelly Criterion %"]}% - | -
| - Risk of Ruin - | -- {quantStats[$etfTicker?.toUpperCase()]["Risk of Ruin %"]}% - | -- {quantStats['SPY']["Risk of Ruin %"]}% - | -
| - Daily Value-at-Risk - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Daily Value-at-Risk %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Daily Value-at-Risk %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Daily Value-at-Risk %"] >=0} - +{quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Daily Value-at-Risk %"]?.toFixed(2)}% - {/if} - | -
| - Expected Shortfall (cVaR) - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Expected Shortfall (cVaR) %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Expected Shortfall (cVaR) %"] >=0} - +{quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Expected Shortfall (cVaR) %"]?.toFixed(2)}% - {/if} - | -
| - Max Consecutive Wins - | -- {quantStats[$etfTicker?.toUpperCase()]["Max Consecutive Wins"]} - | -- {quantStats['SPY']["Max Consecutive Wins"]} - | -
| - Max Consecutive Losses - | -- {quantStats[$etfTicker?.toUpperCase()]["Max Consecutive Losses"]} - | -- {quantStats['SPY']["Max Consecutive Losses"]} - | -
| - Gain/Pain Ratio - | -- {quantStats[$etfTicker?.toUpperCase()]["Gain/Pain Ratio"]?.toFixed(2)} - | -- {quantStats['SPY']["Gain/Pain Ratio"]?.toFixed(2)} - | -
| - Gain/Pain (1M) - | -- {quantStats[$etfTicker?.toUpperCase()]["Gain/Pain (1M)"]?.toFixed(2)} - | -- {quantStats['SPY']["Gain/Pain (1M)"]?.toFixed(2)} - | -
| - Payoff Ratio - | -- {quantStats[$etfTicker?.toUpperCase()]["Payoff Ratio"]?.toFixed(2)} - | -- {quantStats['SPY']["Payoff Ratio"]?.toFixed(2)} - | -
| - Profit Factor - | -- {quantStats[$etfTicker?.toUpperCase()]["Profit Factor"]?.toFixed(2)} - | -- {quantStats['SPY']["Profit Factor"]?.toFixed(2)} - | -
| - Outlier Win Ratio - | -- {quantStats[$etfTicker?.toUpperCase()]["Outlier Win Ratio"]?.toFixed(2)} - | -- {quantStats['SPY']["Outlier Win Ratio"]?.toFixed(2)} - | -
| - Outlier Loss Ratio - | -- {quantStats[$etfTicker?.toUpperCase()]["Outlier Loss Ratio"]?.toFixed(2)} - | -- {quantStats['SPY']["Outlier Loss Ratio"]?.toFixed(2)} - | -
| - MTD - | -- {#if quantStats[$etfTicker?.toUpperCase()]["MTD %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["MTD %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["MTD %"] >=0} - +{quantStats['SPY']["MTD %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["MTD %"]?.toFixed(2)}% - {/if} - | -
| - 3M - | -- {#if quantStats[$etfTicker?.toUpperCase()]["3M %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["3M %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["3M %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["3M %"] >=0} - +{quantStats['SPY']["3M %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["3M %"]?.toFixed(2)}% - {/if} - | -
| - 6M - | -- {#if quantStats[$etfTicker?.toUpperCase()]["6M %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["6M %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["6M %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["6M %"] >=0} - +{quantStats['SPY']["6M %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["6M %"]?.toFixed(2)}% - {/if} - | -
| - YTD - | -- {#if quantStats[$etfTicker?.toUpperCase()]["YTD %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["YTD %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["YTD %"] >=0} - +{quantStats['SPY']["YTD %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["YTD %"]?.toFixed(2)}% - {/if} - | -
| - 1Y - | -- {#if quantStats[$etfTicker?.toUpperCase()]["1Y %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["1Y %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["1Y %"] >=0} - +{quantStats['SPY']["1Y %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["1Y %"]?.toFixed(2)}% - {/if} - | -
| - 3Y (ann.) - | -- {#if quantStats[$etfTicker?.toUpperCase()]["3Y (ann.) %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["3Y (ann.) %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["3Y (ann.) %"] >=0} - +{quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["3Y (ann.) %"]?.toFixed(2)}% - {/if} - | -
| - Best Day - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Best Day %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Best Day %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Best Day %"] >=0} - +{quantStats['SPY']["Best Day %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Best Day %"]?.toFixed(2)}% - {/if} - | -
| - Worst Day - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Worst Day %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Worst Day %"] >=0} - +{quantStats['SPY']["Worst Day %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Worst Day %"]?.toFixed(2)}% - {/if} - | -
| - Best Month - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Worst Day %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Worst Day %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Worst Day %"] >=0} - +{quantStats['SPY']["Worst Day %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Worst Day %"]?.toFixed(2)}% - {/if} - | -
| - Worst Month - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Worst Month %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Worst Month %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Worst Month %"] >=0} - +{quantStats['SPY']["Worst Month %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Worst Month %"]?.toFixed(2)}% - {/if} - | -
| - Best Year - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Best Year %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Best Year %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Best Year %"] >=0} - +{quantStats['SPY']["Best Year %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Best Year %"]?.toFixed(2)}% - {/if} - | -
| - Worst Year - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Worst Year %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Worst Year %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Worst Year %"] >=0} - +{quantStats['SPY']["Worst Year %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Worst Year %"]?.toFixed(2)}% - {/if} - | -
| - Avg. Drawdown - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Avg. Drawdown"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Avg. Drawdown"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Avg. Drawdown"] >=0} - +{quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Avg. Drawdown"]?.toFixed(2)}% - {/if} - | -
| - Avg. Drawdown Days - | -- {quantStats[$etfTicker?.toUpperCase()]["Avg. Drawdown Days"]} - | -- {quantStats['SPY']["Avg. Drawdown Days"]} - | -
| - Recovery Factor - | -- {quantStats[$etfTicker?.toUpperCase()]["Recovery Factor"]?.toFixed(2)} - | -- {quantStats['SPY']["Recovery Factor"]?.toFixed(2)} - | -
| - Ulcer Index - | -- {quantStats[$etfTicker?.toUpperCase()]["Ulcer Index"]?.toFixed(2)} - | -- {quantStats['SPY']["Ulcer Index"]?.toFixed(2)} - | -
| - Avg. Up Month - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Avg. Up Month %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Avg. Up Month %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Avg. Up Month %"] >=0} - +{quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Avg. Up Month %"]?.toFixed(2)}% - {/if} - | -
| - Avg. Down Month - | -- {#if quantStats[$etfTicker?.toUpperCase()]["Avg. Down Month %"] >=0} - +{quantStats[$etfTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}% - {:else} - {quantStats[$etfTicker?.toUpperCase()]["Avg. Down Month %"]?.toFixed(2)}% - {/if} - | -- {#if quantStats['SPY']["Avg. Down Month %"] >=0} - +{quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}% - {:else} - {quantStats['SPY']["Avg. Down Month %"]?.toFixed(2)}% - {/if} - | -
| - Win Days - | -- {quantStats[$etfTicker?.toUpperCase()]["Win Days %"]?.toFixed(2)}% - | -- {quantStats['SPY']["Win Days %"]?.toFixed(2)}% - | -
| - Win Month - | -- {quantStats[$etfTicker?.toUpperCase()]["Win Month %"]?.toFixed(2)}% - | -- {quantStats['SPY']["Win Month %"]?.toFixed(2)}% - | -
| - Win Quarter - | -- {quantStats[$etfTicker?.toUpperCase()]["Win Quarter %"]?.toFixed(2)}% - | -- {quantStats['SPY']["Win Quarter %"]?.toFixed(2)}% - | -
| - Win Year - | -- {quantStats[$etfTicker?.toUpperCase()]["Win Year %"]?.toFixed(2)}% - | -- {quantStats['SPY']["Win Year %"]?.toFixed(2)}% - | -