Cached score snapshot

US.ECL · Ecolab

110分制 45.6/110;5D動能v2 4/50;排序分 49.6/160 · Incomplete inputs

Ranking score 49.6/160
Main score 45.6/110
5D momentum v2 4/50
Rank #294
Setup grade F 22.2

Score breakdown

避免

Medium twelvedata

Score and price trend

F 22.2 Low sample confidence

Main score, 5D momentum v2, close price, and improving or exit-review turn signals are plotted from archived daily snapshots.

Move the mouse over the chart lines to inspect readings.

0 40 80 110 Score 06-17 07-22 08-24 09-25 10-23 $252.67$286.72$320.76 Price Projection date
Historical projection
Model Median P25/P75 歷史相似情境上漲比例 Down5 Actual / compare
Rolling DOE best · score 2.34 · anchors 120 -0.42% -1.95% / +1.63% 43.8% 1.3% Actual outcome pending · 0 / 3 bars observed
30D observation +3.76% -4.22% / +11.13% 63.8% 20% Actual outcome pending · 0 / 30 bars observed
Historical projection 10D n=160 -0.40% -2.10% / +1.88% 44.4% 3.1% Actual outcome pending · 0 / 10 bars observed

歷史情境統計基於已存檔相似 setup;圖中投影中位線為統計中位數的線性插值展示,並非價格路徑預測或買賣建議。

2026-06-17 → 2026-10-23 · 90 archived points · 2 Improving turn signal · 5 Deteriorating signal

Summary

score_with_momentum_v2 = main score + 5D momentum v2

Ranking score 49.6
Display grade 避免
Model version cursor_18_27_news_v2_160
Main score 45.6/110 (避免)
5D momentum v2 4/50 (弱)
Score with momentum v2 49.6/160 (低排序)
Risk level Medium

Audit trace

Full calculation detail

Calculation detail · 8 sections

Incomplete score

此 snapshot 已計出評分,但以下輸入仍不完整;缺失維度以 0 分處理,請留意 audit 明细。

  • VIX_MISSING: VIX market context is required for market environment scoring

Market inputs

Bar count 60
ma20 281.008
ma50 278.3826
close 276.18
prevClose 271.6
avgVolume20 1466554
volumeRatio 0.88
changePercent 1.69

Metrics snapshot

close 276.18
volume 1289082
changePercent 1.69

110-point main rating

基本面5 + 資金流20 + 市場環境15 + 催化劑20 + 風險管理10 + 技術信號30 + 情緒10

Main score 45.6/110
Main rating 避免
5D momentum v2 4/50
Score with momentum v2 49.6/160
Formula score_with_momentum_v2 = main_score + momentum_5d_v2_score

基本面 — 3.2/5 · 一般

Dimension score 3.2/5
Dimension grade 一般

Sub-items

pbPoints 0.2
pePoints 0.2
epsPoints 0
roePoints 0.75
debtPoints 0.4
marginPoints 0.4
turnoverUsdM 356.0187
volumePoints 0.5
revenuePoints 0
dividendPoints 0.3
marketCapPoints 0.5

資金流 — 6/20 · 較差

Dimension score 6/20
Dimension grade 較差

Sub-items

cmfPoints 1.6
mfiPoints 0.8
obvPoints 0.8
vwapPoints 0.8

institutional

score 2

details

source optional-neutral

warning

code INSTITUTIONAL_DATA_OPTIONAL
symbol US.ECL
message Institutional ownership is unavailable; neutral 2/4 money-flow treatment used.
optional true
holderCount n/a
holderPoints 2
top10ShareRatio n/a
concentrationPenalty 0
institutionPoints 2

市場環境 — 7.6/15 · 較差

Dimension score 7.6/15
Dimension grade 較差

Sub-items

vix

score 0

details

source twelvedata+fred
missing true
vixClose n/a

trend

score 2.8

details

qqq

ma20 715.668
ma50 710.4064
name QQQ
close 714.88
points 1.4

spy

ma20 766.879
ma50 758.6164
name SPY
close 764.29
points 1.4
source twelvedata+fred
atrPct 1.9752
atrPoints 4
cciPoints 0.8
vixPoints 0
marketTrendPoints 2.8

催化劑 — 2/20 · 較差

Dimension score 2/20
Dimension grade 較差

Sub-items

catalyst

score 2

details

source finnhub_news_keyword_model
articleCount 3
catalystCount 0
catalystPoints 2

風險管理 — 7.6/10 · 良好

Dimension score 7.6/10
Dimension grade 良好

Sub-items

position

score 1.8

details

atrPct 1.9752
turnoverUsdM 356.0187
liquidityPoints 0.6
volatilityPoints 1.2
rrPoints 1.4

stopLevels

symbol US.ECL
rr_range 1:1.0-1:2.5
risk_profile 中等
stop_loss_price 265.27

strength_details

ma_score 2
atr_score 2.5
rsi_score 1
macd_score 1
volume_score 1
market_adjustment 1
risk_reward_ratio 1.3
stop_loss_percent 4
take_profit_price 289.989
target_multiplier 1.6
technical_strength 1.43
take_profit_percent 5
positionPoints 1.8
stopLossPoints 2.4

diversification

score 2

details

method sector concentration proxy; no portfolio holdings used
sector Materials
concentratedSectorPenalty 0
riskRewardRatio 1.2657
stopLossPercent 3.9503
diversificationPoints 2

技術信號 — 15.1/30 · 較差

Dimension score 15.1/30
Dimension grade 較差

Sub-items

bbPoints 2.4
adxPoints 3
sarPoints 1.2
vcpPoints 1
macdPoints 0.8

vcpPayload

vcp_pass false
vcp_score 1
vcp_reason 跌縮量(近10日4日);靠近20日高位;Ready=N;Confirm=N

