Strasmore Research
నేర్చుకోండి Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-08

Maximum Drawdown: పతనం లోతు, కోలుకునే సమయం

Maximum drawdown అంటే గరిష్ఠ స్థాయి నుంచి కనిష్ఠానికి విలువల్లో వచ్చిన అతిపెద్ద పతనం. అది ఎంత లోతుగా ఉందో, మళ్లీ కొత్త గరిష్ఠాన్ని చేరుకోవడానికి ఎందుకు ఎక్కువ సమయం పడుతుందో తెలుసుకోండి.

Maximum drawdown అంటే విలువల శ్రేణిలో నమోదైన గరిష్ఠ స్థాయి నుంచి కనిష్ఠ స్థాయికి వచ్చిన అతిపెద్ద పతనం. దీన్ని ఆ సమయంలోని గరిష్ఠ విలువలో శాతంగా కొలుస్తారు. ఒక ఖాతా $120,000కు పెరిగి, తర్వాత $84,000కు పడిపోయి, మళ్లీ కోలుకుంటే, దాని maximum drawdown 30% అవుతుంది. ఆ గణాంకం ఎప్పటికీ 30%గానే ఉంటుంది, ఎందుకంటే ఇది ప్రస్తుత పరిస్థితిని కాకుండా చరిత్రలో జరిగిన అత్యంత ప్రతికూల దశను నమోదు చేస్తుంది. చాలా మంది పతనం ఎంత లోతుగా ఉందో చెప్పి ఆపేస్తారు. కానీ అదే గణాంకంలో మరో రెండు కాల పరిమాణాలు కూడా ఉంటాయి: గరిష్ఠ స్థాయి నుంచి కనిష్ఠ స్థాయికి పడిపోవడానికి పట్టిన సమయం, అలాగే ఆ కనిష్ఠ స్థాయి నుంచి మళ్లీ కొత్త గరిష్ఠాన్ని చేరుకోవడానికి పట్టే దానికంటే చాలా ఎక్కువ సమయం.

గరిష్ఠ డ్రాడౌన్‌ను ఎలా లెక్కిస్తారు?

ఈ లెక్కింపు మొత్తం సిరీస్‌పై ఒక్కసారి చేసే ప్రక్రియ. ప్రతి పరిశీలన వద్ద కొనసాగుతున్న గరిష్ఠ విలువను నవీకరించి, ప్రస్తుత విలువను దానితో పోల్చి, అప్పటివరకు నమోదైన అత్యంత ప్రతికూల విలువను నిల్వ చేస్తారు.

  1. కొనసాగుతున్న గరిష్ఠ విలువను మొదటి విలువగా సెట్ చేయండి.
  2. ప్రతి కొత్త విలువ వద్ద, అది ఎక్కువగా ఉంటే గరిష్ఠ విలువను పెంచండి.
  3. ఆ దశలో డ్రాడౌన్‌ను లెక్కించండి: విలువను గరిష్ఠ విలువతో భాగించి, ఒకటిని తీసివేయండి.
  4. అత్యంత ప్రతికూల విలువను నిల్వ చేయండి. అదే గరిష్ఠ డ్రాడౌన్.

ఇందులో returns సిరీస్, volatility అంచనా లేదా distribution assumption ఏదీ అవసరం లేదు. Python standard libraryతో సాధారణ సంఖ్యల జాబితాపై ఈ loop నడుస్తుంది. కొత్త Ubuntu వ్యవస్థలో ముందుగా interpreterను ఇన్‌స్టాల్ చేయండి:

apt-get update && apt-get install -y python3

ఈ loopను maxdd.pyగా సేవ్ చేయండి. కింద ఉన్న ధరలు చేతితో తనిఖీ చేయడానికి వీలుగా చిన్నగా ఉంచిన, కల్పితమైన పది విలువల సిరీస్:

prices = [100.0, 104.0, 98.0, 92.0, 95.0, 88.0, 90.0, 101.0, 99.0, 106.0]

peak = prices[0]
max_dd = 0.0

for price in prices:
    if price > peak:
        peak = price
    drawdown = price / peak - 1.0
    if drawdown < max_dd:
        max_dd = drawdown

print(f"maximum drawdown: {max_dd * 100:.1f}%")

