52-week lowजवळील कमी P/E stocks शोधा
कमी P/E आणि 52-week lowजवळील stocksची अचूक screen, lowपासूनच्या अंतरानुसार ranking आणि पुढे नवे lows कितीदा येतात याची पडताळलेली माहिती पहा.
कमी P/E असलेले आणि 52-week lowsजवळील stocks दोन पूर्णपणे वेगळ्या screensच्या छेदनबिंदूवर येतात: trailing earnings multiple कमी असणे आणि stockची किंमत तिच्या स्वतःच्या one-year rangeच्या तळाजवळ असणे. खालील screen दोन्ही अटी copy करता येतील अशा आकड्यांत सांगतो, पात्र stocksना lowपासूनच्या अंतरानुसार क्रम देतो आणि प्रत्येक panelखाली query दाखवतो. सुरुवातीलाच एक इशारा: अशा प्रकारे तयार केलेल्या यादीत bargainsइतक्याच वेळा falling knivesही जमा होतात. पुढील sectionमध्ये यामागील arithmetic स्पष्ट केले आहे.
52-week lowजवळ काय मानले जाते
52-week low म्हणजे मागील एक वर्षात stockने नोंदवलेली सर्वात कमी किंमत. Lowपासूनचे अंतर टक्केवारीत मोजण्यासाठी शेवटची close किंमत 52-week lowने भागून त्यातून one वजा केला जातो. 52-week low 50 असताना stock 55वर बंद झाला, तर तो त्याच्या lowपेक्षा 10% वर आहे. हेच arithmetic संपूर्ण ranking ठरवते. आमच्या 52-week highs आणि lows मार्गदर्शकात या rangeबद्दल अधिक तपशील आहे.
P/E ratio म्हणजे किंमत भागिले trailing twelve-month earnings per share. हा ratio daily ratios table stocks_ratios मधून घेतला आहे. हाच source आमच्या सर्वाधिक dividend yield असलेले stocks screenमागेही आहे. Price band stocks_daily_aggs मधून घेतला आहे. त्यात प्रत्येक stockसाठी प्रत्येक sessionची एक row आहे.
चार निकष screenची व्याख्या करतात. ते लिहून ठेवले नाहीत तर प्रत्येक निकष मनमानी ठरतो:
- 52-week lowपासूनचे अंतर 10% किंवा त्यापेक्षा कमी
- trailing P/E शून्यापेक्षा अधिक आणि 15 किंवा त्यापेक्षा कमी
- market cap $10 billion किंवा त्यापेक्षा अधिक
- average daily volume 1,000,000 shares किंवा त्यापेक्षा अधिक
शेवटचे दोन निकष यादीत दोन्ही बाजूंना प्रत्यक्ष बाजार असलेली नावे ठेवतात. $40 millionची कंपनी दररोज 20,000 sharesमध्ये trade होत असेल, तर ती कोणताही multiple दाखवू शकते.
प्रत्येक आकड्यामागील अचूक SQL
WITH ratios AS
(
SELECT
ticker,
argMax(price_to_earnings, date) AS pe,
argMax(market_cap, date) AS mcap,
argMax(average_volume, date) AS adv
FROM global_markets.stocks_ratios
WHERE date >= today() - 14
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
band AS
(
SELECT
ticker,
min(low) AS low_52w,
argMax(close, date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE date >= today() - 372
AND ticker NOT IN ('SPCX')
GROUP BY ticker
)
SELECT
b.ticker AS ticker,
round(toFloat64(b.last_close) / toFloat64(b.low_52w) * 100 - 100, 1) AS pct_above_low,
round(r.pe, 1) AS pe_ratio
FROM band AS b
INNER JOIN ratios AS r ON r.ticker = b.ticker
WHERE r.mcap >= 10000000000
AND r.adv >= 1000000
AND r.pe > 0
AND r.pe <= 15
AND b.low_52w > 0
AND toFloat64(b.last_close) / toFloat64(b.low_52w) <= 1.10
ORDER BY pct_above_low ASC, b.ticker ASC
LIMIT 15या panelमध्ये वरील निकषांनुसार त्यांच्या lowsच्या सर्वात जवळ असलेली 6 नावे दाखवली आहेत. यादी जास्तीत जास्त fifteen rowsपर्यंत मर्यादित आहे. VICI हा त्याच्या स्वतःच्या तळाच्या सर्वात जवळ आहे. मागील वर्षात त्याने नोंदवलेल्या सर्वात कमी किंमतीपेक्षा तो 2.3% वर आहे आणि त्याचा trailing multiple 10.5 आहे. Panelच्या दुसऱ्या टोकाला BRK.B त्याच्या lowपेक्षा 9.7% वर आहे.
यादीला क्रम कसा द्यावा
बहुतेक screensमध्ये sorting हा टप्पा वगळला जातो. P/Eनुसार क्रम दिल्यास सर्वात स्वस्त दिसणारा multiple वर येतो आणि किंमत rangeमध्ये कुठे आहे हे लपते. Lowपासूनच्या अंतरानुसार क्रम दिल्यास नव्या lowच्या सर्वात जवळची नावे वर येतात आणि त्यांची valuation लपते. या panelमध्ये distanceनुसार ascending क्रम आहे आणि पुढील columnमध्ये multiple दिला आहे. त्यामुळे दोन्ही माहिती एकाच rowमध्ये राहतात. समान values असल्यास alphabetical क्रम वापरला आहे. अनेक नावे समान decimalपर्यंत round होत असतील, तेव्हा हा तपशील महत्त्वाचा ठरतो.
हे पुन्हा तयार करण्यासाठी चार inputs लागतात: मागील पूर्ण वर्षाचा daily close series, trailing EPS figure, market capसाठी share count आणि average volume. त्यानंतरचे सर्व काम subtraction आणि divisionचे आहे.
निकष कुठे ठेवले आहेत यावर पात्र नावांची संख्या अवलंबून असते
एक निकष बदलला की यादीचा आकार बदलतो. खालील panelमध्ये market cap आणि liquidityचे minimums स्थिर ठेवले आहेत. Distance band 5%पासून 30%पर्यंत बदलून प्रत्येक P/E ceilingवर पात्र नावांची संख्या मोजली आहे.
प्रत्येक आकड्यामागील अचूक SQL
WITH ratios AS
(
SELECT
ticker,
argMax(price_to_earnings, date) AS pe,
argMax(market_cap, date) AS mcap,
argMax(average_volume, date) AS adv
FROM global_markets.stocks_ratios
WHERE date >= today() - 14
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
band AS
(
SELECT
ticker,
min(low) AS low_52w,
argMax(close, date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE date >= today() - 372
AND ticker NOT IN ('SPCX')
GROUP BY ticker
),
universe AS
(
SELECT
b.ticker AS ticker,
toFloat64(b.last_close) / toFloat64(b.low_52w) * 100 - 100 AS pct_above_low,
r.pe AS pe
FROM band AS b
INNER JOIN ratios AS r ON r.ticker = b.ticker
WHERE r.mcap >= 10000000000
AND r.adv >= 1000000
AND r.pe > 0
AND b.low_52w > 0
)
SELECT
concat('within ', toString(cutoff), '%') AS distance_band,
countIf(pct_above_low <= cutoff AND pe <= 15) AS names_pe_under_15,
countIf(pct_above_low <= cutoff AND pe <= 25) AS names_pe_under_25
FROM
(
SELECT
pct_above_low,
pe,
arrayJoin([5, 10, 15, 20, 25, 30]) AS cutoff
FROM universe
)
GROUP BY cutoff
ORDER BY cutoffपहिल्या panelमधील निकषांनुसार 10% band आणि 15 ceilingवर एकूण 7 large caps पात्र ठरतात. Band 5%पर्यंत घटवल्यास 1 नावे उरतात. तो 30%पर्यंत वाढवल्यास संख्या 43 होते. त्याच widthवर ceiling 25 केल्यास ही संख्या 137 होते. येथे कोणतीही setting वस्तुनिष्ठदृष्ट्या योग्य नाही. हे फक्त dials आहेत. Screen प्रकाशित करण्याची प्रामाणिक पद्धत म्हणजे ते कुठे ठेवले होते हे सांगणे.
52-week low हा बदलणारा तळ आहे
Low स्वतः बदलत राहतो. हे rolling measurement आहे. Calendar पुढे सरकत असताना जुना low windowमधून बाहेर पडतो. त्यामुळे stockमध्ये कोणताही व्यवहार न झालेल्या दिवशीही floor वर जाऊ शकतो. एका नावाचा महिन्यानुसार मागोवा घेतल्यास हे स्पष्ट दिसते. खालील panelमध्ये household large cap असलेल्या KOची तुलना त्याच्या trailing twelve monthsमधील lowest priceशी केली आहे.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
formatDateTime(m, '%Y-%m') AS month,
round(toFloat64(month_close), 2) AS close_price,
round(toFloat64(trailing_low), 2) AS trailing_12m_low,
round(toFloat64(month_close) / toFloat64(trailing_low) * 100 - 100, 1) AS pct_above_low
FROM
(
SELECT
m,
month_close,
min(month_low) OVER (ORDER BY m ASC ROWS BETWEEN 11 PRECEDING AND CURRENT ROW) AS trailing_low
FROM
(
SELECT
toStartOfMonth(date) AS m,
argMax(close, date) AS month_close,
min(low) AS month_low
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date >= today() - 1100
GROUP BY m
)
)
WHERE m >= toStartOfMonth(today() - 400)
ORDER BY m2026-08पर्यंत KO $87.71वर बंद झाला. त्यावेळी trailing twelve-month low $65.35 होता आणि अंतर 34.2% होते. या screenमध्ये मोजली जाणारी quantity म्हणजे या दोन price linesमधील gap. Close line स्थिर असताना low line वर गेली, तर stockच्या किंमतीत बदल न होता मोजलेले अंतर कमी होते.
हा screen falling knives का गोळा करतो
यामागील यंत्रणा arithmeticवर आधारित आहे. P/Eमधील E trailing असतो आणि कंपनी earnings report करते तेव्हा वर्षातून चार वेळा update होतो. P बाजार खुले असताना प्रत्येक सेकंदाला बदलतो. एका quarterमध्ये किंमत घसरत राहिली आणि पुढील reportपर्यंत earnings figure स्थिर राहिली, तर stockचा multiple प्रत्येक आठवड्यात आपोआप कमी दिसतो. मागील reportमधील आकड्यापासून किंमत सर्वाधिक दूर गेलेल्या वेळी multiple सर्वात स्वस्त दिसतो. पुढील reportमध्ये earnings कमी झाल्यावर, नव्या कमी किंमतीवर multiple पुन्हा वाढतो. प्रत्यक्षात stock कधीच स्वस्त नसतो. या पद्धतीला value trap म्हणतात.
Cyclicalsमध्ये हाच measurement उलट परिणाम दाखवतो. Automaker किंवा homebuilderचा trailing P/E साधारणतः earnings cycleच्या peakवर सर्वात कमी दिसतो. त्या वेळी trailing EPS उच्च पातळीवर असतो. Cycleच्या troughवर त्याचा P/E सर्वाधिक दिसतो.
या patternचे measurement करण्यासाठी screen एखाद्या मागील तारखेप्रमाणे पुन्हा तयार करावी लागते. त्यानंतर त्या वेळी पात्र ठरलेल्या प्रत्येक नावाचा मागोवा घ्यावा लागतो. त्यासाठी प्रत्येक tickerचा त्या ऐतिहासिक तारखेचा trailing multiple हवा. फक्त नवीनतम multiple पुरेसा नाही. वरील panelsमागील stocks_ratios rows प्रत्येक tickerसाठी सर्वात अलीकडील तारखेनुसार वाचल्या आहेत. त्यामुळे ही page follow-through number न जोडता mechanism स्पष्ट करते. त्या numberची queryही येथे दाखवता येत नाही. एका starting dateवरचा एक cohort कोणत्याही परिस्थितीत एकच observation ठरेल. वेगळ्या महिन्यात सुरुवात केल्यास आकडे बदलतील. पुढे कोणत्याही किंमतीचे काय होईल, असा दावा ही यादी करत नाही.
कमी P/Eमधून काय दिसत नाही
- कोणती earnings? Trailing EPSमध्ये one-time items, asset sales आणि legal settlementsचा समावेश असतो. एक मोठा quarter संपल्यानंतरही, त्यातून मिळालेली cash संपलेली असली तरी, त्या quarterमुळे multiple वर्षभर कमी राहू शकतो.
- Sector context. Banks, insurers, automakers आणि refiners यांचे multiples software कंपन्यांपेक्षा संरचनात्मकदृष्ट्या कमी असतात. संपूर्ण marketवर एकच ceiling लागू केल्यास यादीत तेच काही sectors वारंवार भरतात.
- Balance sheet. P/Eमध्ये debtचा विचार होत नाही. समान multiple असलेल्या पण leverageमध्ये मोठा फरक असलेल्या दोन कंपन्यांची किंमत समान परिस्थिती दर्शवत नाही.
- Losses. Negative earnings असलेल्या कंपनीचा अर्थपूर्ण P/E नसतो आणि ती येथे दिसत नाही. यादीत नसणे म्हणजे त्या कंपनीबाबत कोणताही अंतिम निष्कर्ष नाही.
या यादीच्या शेजारी दोन संबंधित lists उपयुक्त ठरतात. या महिन्यात सर्वाधिक हालचाल झालेले stocks मागील महिन्यात सर्वाधिक अंतर कापलेली नावे दाखवते. सर्वात कमी volatility असलेले stocks याच्या उलट स्वरूपाची हालचाल दाखवते.
Data notes आणि definitions
- Prices
stocks_daily_aggsमधून घेतले आहेत. त्यात प्रत्येक stockसाठी प्रत्येक sessionची एक row आहे. 52-week low म्हणजे मागील 372 calendar daysमधील daily low columnचे minimum. - Multiple, market cap आणि average volume
stocks_ratiosमधून घेतले आहेत. प्रत्येक tickerसाठी सर्वात अलीकडील row वापरली आहे. - या windowमध्ये split किंवा मोठे special distribution झाल्यास raw price band बदलतो. मागील वर्षात असे काही घडलेल्या नावांसाठी हे तपासणे आवश्यक आहे.
- Screenला positive trailing multiple आवश्यक आहे. त्यामुळे loss-making कंपन्या यात कधीही दिसत नाहीत.
FAQ
एखादा stock त्याच्या 52-week lowजवळ आहे, याचा अर्थ काय?
याचा अर्थ stockची सध्याची किंमत मागील वर्षात trade झालेल्या सर्वात कमी किंमतीच्या जवळ आहे. Distance to the low म्हणजे last close भागिले 52-week low, त्यातून one वजा करून मिळणारी टक्केवारी.
कमी P/E म्हणजे किती?
यासाठी कोणतीही निश्चित मर्यादा नाही. Screensमध्ये trailing multipleची कमाल मर्यादा सामान्यतः 15 ठेवली जाते. अधिक कठोर निकषासाठी ती 10 ठेवली जाऊ शकते. Industryनुसार multiplesमध्ये पुरेसा फरक असतो. त्यामुळे संपूर्ण marketवर एकच ceiling लागू केल्यास यादीत तेच काही sectors वारंवार भरतात.
52-week lowजवळ असलेला कमी P/E stock चांगली खरेदी आहे का?
कोणताही screen या प्रश्नाचे उत्तर देत नाही. ही pageही देत नाही. या दोन अटी भूतकाळाचे वर्णन करतात: आधीच report झालेल्या earningsच्या प्रत्येक dollarसाठी market किती किंमत देतो आणि stockची किंमत त्याच्या स्वतःच्या one-year rangeमध्ये कुठे आहे. पुढे काय होईल हे यापैकी कोणतीही अट सांगत नाही.
Value trap म्हणजे काय?
Value trap म्हणजे trailing multipleवर स्वस्त दिसणारा आणि त्यानंतरही घसरत राहणारा stock. Earnings per shareचा update quarterly होतो, तर किंमत सतत बदलते. त्यामुळे स्थिर trailing Eच्या तुलनेत किंमत घसरत राहिली की multiple सातत्याने कमी दिसतो. पुढील reportमध्ये कमी किंमतीवर earnings reset झाल्याने तो multiple पुन्हा वाढू शकतो.
येथील प्रत्येक panel तयार करणारी query त्यासोबत दिली आहे. एखादा panel उघडा, P/E ceiling किंवा distance band बदला आणि Strasmore terminalवर तुमच्या स्वतःच्या dialsनुसार यादी पुन्हा तयार करा.