vcp_metrics

up_days 2
vol_ref 1368243.3333
down_days 7
vcp_ready false
above_ma50 false
avg_vol_10 1209240
avg_vol_20 1445815
avg_vol_30 1368243.3333
range_pct_10 0.0777
range_pct_20 0.0971
range_pct_30 0.0971
up_expand_ok false
lookback_used 59
near_20d_high true
contraction_ok false
down_shrink_ok true
up_expand_days 0
breakout_20d_ok false
vol_ratio_10_30 0.8838
dist_to_20d_high 0.0648
down_shrink_days 4
breakout_level_20d 295.33
vcp_breakout_confirm false
contraction_ratio_10_30 0.8008
vcp_name_en Volatility Contraction Pattern
vcp_name_zh 波動收縮形態
vol_contraction false
kdjAdxPoints 0.7
rsiKdjPoints 2.4
volumeWeight 2
maCrossPoints 2.4
shortRsiPoints 0
shortMacdPoints 0.4
volConfirmPoints 0
volumePointsTechnical 0.8

情緒分析 — 4/10 · 較差

Dimension score 4/10
Dimension grade 較差

Sub-items

sentiment

score 4

details

source finnhub_news_keyword_model
articleCount 3
negativeHits 0
positiveHits 1
sentimentScoreRaw 0.8

sentimentData