python3 maxdd.pyను నడిపితే అది maximum drawdown: -15.4%ను చూపిస్తుంది. చేతితో తనిఖీ చేయండి: కనిష్ఠ విలువకు ముందు గరిష్ఠం 104, కనిష్ఠం 88, మరియు 88ను 104తో భాగిస్తే 0.846 వస్తుంది. ఆ తర్వాత సిరీస్ 106 వద్ద ముగుస్తుంది. అది ఆల్-టైమ్ గరిష్ఠం అయినప్పటికీ, 15.4% డ్రాడౌన్ రికార్డు అలాగే ఉంటుంది. గరిష్ఠ డ్రాడౌన్ ఒక sampleలో నమోదైన అత్యంత ప్రతికూల క్షణానికి శాశ్వత రికార్డు. సిరీస్ ప్రస్తుతం ఎక్కడ ఉందో అది చెప్పదు. అదే loopలో మరో రెండు variablesను ఉపయోగిస్తే సమయాన్ని కూడా గుర్తించవచ్చు: గరిష్ఠ విలువ నమోదైన index, అలాగే అత్యంత ప్రతికూల విలువ నమోదైన index.

డ్రాడౌన్ వక్రరేఖ ఎలా కనిపిస్తుంది

డ్రాడౌన్ వక్రరేఖ ప్రతి దశలో 3వ దశను కొనసాగిస్తుంది. దాన్ని ఒక్క అత్యంత చెడు విలువగా కుదించదు. సిరీస్ కొత్త గరిష్ఠాన్ని నమోదు చేసిన ప్రతిసారీ రేఖ సున్నా వద్ద ఉంటుంది. మధ్యలో అది సున్నా కంటే దిగువకు వెళ్తుంది. అందుకే ఈ అంతరాన్ని “నీటి అడుగున” అని పిలుస్తారు. జనవరి 2016 నుంచి నెలాఖరు ముగింపు ధరల ఆధారంగా, S&P 500ను అనుసరించే exchange traded fund అయిన SPYకి సంబంధించిన ఆ వక్రరేఖ ఇది.

క్వెరీSPY పడిపోయిన స్థాయి వక్రరేఖ: నడిచే గరిష్ఠ స్థాయితో పోల్చిన నెలాఖరు ముగింపు, 2016 నుంచి 2026 వరకు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH monthly AS (
    SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
           argMax(toFloat64(close), window_start) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2016-01-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY month_start
),
runs AS (
    SELECT month_start,
           close_px,
           max(close_px) OVER (ORDER BY month_start
                               ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_peak
    FROM monthly
)
SELECT formatDateTime(month_start, '%Y-%m') AS month,
       round(100 * (close_px / running_peak - 1), 2) AS drawdown_pct
FROM runs
ORDER BY month_start
Run this yourself

మొత్తం 127 నెలాఖరు నమోదుల్లో రేఖ ఎక్కువకాలం సున్నాకు సమీపంలోనే ఉంటుంది. మధ్యమధ్యలో కొన్ని లోతైన పతనాల్లోకి దిగుతుంది. ఫైల్‌లోని చివరి నెల, కొనసాగుతున్న గరిష్ఠంతో పోలిస్తే -1.27%గా నమోదైంది. ఈ ఆకృతిలోని రెండు లక్షణాలు విషయాన్ని స్పష్టంగా చూపిస్తాయి. పునరుద్ధరణలు వేగవంతమైన ఎగబాకుడిలా కాకుండా నెమ్మదిగా పైకి సాగే కదలికలుగా ఉంటాయి. ప్రతి కొత్త గరిష్ఠం వక్రరేఖను తిరిగి సున్నాకు చేర్చి, అంతకుముందు జరిగిన దాని దృశ్య జ్ఞాపకాన్ని చెరిపేస్తుంది.

డ్రాడౌన్‌ నుంచి కోలుకోవడానికి ఎంత సమయం పడుతుంది?

ఒకే డ్రాడౌన్‌లో మూడు వేర్వేరు సంఖ్యలు ఉంటాయి. వాటిని ఒకటిగానే చూడటం పనితీరు పట్టికను తప్పుగా అర్థం చేసుకునే అత్యంత సాధారణ కారణం:

  1. లోతు: గరిష్ఠ స్థాయి కంటే విలువ ఎంత శాతం దిగువకు పడిపోయిందో.
  2. కనిష్ఠ స్థాయికి చేరుకునే సమయం: గరిష్ఠ స్థాయి నుంచి కనిష్ఠ స్థాయికి పడిపోయే వరకు గడిచిన క్యాలెండర్ రోజులు.
  3. కోలుకునే సమయం: కనిష్ఠ స్థాయి నుంచి మళ్లీ కొత్త గరిష్ఠ స్థాయికి చేరుకునే వరకు గడిచిన క్యాలెండర్ రోజులు.

మూడోది సాధారణంగా ఎక్కువ కాలం పడుతుంది. అయితే హెడ్‌లైన్‌లో కనిపించే ఒక్క సంఖ్య దీన్ని ఎప్పుడూ చూపించదు. దిగువ ప్యానెల్ రోజువారీ ముగింపు ధరల ఆధారంగా 2016 నుంచి SPYలో పూర్తయిన ప్రతి డౌన్‌ట్రెండ్ దశను మళ్లీ నిర్మిస్తుంది. ఒక గరిష్ఠ స్థాయి ఏర్పడిన రోజున దశ ప్రారంభమవుతుంది. ఫండ్ ఆ స్థాయికి మొదటిసారి మించి ముగిసిన రోజున అది ముగుస్తుంది.

క్వెరీ2016 నుంచి పూర్తయిన SPY పతనాలు: లోతు, పడిపోయిన రోజులు, తిరిగి కోలుకున్న రోజులు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           argMax(toFloat64(close), window_start) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2016-01-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session_date
),
runs AS (
    SELECT session_date,
           close_px,
           max(close_px) OVER (ORDER BY session_date
                               ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_peak
    FROM daily
),
episodes AS (
    SELECT running_peak AS peak_px,
           min(session_date) AS peak_date,
           argMin(session_date, close_px) AS trough_date,
           min(close_px) AS trough_px
    FROM runs
    GROUP BY running_peak
),
sequenced AS (
    SELECT peak_px,
           peak_date,
           trough_date,
           trough_px,
           leadInFrame(peak_date, 1) OVER (ORDER BY peak_date
                                           ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS recovery_date
    FROM episodes
)
SELECT formatDateTime(peak_date, '%b %Y') AS episode_label,
       round(100 * (1 - trough_px / peak_px), 1) AS fall_from_peak_pct,
       dateDiff('day', peak_date, trough_date) AS days_to_trough,
       dateDiff('day', trough_date, recovery_date) AS days_to_new_high,
       dateDiff('day', peak_date, recovery_date) AS days_underwater
FROM sequenced
WHERE recovery_date > trough_date
  AND round(100 * (1 - trough_px / peak_px), 1) >= 5
ORDER BY fall_from_peak_pct DESC
LIMIT 8
Run this yourself

జాబితాలో పూర్తయిన దశల్లో అత్యంత లోతైనది Feb 2020లో ప్రారంభమై, మునుపటి గరిష్ఠ స్థాయి కంటే 34.2% దిగువకు చేరింది. అది పడిపోవడానికి 33 క్యాలెండర్ రోజులు, మళ్లీ కోలుకోవడానికి 148 రోజులు తీసుకుంది. మొత్తం 181 రోజులు అది గరిష్ఠ స్థాయికి దిగువనే ఉంది. తదుపరి నమోదు Jan 2022నాటిది. అది 25.4% మాత్రమే తగ్గినా, ఫండ్‌ను పాత గరిష్ఠ స్థాయికి 746 రోజుల పాటు దిగువనే ఉంచింది.

లోతు, వ్యవధి పూర్తిగా వేర్వేరు విషయాలు. తీవ్రంగా పడిపోయి త్వరగా మళ్లీ కోలుకున్న దశ, అలాగే సంవత్సరాల పాటు సాగిన స్వల్ప క్షీణత—రెండూ ఒకే శాతం సంఖ్యలోకి కుదించబడతాయి. మార్చి 2020 పతనం మొదటి విధానానికి పాఠ్యపుస్తక ఉదాహరణ. మార్కెట్లు పతనాల నుంచి ఎలా కోలుకుంటాయి అనేది ఆ ప్రయాణంలోని రెండో దశను వివరిస్తుంది.

మీరు కొలిచే కాలం పెరిగే కొద్దీ maximum drawdown ఎందుకు మరింత అధ్వాన్నంగా కనిపిస్తుంది

Maximum drawdown ఒక గరిష్ఠ విలువ. కాబట్టి చారిత్రక డేటాను జోడిస్తే అది మారకుండా ఉండవచ్చు లేదా మరింత లోతుగా మారవచ్చు. దీర్ఘకాల విండోలో ప్రతి సమయంలో నమోదైన running peak, స్వల్పకాల విండోలోని peak కంటే కనీసం అంతే ఎక్కువగా ఉంటుంది. అందువల్ల లెక్కల ప్రకారం drawdown మరింత పెద్దదిగా కనిపించవచ్చు. 2026 జూలై 31తో ముగిసే ఐదు విండోలలో ఒకే fundను కొలిస్తే ఈ ప్రభావం స్పష్టంగా కనిపిస్తుంది.

క్వెరీఅదే ఫండ్, ఐదు పరిశీలనా వ్యవధులు: నమూనా వ్యవధి ప్రకారం SPY గరిష్ఠ పతనం, 2026 జూలై 31 వరకు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           argMax(toFloat64(close), window_start) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2016-07-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session_date
),
scoped AS (
    SELECT arrayJoin([1, 2, 3, 5, 10]) AS lookback_years,
           session_date,
           close_px
    FROM daily
),
windowed AS (
    SELECT lookback_years, session_date, close_px
    FROM scoped
    WHERE session_date >= subtractYears(toDate('2026-07-31'), lookback_years)
),
runs AS (
    SELECT lookback_years,
           session_date,
           close_px,
           max(close_px) OVER (PARTITION BY lookback_years ORDER BY session_date
                               ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_peak
    FROM windowed
)
SELECT concat(toString(lookback_years), if(lookback_years = 1, ' year', ' years')) AS lookback,
       round(100 * max(1 - close_px / running_peak), 1) AS max_drawdown_pct,
       formatDateTime(argMax(session_date, 1 - close_px / running_peak), '%b %Y') AS worst_point
FROM runs
GROUP BY lookback_years
ORDER BY lookback_years
Run this yourself

గత 1 year కాలాన్ని పరిశీలిస్తే నమోదైన గరిష్ఠ పతనం 9.1%. అదే సిరీస్‌ను 10 years వరకు విస్తరిస్తే ఈ విలువ 34.2% అవుతుంది. అత్యంత ప్రతికూల స్థాయి Mar 2020లో నమోదవుతుంది. Fund మరింత ప్రమాదకరంగా మారలేదు. పరిశీలించిన నమూనా కాలం మాత్రమే పెరిగింది.

ఇదే లెక్కలు వ్యూహాల పోలికలను కూడా వక్రీకరిస్తాయి. మూడు సంవత్సరాల backtest, ఇరవై సంవత్సరాల backtest ఒకే విధమైన ప్రవర్తనను చూపినా, వాటిలో నమోదయ్యే drawdownలు చాలా భిన్నంగా ఉండవచ్చు. అందువల్ల ఆ సంఖ్యకు దాని విండోను జతచేయకుండా పెద్దగా అర్థం ఉండదు. Backtestingలో ముందుచూపు పక్షపాతం ఒక శుభ్రంగా కనిపించే backtest తన పనితీరును మరో విధంగా ఎలా అతిగా చూపించుకుంటుందో వివరిస్తుంది.

గరిష్ఠ డ్రాడౌన్ వర్సెస్ అస్థిరత

అస్థిరత ఒక రోజులో ఏ దిశలోనైనా సాధారణంగా ఎంత పరిమాణంలో మార్పు జరుగుతుందో కొలుస్తుంది. గరిష్ఠ డ్రాడౌన్ ఒక నిర్దిష్ట దిగువకు సాగే మార్గాన్ని కొలుస్తుంది. రెండూ రిస్క్ కొలమానాలే, కానీ వేర్వేరు ప్రశ్నలకు సమాధానం ఇస్తాయి. 2026 జూలై 31తో ముగిసిన ఐదు సంవత్సరాల కాలానికి చెందిన ఎనిమిది ప్రసిద్ధ కంపెనీల గణాంకాలను ప్యానెల్ పక్కపక్కన చూపిస్తుంది. రోజువారీ ముగింపు ధరల ఆధారంగా అస్థిరతను వార్షికీకరించారు.

క్వెరీవార్షికీకరించిన అస్థిరతతో పోల్చిన గరిష్ఠ పతనం: ఎనిమిది లార్జ్ క్యాప్‌లు, 2026 జూలై 31 వరకు ఐదు సంవత్సరాలు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
           argMax(toFloat64(close), window_start) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'CVX', 'VZ', 'PG')
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2021-08-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, session_date
),
runs AS (
    SELECT ticker,
           session_date,
           close_px,
           max(close_px) OVER (PARTITION BY ticker ORDER BY session_date
                               ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_peak,
           lagInFrame(close_px, 1) OVER (PARTITION BY ticker ORDER BY session_date
                                         ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM daily
)
SELECT ticker,
       round(100 * max(1 - close_px / running_peak), 1) AS max_drawdown_pct,
       round(100 * sqrt(252) * stddevSampIf(close_px / prev_close - 1, prev_close > 0), 1) AS annualized_volatility_pct
FROM runs
GROUP BY ticker
HAVING countIf(prev_close > 0) > 20
ORDER BY max_drawdown_pct DESC
Run this yourself

రెండు కాలమ్‌లను కలిపి చూడండి. VZ సమూహంలో అత్యంత లోతైన పతనాన్ని నమోదు చేసింది: 45.4%. దీనికి వార్షికీకరించిన అస్థిరత 22.6%. స్వల్ప పతనం నమోదైన సందర్భంలో, KO 20.9% పడిపోయింది; దాని అస్థిరత 16.7%. అస్థిరత అనేది ఆ కాలవ్యవధిలోని ప్రతి రోజుపై ఆధారపడిన సగటు. దీర్ఘకాలం నెమ్మదిగా కొనసాగే పతనాన్ని సగటులు తక్కువగా చూపించవచ్చు. డ్రాడౌన్ అంటే ధర వాస్తవంగా అనుసరించిన మార్గాల్లో అత్యంత చెత్తది. రెండేళ్ల పాటు క్రమంగా తగ్గే ప్రశాంతమైన హోల్డింగ్, పెద్దగా కనిపించని అస్థిరతతోనూ లోతైన డ్రాడౌన్‌ను నమోదు చేయవచ్చు.

తక్కువ అస్థిరత అసాధారణత దీర్ఘకాల వ్యవధుల్లో ప్రశాంతంగా కదిలే పేర్లు ఎలా ప్రవర్తిస్తాయో పరిశీలిస్తుంది. Kelly criterion ఆధారిత పొజిషన్ పరిమాణ నిర్ణయం డ్రాడౌన్‌ను భరించే సామర్థ్యం ఎలా పొజిషన్ పరిమాణంగా మారుతుందో చూపిస్తుంది.

సంఖ్య చెప్పలేనిది

కింది నాలుగు పరిమితులను గుర్తుంచుకోవాలి:

  1. ఇది వాస్తవంగా జరిగిన ఒక మార్గాన్ని మాత్రమే చూపిస్తుంది. అదే ప్రక్రియలో మరో క్రమం ఏర్పడి ఉంటే ఫలితం చాలా అధ్వాన్నంగా ఉండేది.
  2. ఇది నమూనా కాలవ్యవధిపై ఆధారపడి ఉంటుంది. అందువల్ల రెండు drawdownలను పోల్చాలంటే సమాన కాలవ్యవధులను ఉపయోగించాలి.
  3. ఇది డేటాను సేకరించే తరచుదనంపై ఆధారపడి ఉంటుంది. నెలాఖరు ముగింపు ధరలు రోజులో నమోదైన కనిష్ఠాలను దాచిపెడతాయి. అందువల్ల అదే కాలంలో రోజువారీ ముగింపు ధరలతో లెక్కించిన సంఖ్య కంటే చిన్న సంఖ్య వస్తుంది.
  4. ఇది భవిష్యత్తు గురించి ఎలాంటి సమాచారాన్ని ఇవ్వదు. గరిష్ఠ స్థాయి నుంచి 30% దిగువన ఉండటం వల్ల 31వ దశ రేపే వస్తుందా లేదా అనేది తెలియదు.

ఈ చివరి పరిమితి కారణంగానే automated systemకు కేవలం drawdown threshold కాకుండా drawdown policy అవసరం. “20% వద్ద ఆపాలి” అనే నియమం ఒక ప్రశ్నకు మాత్రమే సమాధానం ఇస్తుంది. ఆ సమయంలో open positionsకు ఏమవుతుంది, సిస్టమ్‌ను మళ్లీ ఎప్పుడు ప్రారంభించాలి అనే ఆధారాలు ఏమిటి అనే రెండు ప్రశ్నలకు అది సమాధానం ఇవ్వదు. ట్రేడింగ్ బాట్లకు circuit breakers ఆ policy నిర్మాణాన్ని వివరిస్తుంది. యాదృచ్ఛికంగా నిర్ణయించిన ఒకే నియమం వల్ల కలిగే ఖర్చు recovery legలో కనిపిస్తుంది. కనిష్ఠ స్థాయికి సమీపంలో ఆగి, ఆలస్యంగా మళ్లీ ప్రారంభించే సిస్టమ్ ధరల పెరుగుదలలోని కొంత భాగాన్ని కోల్పోతుంది. అత్యుత్తమ రోజులను కోల్పోవడం ఆ లెక్కలను సంఖ్యలతో చూపిస్తుంది.

రెండు సంఖ్యలను పోల్చే ముందు ఒక కొలత వివరాన్ని గుర్తుంచుకోవాలి. నగదు లోపలికి లేదా బయటికి వెళ్లినప్పుడు, అలాగే dividends జమ అయినప్పుడు fund ధరల శ్రేణిపై లెక్కించిన drawdown మరియు వాస్తవ ఖాతాపై లెక్కించిన drawdown వేర్వుగా ఉంటాయి. నెలవారీ రాబడులను ఎలా కొలుస్తారు ఈ అంశాన్ని పూర్తిగా వివరిస్తుంది.

గరిష్ఠ పతనం తరచుగా అడిగే ప్రశ్నలు

మంచి గరిష్ఠ పతనం ఎంత ఉండాలి?

అందరికీ వర్తించే ఒకే సంఖ్య లేదు. పోల్చడానికి ఒక బెంచ్‌మార్క్, కొలవడానికి ఒక కాలపరిమితి అవసరం. 2026 జూలై 31తో ముగిసిన పది సంవత్సరాల్లో, SPYలో నడిచే గరిష్ఠ స్థాయి నుంచి వచ్చిన అత్యంత తీవ్రమైన పతనం రోజువారీ ముగింపు ధరల ఆధారంగా 34.2%గా నమోదైంది. తక్కువ కాలపరిమితిలో ఒక వ్యూహం ఇంకా చిన్న సంఖ్యను చూపిస్తే, అది తప్పనిసరిగా మరింత సురక్షితమైనదని అర్థం కాదు.

గరిష్ఠ పతనం, అస్థిరత ఒకటేనా?

కాదు. అస్థిరత సాధారణ రోజువారీ ధర మార్పును వివరిస్తుంది. గరిష్ఠ పతనం మాత్రం గరిష్ఠ స్థాయి నుంచి కనిష్ఠ స్థాయికి జరిగిన అత్యంత తీవ్రమైన ప్రయాణాన్ని వివరిస్తుంది. రెండు సంవత్సరాల పాటు నిరంతరం పడిపోయే తక్కువ అస్థిరత కలిగిన హోల్డింగ్, కొత్త గరిష్ఠాలను నమోదు చేస్తూనే ఉండే ఎక్కువ హెచ్చుతగ్గుల హోల్డింగ్ కంటే లోతైన పతనాన్ని చూపించవచ్చు.

గరిష్ఠ పతనం నుంచి కోలుకోవడానికి ఎంత సమయం పడుతుంది?

ఇది మారుతూ ఉంటుంది. తిరిగి పూర్వ గరిష్ఠానికి చేరుకునే దశ తరచుగా ఎక్కువ సమయం తీసుకుంటుంది. 2016 నుంచి SPYలో, మునుపటి గరిష్ఠ స్థాయి కంటే దిగువన పూర్తయిన అత్యంత దీర్ఘ కాలం, ఆ గరిష్ఠం నుంచి కొత్త గరిష్ఠం నమోదయ్యే వరకు 181 క్యాలెండర్ రోజులు కొనసాగింది. అందులో 33 రోజులు పతనంలో గడిచాయి.

గరిష్ఠ పతనం భవిష్యత్తు నష్టాలను అంచనా వేయగలదా?

కాదు. ఇది ఇప్పటికే జరిగిన ఒక ధర ప్రయాణాన్ని మాత్రమే వివరిస్తుంది. ఎక్కువ కాలపరిమితిని పరిశీలిస్తే సాధారణంగా పెద్ద సంఖ్యే నమోదవుతుంది. ఒక వ్యూహం ఇప్పటివరకు తట్టుకున్న పరిస్థితులను ఇది నమోదు చేస్తుంది. భవిష్యత్తులో వచ్చే నష్టాలకు మాత్రం దీనికి ఎలాంటి పరిమితి లేదు.


పై ప్రతి ప్యానెల్ వెనుక ఉన్న SQLను నిల్వ చేస్తుంది. ఒక ప్యానెల్‌ను తెరిచి, ticker లేదా కాలపరిమితిని మార్చి, Strasmore terminalలో అదే drawdown లెక్కింపును అమలు చేయండి.

#risk#drawdown#backtesting#performance metrics#python