raw {"id":141363227,"url":"https://finnhub.io/api/news?id=fb09e51bbd43a7dbaa03acbe027a97f5ea7e5d4e38c7baa62ca3417c6bd80c05","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"Ecolab (ECL) reported earnings 30 days ago. What's next for the stock? We take a look at earnings estimates for some clues.","category":"company","datetime":1787848211,"headline":"Ecolab (ECL) Up 2.4% Since Last Earnings Report: Can It Continue?"}, {"id":141276954,"url":"https://finnhub.io/api/news?id=6861c35f110b7bed5fe6492f5909813e19e41e42ab6228bea0741d8c7c2e4fe3","image":"https://www.chartmill.com/images/uploads/CM_Breakout_Stocks_Small_free_bb09e243c7.webp","source":"ChartMill","related":"ECL","summary":"ECOLAB (ECL): Technical Rating 7, Setup Quality 9, potential breakout. Rising moving averages and tight consolidation offer defined entry and risk.","category":"company","datetime":1787385678,"headline":"Ecolab (NYSE:ECL) Flashes a High-Quality Technical Breakout Setup"}, {"id":141192252,"url":"https://finnhub.io/api/news?id=ce4208f6f9ffb7c9e4d96b831e77b0eda60e24ffc91fffb197e19e3c7c35e381","image":"https://www.chartmill.com/images/uploads/thumbnail_article_luc_kroeze_c1f44c837d.webp","source":"ChartMill","related":"ECL","summary":"Discover why Ecolab (ECL) passes quality investing screens: strong profitability, high ROIC, solid growth, and manageable debt—despite a premium valuation.","category":"company","datetime":1786530673,"headline":"Ecolab (NYSE:ECL) Checks the Boxes for Quality Investing"}
raw_source {"id":142091220,"url":"https://finnhub.io/api/news?id=3b25c7758098d2e2e83b4a3df7b4ca76db0ada28ba2f63fcd051f9886485f820","image":"https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1072593728/image_1072593728.jpg?io=getty-c-w1536","source":"SeekingAlpha","related":"ECL","summary":"Read this week's dividend recap for Dividend Champions, Contenders & Challengers—track dividend changes, upcoming ex-dividend dates & pay dates.","category":"company","datetime":1789150194,"headline":"Dividend Champion, Contender, And Challenger Highlights: Week September 13"}, {"id":142063424,"url":"https://finnhub.io/api/news?id=5943ebc2dcacd50994f75eab73696f0135c70c26e21548bbef5cad5ac0ed179b","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"ECL benefits from high-tech growth, digital expansion, innovation and solid Q2 results, while cost fluctuations remain a key concern.","category":"company","datetime":1789059420,"headline":"Here's Why You Should Retain Ecolab Stock in Your Portfolio Now"}, {"id":141455344,"url":"https://finnhub.io/api/news?id=d46256eb77f53719e8ffcbd51e0286d961b50488c072c1107f726cbb9b477aa9","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"Ecolab has lagged behind the Nasdaq Composite over the past year, and analysts remain reasonably bullish about the stock’s growth potential.","category":"company","datetime":1788526423,"headline":"Is Ecolab Stock Underperforming the Nasdaq?"}, {"id":141363227,"url":"https://finnhub.io/api/news?id=fb09e51bbd43a7dbaa03acbe027a97f5ea7e5d4e38c7baa62ca3417c6bd80c05","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"Ecolab (ECL) reported earnings 30 days ago. What's next for the stock? We take a look at earnings estimates for some clues.","category":"company","datetime":1787848211,"headline":"Ecolab (ECL) Up 2.4% Since Last Earnings Report: Can It Continue?"}, {"id":141363228,"url":"https://finnhub.io/api/news?id=9f20603aea320899204e0f437ee9ccf8276c0184fbb391dfd01a475698107a21","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"The largest holding in his portfolio also helps fund the Gates Foundation.","category":"company","datetime":1787699220,"headline":"Bill Gates owns $25 billion in blue-chip S&P 500 stock"}, {"id":141363226,"url":"https://finnhub.io/api/news?id=081b02ddb27659b9748fe217e0230d173c1c0a4dd660e12b63e0c4e438902642","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"ST. PAUL, Minn., August 25, 2026--Ecolab Inc. will host its 2026 Investor Day in conjunction with the SC26 Supercomputing Conference on Tuesday, November 17, 2026, in Chicago.","category":"company","datetime":1787669100,"headline":"Ecolab to Host 2026 Investor Day at SC26 Supercomputing Conference"}, {"id":141276954,"url":"https://finnhub.io/api/news?id=6861c35f110b7bed5fe6492f5909813e19e41e42ab6228bea0741d8c7c2e4fe3","image":"https://www.chartmill.com/images/uploads/CM_Breakout_Stocks_Small_free_bb09e243c7.webp","source":"ChartMill","related":"ECL","summary":"ECOLAB (ECL): Technical Rating 7, Setup Quality 9, potential breakout. Rising moving averages and tight consolidation offer defined entry and risk.","category":"company","datetime":1787385678,"headline":"Ecolab (NYSE:ECL) Flashes a High-Quality Technical Breakout Setup"}, {"id":141270706,"url":"https://finnhub.io/api/news?id=edf60a693dca5911f508ad40314f31dc2f4b0e11e4d78efd6eeb7af3febf7341","image":"https://cdn.benzinga.com/files/images/story/2025/11/06/insider_trade_2.jpg?width=2048&height=1536","source":"Benzinga","related":"ECL","summary":"Revealing a significant insider sell on August 20, Christophe Beck, Chairman at Ecolab (NYSE:ECL), as per the latest SEC filing.\nWhat Happened: A Form 4 filing with the U.S. Securities and Exchange Commission on","category":"company","datetime":1787310175,"headline":"Chairman Of Ecolab Sold $5.00M In Stock"}, {"id":141280840,"url":"https://finnhub.io/api/news?id=8e540ccfc2469f2c8f4eb3d505dced27bc017d519f3334dbcb0798248cf7ee91","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"Ecolab has underperformed the broader market, while analysts remain moderately optimistic, supported by earnings growth, raised guidance, and potential upside.","category":"company","datetime":1787230049,"headline":"Ecolab Stock: Is Wall Street Bullish or Bearish?"}, {"id":141280841,"url":"https://finnhub.io/api/news?id=87ce5e10879e78e694d610d1c5813f6f5ebaae1710d5e7c9c3fce42885699237","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"Ecolab's (ECL) projected commodity cost increase of high-single-digit percentage in H2 is manageable","category":"company","datetime":1787155839,"headline":"Ecolab's Projected Commodity Cost Increase in H2 Manageable, RBC Capital Markets Says"}, {"id":141279942,"url":"https://finnhub.io/api/news?id=03ce2c1f6002c307c2881862918ce1aa6d1c00e922dfedbe55e0d315ab2da745","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"ECL's $4.75B CoolIT deal expands its AI data-center cooling opportunity, but higher debt and financing costs raise execution risks.","category":"company","datetime":1787081640,"headline":"Ecolab's CoolIT Deal Raises AI Upside but Also Debt and Cost Risks"}, {"id":141280842,"url":"https://finnhub.io/api/news?id=91b85c9ee9d8c4e88a167866fa6889a238acf6539570019f928de326d9e8df42","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"ECL's accelerating High-Tech, Digital and Life Sciences growth supports its outlook, but rising debt and financing costs keep the buy case cautious.","category":"company","datetime":1787081340,"headline":"Is Ecolab Stock Worth Buying as Growth Rises but Debt Risk Builds?"}, {"id":141280843,"url":"https://finnhub.io/api/news?id=5984109624202e4a37f5a59ff6470ff83ffb021627566f8b3295cf00528504ec","image":"https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png","source":"Yahoo","related":"ECL","summary":"ECL's 12.2% three-month rally is backed by High-Tech, Digital and Life Sciences growth, firmer pricing and a higher 2026 earnings outlook.","category":"company","datetime":1787081040,"headline":"Ecolab Rallies 12.2% in 3 Months as High-Tech Growth Gains Momentum"}, {"id":141192252,"url":"https://finnhub.io/api/news?id=ce4208f6f9ffb7c9e4d96b831e77b0eda60e24ffc91fffb197e19e3c7c35e381","image":"https://www.chartmill.com/images/uploads/thumbnail_article_luc_kroeze_c1f44c837d.webp","source":"ChartMill","related":"ECL","summary":"Discover why Ecolab (ECL) passes quality investing screens: strong profitability, high ROIC, solid growth, and manageable debt—despite a premium valuation.","category":"company","datetime":1786530673,"headline":"Ecolab (NYSE:ECL) Checks the Boxes for Quality Investing"}
data_source finnhub_news_keyword_model
article_count 3
negative_hits 0
positive_hits 1
recomputed_at_score true
sentiment_score_raw 0.8
source_article_count 14
discarded_article_count 11
sentimentPoints 4

Dimension contribution

Dimension Raw Max Norm % Contrib
基本面 3.2 5/110 64% 3.2
資金流 6 20/110 30% 6
市場環境 7.6 15/110 50.67% 7.6
催化劑 2 20/110 10% 2
風險管理 7.6 10/110 76% 7.6
技術信號 15.1 30/110 50.33% 15.1
情緒分析 4 10/110 40% 4

5D momentum v2 breakdown

Cursor_18.25 5D momentum v2 0-50

5D momentum v2 4/50
ret_5d -0.01
max_score 50
max_total 50
raw_total 4
vcp_bonus 0
vol_ratio 0.8916
ret_points 0
vol_points 0
range_ratio 0.905
volat_points 0
day_range_pct 0.0163
model_version cursor_18_27_news_v2_160
available_bars 30
breakout_points 0
partial_history false
pullback_points 4
breakout_vol_bonus 0
first_breakout_20d false
return_window_days 5
first_breakout_bonus 0
breakout_quality_points 0

Risk management

level Medium
reason risk management score >= 6.5/10

position

score 1.8

details

atrPct 1.9752
turnoverUsdM 356.0187
liquidityPoints 0.6
volatilityPoints 1.2
rrPoints 1.4

stopLevels

symbol US.ECL
rr_range 1:1.0-1:2.5
risk_profile 中等
stop_loss_price 265.27

strength_details

ma_score 2
atr_score 2.5
rsi_score 1
macd_score 1
volume_score 1
market_adjustment 1
risk_reward_ratio 1.3
stop_loss_percent 4
take_profit_price 289.989
target_multiplier 1.6
technical_strength 1.43
take_profit_percent 5
positionPoints 1.8
stopLossPoints 2.4

diversification

score 2

details

method sector concentration proxy; no portfolio holdings used
sector Materials
concentratedSectorPenalty 0
riskRewardRatio 1.2657
stopLossPercent 3.9503
diversificationPoints 2

Calculation audit log

基本面分析總分: 3.2/5分
資金流分析總分: 6/20分
市場環境分析總分: 7.6/15分
催化劑分析: 2/20分
風險管理總分: 7.6/10分
技術信號分析總分: 15.1/30分
情緒分析: 4/10分
共振率(僅顯示不加分): 0%

Technical indicators

adx
value 100
atr
atr 5.455
rule ATR / current price; lower volatility scores higher
score 8
atr_pct 1.98
cci
rule Cursor_18.24 CCI bands
level 超買或超賣風險
score 2
value -84.96
cmf
rule Cursor_18.24 CMF bands
level 平衡
score 4
value 0.062
kdj
d 21.53
j 27.38
k 23.48
rule Cursor_18.24 K/D cross
score 4
signal 金叉
mfi
rule Cursor_18.24 MFI bands
level 超賣或超買風險
score 2
value 38.36
obv
rule Cursor_18.24 recent_slope vs previous_slope
score 2
trend 資金流出
value 8400882
recentSlope -665191.8
previousSlope 603630
rsi
value 42.18
sar
rule Cursor_18.24 Parabolic SAR
score 4
trend 下降
value 292.5032
position SAR喺價上
distancePct 5.91
previousTrend 下降
ma50
value 278.3826
macd
macd -1.1284
trend 看跌
signal 0.3277
histogram -1.4561
vwap
rule Cursor_18.24 VWAP 20D consecutive close
score 2
value 281.1904
position <VWAP
consecutiveAbove 0
volume
rule Cursor_18.24 volume ratio
level 無力
ratio 0.88
score 4
avgVolume 1466554
currentVolume 1289082
derived
ma20 281.008
ma50 278.3826
prevClose 271.6
avgVolume10 1199708
avgVolume20 1466554
changePercent 1.69
avgVolumeForScore 1466554
ma_cross
ma20 281.008
ma50 278.3826
rule Cursor_18.24 MA20/MA50 cross
cross 接近
score 6
prevMa20 281.012
prevMa50 278.4264
spreadPct 0.94
isVolumeBreakout false
bollinger
lower 270.5923
upper 291.4237
position 中間
rsi_short
value 36.22
macd_short
macd 0
trend 中性
signal 0
histogram 0
volume_ratio
ratio 0.88

Raw calculation JSON

{
  "risk": {
    "level": "Medium",
    "reason": "risk management score >= 6.5/10",
    "position": {
      "score": 1.8,
      "details": {
        "atrPct": 1.9751611983185318,
        "turnoverUsdM": 356.01865386917996,
        "liquidityPoints": 0.6,
        "volatilityPoints": 1.2
      }
    },
    "rrPoints": 1.4,
    "stopLevels": {
      "symbol": "US.ECL",
      "rr_range": "1:1.0-1:2.5",
      "risk_profile": "中等",
      "stop_loss_price": 265.27,
      "strength_details": {
        "ma_score": 2,
        "atr_score": 2.5,
        "rsi_score": 1,
        "macd_score": 1,
        "volume_score": 1
      },
      "market_adjustment": 1,
      "risk_reward_ratio": 1.3,
      "stop_loss_percent": 4,
      "take_profit_price": 289.989,
      "target_multiplier": 1.6,
      "technical_strength": 1.43,
      "take_profit_percent": 5
    },
    "positionPoints": 1.8,
    "stopLossPoints": 2.4,
    "diversification": {
      "score": 2,
      "details": {
        "method": "sector concentration proxy; no portfolio holdings used",
        "sector": "Materials",
        "concentratedSectorPenalty": 0
      }
    },
    "riskRewardRatio": 1.2657194775435379,
    "stopLossPercent": 3.9503223966370635,
    "diversificationPoints": 2
  },
  "total": {
    "max": 160,
    "result": 49.6,
    "formula": "score_with_momentum_v2 = main_score + momentum_5d_v2_score",
    "baseScore": 45.6,
    "modelVersion": "cursor_18_27_news_v2_160",
    "momentum5dScore": 4
  },
  "market": {
    "ma20": 281.008,
    "ma50": 278.3826,
    "close": 276.18,
    "prevClose": 271.6,
    "avgVolume20": 1466554,
    "volumeRatio": 0.88,
    "changePercent": 1.69
  },
  "sources": {
    "catalyst": "finnhub_news_keyword_model",
    "sentiment": "finnhub_news_keyword_model",
    "fundamentals": "fmp_stable",
    "institutional": null,
    "marketContext": "twelvedata+fred"
  },
  "barCount": 60,
  "momentum": {
    "max": 50,
    "result": 4,
    "details": {
      "ret_5d": -0.010001111230598436,
      "max_score": 50,
      "max_total": 50,
      "raw_total": 4,
      "vcp_bonus": 0,
      "vol_ratio": 0.8915953977514413,
      "ret_points": 0,
      "vol_points": 0,
      "range_ratio": 0.905045963186285,
      "volat_points": 0,
      "day_range_pct": 0.01629372569678201,
      "model_version": "cursor_18_27_news_v2_160",
      "available_bars": 30,
      "breakout_points": 0,
      "partial_history": false,
      "pullback_points": 4,
      "breakout_vol_bonus": 0,
      "first_breakout_20d": false,
      "return_window_days": 5,
      "first_breakout_bonus": 0,
      "breakout_quality_points": 0
    },
    "formula": "Cursor_18.25 5D momentum v2 0-50",
    "modelVersion": "cursor_18_27_news_v2_160"
  },
  "scoreMax": 110,
  "composite": {
    "max": 160,
    "result": 49.6,
    "formula": "Cursor_18.25 ranking score v2 (score_with_momentum_v2)",
    "weights": [
      {
        "raw": 3.2,
        "label": "基本面",
        "weight": "5/110",
        "normalized": 64,
        "contribution": 3.2
      },
      {
        "raw": 6,
        "label": "資金流",
        "weight": "20/110",
        "normalized": 30,
        "contribution": 6
      },
      {
        "raw": 7.6,
        "label": "市場環境",
        "weight": "15/110",
        "normalized": 50.67,
        "contribution": 7.6
      },
      {
        "raw": 2,
        "label": "催化劑",
        "weight": "20/110",
        "normalized": 10,
        "contribution": 2
      },
      {
        "raw": 7.6,
        "label": "風險管理",
        "weight": "10/110",
        "normalized": 76,
        "contribution": 7.6
      },
      {
        "raw": 15.1,
        "label": "技術信號",
        "weight": "30/110",
        "normalized": 50.33,
        "contribution": 15.1
      },
      {
        "raw": 4,
        "label": "情緒分析",
        "weight": "10/110",
        "normalized": 40,
        "contribution": 4
      }
    ],
    "modelVersion": "cursor_18_27_news_v2_160"
  },
  "momentumMax": 50,
  "scoreStatus": "incomplete",
  "standard110": {
    "rating": "避免",
    "result": 45.6,
    "details": [
      "基本面分析總分: 3.2/5分",
      "資金流分析總分: 6/20分",
      "市場環境分析總分: 7.6/15分",
      "催化劑分析: 2/20分",
      "風險管理總分: 7.6/10分",
      "技術信號分析總分: 15.1/30分",
      "情緒分析: 4/10分",
      "共振率(僅顯示不加分): 0%"
    ],
    "formula": "基本面5 + 資金流20 + 市場環境15 + 催化劑20 + 風險管理10 + 技術信號30 + 情緒10",
    "dimensionScores": {
      "催化劑": 2,
      "基本面": 3.2,
      "資金流": 6,
      "市場環境": 7.6,
      "情緒分析": 4,
      "技術信號": 15.1,
      "風險管理": 7.6
    },
    "dimensionDetails": {
      "催化劑": {
        "max": 20,
        "grade": "較差",
        "items": {
          "catalyst": {
            "score": 2,
            "details": {
              "source": "finnhub_news_keyword_model",
              "articleCount": 3,
              "catalystCount": 0
            }
          },
          "catalystPoints": 2
        }
      },
      "基本面": {
        "max": 5,
        "grade": "一般",
        "items": {
          "pbPoints": 0.2,
          "pePoints": 0.2,
          "epsPoints": 0,
          "roePoints": 0.75,
          "debtPoints": 0.4,
          "marginPoints": 0.4,
          "turnoverUsdM": 356.01865386917996,
          "volumePoints": 0.5,
          "revenuePoints": 0,
          "dividendPoints": 0.3,
          "marketCapPoints": 0.5
        },
        "source": "fmp_stable"
      },
      "資金流": {
        "max": 20,
        "grade": "較差",
        "items": {
          "cmfPoints": 1.6,
          "mfiPoints": 0.8,
          "obvPoints": 0.8,
          "vwapPoints": 0.8,
          "institutional": {
            "score": 2,
            "details": {
              "source": "optional-neutral",
              "warning": {
                "code": "INSTITUTIONAL_DATA_OPTIONAL",
                "symbol": "US.ECL",
                "message": "Institutional ownership is unavailable; neutral 2/4 money-flow treatment used."
              },
              "optional": true,
              "holderCount": null,
              "holderPoints": 2,
              "top10ShareRatio": null,
              "concentrationPenalty": 0
            }
          },
          "institutionPoints": 2
        }
      },
      "市場環境": {
        "max": 15,
        "grade": "較差",
        "items": {
          "vix": {
            "score": 0,
            "details": {
              "source": "twelvedata+fred",
              "missing": true,
              "vixClose": null
            }
          },
          "trend": {
            "score": 2.8,
            "details": {
              "qqq": {
                "ma20": 715.6679992,
                "ma50": 710.4063990999997,
                "name": "QQQ",
                "close": 714.88,
                "points": 1.4
              },
              "spy": {
                "ma20": 766.87899445,
                "ma50": 758.61640102,
                "name": "SPY",
                "close": 764.28998,
                "points": 1.4
              },
              "source": "twelvedata+fred"
            }
          },
          "atrPct": 1.9751611983185318,
          "atrPoints": 4,
          "cciPoints": 0.8,
          "vixPoints": 0,
          "marketTrendPoints": 2.8
        }
      },
      "情緒分析": {
        "max": 10,
        "grade": "較差",
        "items": {
          "sentiment": {
            "score": 4,
            "details": {
              "source": "finnhub_news_keyword_model",
              "articleCount": 3,
              "negativeHits": 0,
              "positiveHits": 1,
              "sentimentScoreRaw": 0.8
            }
          },
          "sentimentData": {
            "raw": [
              {
                "id": 141363227,
                "url": "https://finnhub.io/api/news?id=fb09e51bbd43a7dbaa03acbe027a97f5ea7e5d4e38c7baa62ca3417c6bd80c05",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "Ecolab (ECL) reported earnings 30 days ago. What's next for the stock? We take a look at earnings estimates for some clues.",
                "category": "company",
                "datetime": 1787848211,
                "headline": "Ecolab (ECL) Up 2.4% Since Last Earnings Report: Can It Continue?"
              },
              {
                "id": 141276954,
                "url": "https://finnhub.io/api/news?id=6861c35f110b7bed5fe6492f5909813e19e41e42ab6228bea0741d8c7c2e4fe3",
                "image": "https://www.chartmill.com/images/uploads/CM_Breakout_Stocks_Small_free_bb09e243c7.webp",
                "source": "ChartMill",
                "related": "ECL",
                "summary": "ECOLAB (ECL): Technical Rating 7, Setup Quality 9, potential breakout. Rising moving averages and tight consolidation offer defined entry and risk.",
                "category": "company",
                "datetime": 1787385678,
                "headline": "Ecolab (NYSE:ECL) Flashes a High-Quality Technical Breakout Setup"
              },
              {
                "id": 141192252,
                "url": "https://finnhub.io/api/news?id=ce4208f6f9ffb7c9e4d96b831e77b0eda60e24ffc91fffb197e19e3c7c35e381",
                "image": "https://www.chartmill.com/images/uploads/thumbnail_article_luc_kroeze_c1f44c837d.webp",
                "source": "ChartMill",
                "related": "ECL",
                "summary": "Discover why Ecolab (ECL) passes quality investing screens: strong profitability, high ROIC, solid growth, and manageable debt—despite a premium valuation.",
                "category": "company",
                "datetime": 1786530673,
                "headline": "Ecolab (NYSE:ECL) Checks the Boxes for Quality Investing"
              }
            ],
            "raw_source": [
              {
                "id": 142091220,
                "url": "https://finnhub.io/api/news?id=3b25c7758098d2e2e83b4a3df7b4ca76db0ada28ba2f63fcd051f9886485f820",
                "image": "https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1072593728/image_1072593728.jpg?io=getty-c-w1536",
                "source": "SeekingAlpha",
                "related": "ECL",
                "summary": "Read this week's dividend recap for Dividend Champions, Contenders & Challengers—track dividend changes, upcoming ex-dividend dates & pay dates.",
                "category": "company",
                "datetime": 1789150194,
                "headline": "Dividend Champion, Contender, And Challenger Highlights: Week September 13"
              },
              {
                "id": 142063424,
                "url": "https://finnhub.io/api/news?id=5943ebc2dcacd50994f75eab73696f0135c70c26e21548bbef5cad5ac0ed179b",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "ECL benefits from high-tech growth, digital expansion, innovation and solid Q2 results, while cost fluctuations remain a key concern.",
                "category": "company",
                "datetime": 1789059420,
                "headline": "Here's Why You Should Retain Ecolab Stock in Your Portfolio Now"
              },
              {
                "id": 141455344,
                "url": "https://finnhub.io/api/news?id=d46256eb77f53719e8ffcbd51e0286d961b50488c072c1107f726cbb9b477aa9",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "Ecolab has lagged behind the Nasdaq Composite over the past year, and analysts remain reasonably bullish about the stock’s growth potential.",
                "category": "company",
                "datetime": 1788526423,
                "headline": "Is Ecolab Stock Underperforming the Nasdaq?"
              },
              {
                "id": 141363227,
                "url": "https://finnhub.io/api/news?id=fb09e51bbd43a7dbaa03acbe027a97f5ea7e5d4e38c7baa62ca3417c6bd80c05",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "Ecolab (ECL) reported earnings 30 days ago. What's next for the stock? We take a look at earnings estimates for some clues.",
                "category": "company",
                "datetime": 1787848211,
                "headline": "Ecolab (ECL) Up 2.4% Since Last Earnings Report: Can It Continue?"
              },
              {
                "id": 141363228,
                "url": "https://finnhub.io/api/news?id=9f20603aea320899204e0f437ee9ccf8276c0184fbb391dfd01a475698107a21",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "The largest holding in his portfolio also helps fund the Gates Foundation.",
                "category": "company",
                "datetime": 1787699220,
                "headline": "Bill Gates owns $25 billion in blue-chip S&P 500 stock"
              },
              {
                "id": 141363226,
                "url": "https://finnhub.io/api/news?id=081b02ddb27659b9748fe217e0230d173c1c0a4dd660e12b63e0c4e438902642",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "ST. PAUL, Minn., August 25, 2026--Ecolab Inc. will host its 2026 Investor Day in conjunction with the SC26 Supercomputing Conference on Tuesday, November 17, 2026, in Chicago.",
                "category": "company",
                "datetime": 1787669100,
                "headline": "Ecolab to Host 2026 Investor Day at SC26 Supercomputing Conference"
              },
              {
                "id": 141276954,
                "url": "https://finnhub.io/api/news?id=6861c35f110b7bed5fe6492f5909813e19e41e42ab6228bea0741d8c7c2e4fe3",
                "image": "https://www.chartmill.com/images/uploads/CM_Breakout_Stocks_Small_free_bb09e243c7.webp",
                "source": "ChartMill",
                "related": "ECL",
                "summary": "ECOLAB (ECL): Technical Rating 7, Setup Quality 9, potential breakout. Rising moving averages and tight consolidation offer defined entry and risk.",
                "category": "company",
                "datetime": 1787385678,
                "headline": "Ecolab (NYSE:ECL) Flashes a High-Quality Technical Breakout Setup"
              },
              {
                "id": 141270706,
                "url": "https://finnhub.io/api/news?id=edf60a693dca5911f508ad40314f31dc2f4b0e11e4d78efd6eeb7af3febf7341",
                "image": "https://cdn.benzinga.com/files/images/story/2025/11/06/insider_trade_2.jpg?width=2048&height=1536",
                "source": "Benzinga",
                "related": "ECL",
                "summary": "Revealing a significant insider sell on August 20, Christophe Beck, Chairman at Ecolab (NYSE:ECL), as per the latest SEC filing.\nWhat Happened: A Form 4 filing with the U.S. Securities and Exchange Commission on",
                "category": "company",
                "datetime": 1787310175,
                "headline": "Chairman Of Ecolab Sold $5.00M In Stock"
              },
              {
                "id": 141280840,
                "url": "https://finnhub.io/api/news?id=8e540ccfc2469f2c8f4eb3d505dced27bc017d519f3334dbcb0798248cf7ee91",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "Ecolab has underperformed the broader market, while analysts remain moderately optimistic, supported by earnings growth, raised guidance, and potential upside.",
                "category": "company",
                "datetime": 1787230049,
                "headline": "Ecolab Stock: Is Wall Street Bullish or Bearish?"
              },
              {
                "id": 141280841,
                "url": "https://finnhub.io/api/news?id=87ce5e10879e78e694d610d1c5813f6f5ebaae1710d5e7c9c3fce42885699237",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "Ecolab's (ECL) projected commodity cost increase of high-single-digit percentage in H2 is manageable",
                "category": "company",
                "datetime": 1787155839,
                "headline": "Ecolab's Projected Commodity Cost Increase in H2 Manageable, RBC Capital Markets Says"
              },
              {
                "id": 141279942,
                "url": "https://finnhub.io/api/news?id=03ce2c1f6002c307c2881862918ce1aa6d1c00e922dfedbe55e0d315ab2da745",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "ECL's $4.75B CoolIT deal expands its AI data-center cooling opportunity, but higher debt and financing costs raise execution risks.",
                "category": "company",
                "datetime": 1787081640,
                "headline": "Ecolab's CoolIT Deal Raises AI Upside but Also Debt and Cost Risks"
              },
              {
                "id": 141280842,
                "url": "https://finnhub.io/api/news?id=91b85c9ee9d8c4e88a167866fa6889a238acf6539570019f928de326d9e8df42",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "ECL's accelerating High-Tech, Digital and Life Sciences growth supports its outlook, but rising debt and financing costs keep the buy case cautious.",
                "category": "company",
                "datetime": 1787081340,
                "headline": "Is Ecolab Stock Worth Buying as Growth Rises but Debt Risk Builds?"
              },
              {
                "id": 141280843,
                "url": "https://finnhub.io/api/news?id=5984109624202e4a37f5a59ff6470ff83ffb021627566f8b3295cf00528504ec",
                "image": "https://s.yimg.com/rz/stage/p/yahoo_finance_en-US_h_p_finance_2.png",
                "source": "Yahoo",
                "related": "ECL",
                "summary": "ECL's 12.2% three-month rally is backed by High-Tech, Digital and Life Sciences growth, firmer pricing and a higher 2026 earnings outlook.",
                "category": "company",
                "datetime": 1787081040,
                "headline": "Ecolab Rallies 12.2% in 3 Months as High-Tech Growth Gains Momentum"
              },
              {
                "id": 141192252,
                "url": "https://finnhub.io/api/news?id=ce4208f6f9ffb7c9e4d96b831e77b0eda60e24ffc91fffb197e19e3c7c35e381",
                "image": "https://www.chartmill.com/images/uploads/thumbnail_article_luc_kroeze_c1f44c837d.webp",
                "source": "ChartMill",
                "related": "ECL",
                "summary": "Discover why Ecolab (ECL) passes quality investing screens: strong profitability, high ROIC, solid growth, and manageable debt—despite a premium valuation.",
                "category": "company",
                "datetime": 1786530673,
                "headline": "Ecolab (NYSE:ECL) Checks the Boxes for Quality Investing"
              }
            ],
            "data_source": "finnhub_news_keyword_model",
            "article_count": 3,
            "negative_hits": 0,
            "positive_hits": 1,
            "recomputed_at_score": true,
            "sentiment_score_raw": 0.8,
            "source_article_count": 14,
            "discarded_article_count": 11
          },
          "sentimentPoints": 4
        }
      },
      "技術信號": {
        "max": 30,
        "raw": 15.1,
        "grade": "較差",
        "items": {
          "bbPoints": 2.4,
          "adxPoints": 3,
          "sarPoints": 1.2000000000000002,
          "vcpPoints": 1,
          "macdPoints": 0.8,
          "vcpPayload": {
            "vcp_pass": false,
            "vcp_score": 1,
            "vcp_reason": "跌縮量(近10日4日);靠近20日高位;Ready=N;Confirm=N",
            "vcp_metrics": {
              "up_days": 2,
              "vol_ref": 1368243.3333333333,
              "down_days": 7,
              "vcp_ready": false,
              "above_ma50": false,
              "avg_vol_10": 1209240,
              "avg_vol_20": 1445815,
              "avg_vol_30": 1368243.3333333333,
              "range_pct_10": 0.07773915843794466,
              "range_pct_20": 0.09707437530141125,
              "range_pct_30": 0.09707437530141125,
              "up_expand_ok": false,
              "lookback_used": 59,
              "near_20d_high": true,
              "contraction_ok": false,
              "down_shrink_ok": true,
              "up_expand_days": 0,
              "breakout_20d_ok": false,
              "vol_ratio_10_30": 0.8837901640302773,
              "dist_to_20d_high": 0.06484272051070747,
              "down_shrink_days": 4,
              "breakout_level_20d": 295.32999,
              "vcp_breakout_confirm": false,
              "contraction_ratio_10_30": 0.8008205893323375
            },
            "vcp_name_en": "Volatility Contraction Pattern",
            "vcp_name_zh": "波動收縮形態",
            "vol_contraction": false
          },
          "kdjAdxPoints": 0.7,
          "rsiKdjPoints": 2.4,
          "volumeWeight": 2,
          "maCrossPoints": 2.4,
          "shortRsiPoints": 0,
          "shortMacdPoints": 0.4,
          "volConfirmPoints": 0,
          "volumePointsTechnical": 0.8
        }
      },
      "風險管理": {
        "max": 10,
        "grade": "良好",
        "items": {
          "position": {
            "score": 1.8,
            "details": {
              "atrPct": 1.9751611983185318,
              "turnoverUsdM": 356.01865386917996,
              "liquidityPoints": 0.6,
              "volatilityPoints": 1.2
            }
          },
          "rrPoints": 1.4,
          "stopLevels": {
            "symbol": "US.ECL",
            "rr_range": "1:1.0-1:2.5",
            "risk_profile": "中等",
            "stop_loss_price": 265.27,
            "strength_details": {
              "ma_score": 2,
              "atr_score": 2.5,
              "rsi_score": 1,
              "macd_score": 1,
              "volume_score": 1
            },
            "market_adjustment": 1,
            "risk_reward_ratio": 1.3,
            "stop_loss_percent": 4,
            "take_profit_price": 289.989,
            "target_multiplier": 1.6,
            "technical_strength": 1.43,
            "take_profit_percent": 5
          },
          "positionPoints": 1.8,
          "stopLossPoints": 2.4,
          "diversification": {
            "score": 2,
            "details": {
              "method": "sector concentration proxy; no portfolio holdings used",
              "sector": "Materials",
              "concentratedSectorPenalty": 0
            }
          },
          "riskRewardRatio": 1.2657194775435379,
          "stopLossPercent": 3.9503223966370635,
          "diversificationPoints": 2
        }
      }
    }
  },
  "modelVersion": "cursor_18_27_news_v2_160",
  "providerErrors": [
    {
      "code": "VIX_MISSING",
      "symbol": "US.ECL",
      "message": "VIX market context is required for market environment scoring",
      "missing": [
        "VIX"
      ],
      "provider": "scoring"
    }
  ],
  "rankingScoreMax": 160,
  "dataCompleteness": {
    "complete": false,
    "missingFields": [
      "VIX"
    ],
    "optionalInputs": [
      "institutionalData"
    ],
    "requiredInputs": [
      "fundamentals",
      "marketContext.VIX",
      "marketContext.SPY",
      "marketContext.QQQ",
      "catalystData",
      "sentimentData",
      "ATR",
      "sector"
    ],
    "optionalInputWarnings": []
  },
  "technicalIndicators": {
    "adx": 100,
    "atr": {
      "atr": 5.455,
      "rule": "ATR / current price; lower volatility scores higher",
      "score": 8,
      "atr_pct": 1.98
    },
    "cci": {
      "rule": "Cursor_18.24 CCI bands",
      "level": "超買或超賣風險",
      "score": 2,
      "value": -84.96
    },
    "cmf": {
      "rule": "Cursor_18.24 CMF bands",
      "level": "平衡",
      "score": 4,
      "value": 0.062
    },
    "kdj": {
      "d": 21.53,
      "j": 27.38,
      "k": 23.48,
      "rule": "Cursor_18.24 K/D cross",
      "score": 4,
      "signal": "金叉"
    },
    "mfi": {
      "rule": "Cursor_18.24 MFI bands",
      "level": "超賣或超買風險",
      "score": 2,
      "value": 38.36
    },
    "obv": {
      "rule": "Cursor_18.24 recent_slope vs previous_slope",
      "score": 2,
      "trend": "資金流出",
      "value": 8400882,
      "recentSlope": -665191.8,
      "previousSlope": 603630
    },
    "rsi": 42.18,
    "sar": {
      "rule": "Cursor_18.24 Parabolic SAR",
      "score": 4,
      "trend": "下降",
      "value": 292.5032,
      "position": "SAR喺價上",
      "distancePct": 5.91,
      "previousTrend": "下降"
    },
    "ma50": 278.3826,
    "macd": {
      "macd": -1.1283922413645655,
      "trend": "看跌",
      "signal": 0.3277429630726411,
      "histogram": -1.4561352044372067
    },
    "vwap": {
      "rule": "Cursor_18.24 VWAP 20D consecutive close",
      "score": 2,
      "value": 281.1904,
      "position": "<VWAP",
      "consecutiveAbove": 0
    },
    "volume": {
      "rule": "Cursor_18.24 volume ratio",
      "level": "無力",
      "ratio": 0.88,
      "score": 4,
      "avgVolume": 1466554,
      "currentVolume": 1289082
    },
    "derived": {
      "ma20": 281.008,
      "ma50": 278.3826,
      "prevClose": 271.6,
      "avgVolume10": 1199708,
      "avgVolume20": 1466554,
      "changePercent": 1.69,
      "avgVolumeForScore": 1466554
    },
    "ma_cross": {
      "ma20": 281.008,
      "ma50": 278.3826,
      "rule": "Cursor_18.24 MA20/MA50 cross",
      "cross": "接近",
      "score": 6,
      "prevMa20": 281.012,
      "prevMa50": 278.4264,
      "spreadPct": 0.94,
      "isVolumeBreakout": false
    },
    "bollinger": {
      "lower": 270.5923,
      "upper": 291.4237,
      "position": "中間"
    },
    "rsi_short": 36.22,
    "macd_short": {
      "macd": 0,
      "trend": "中性",
      "signal": 0,
      "histogram": 0
    },
    "volume_ratio": {
      "ratio": 0.88
    }
  }
}

Raw metrics JSON

{
  "close": 276.18,
  "volume": 1289082,
  "changePercent": 1.69
}

Scores are derived from cached daily market data using the Cursor_18.25 standard. Solorank.ai provides research support only and does not provide financial advice or buy/sell recommendations.