Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-08-21

Value at Risk లెక్కింపు: 3 పద్ధతులు

ఒకే SPY రాబడుల శ్రేణిపై చారిత్రక, పారామెట్రిక్, Monte Carlo Value at Risk లెక్కింపుతో పాటు, VaR చూపించని expected shortfall‌ను వివరిస్తుంది.

Value at risk, లేదా VaR,ను లెక్కించడానికి ముందుగా కాలవ్యవధిని, విశ్వసనీయత స్థాయిని నిర్ణయిస్తారు. ఆ తర్వాత రాబడుల శ్రేణి నుంచి సంబంధిత శాతం విలువను తీసుకుంటారు. ఒక రోజు 99% VaR 2%గా ఉంటే, ప్రతి 100 ట్రేడింగ్ సెషన్లలో 99 సెషన్లలో నష్టం 2%లోపే ఉంటుందని, వందో సెషన్‌లో అది 2%ను మించవచ్చని అర్థం. ఒకే ఇన్‌పుట్‌లను ఉపయోగించినప్పటికీ, ఈ ప్రశ్నకు మూడు ప్రామాణిక పద్ధతులు వేర్వేరు సమాధానాలు ఇస్తాయి. వాటి మధ్య తేడా చాలామంది అంచనా వేసేదానికంటే ఎక్కువగా ఉంటుంది.

ప్రమాదంలో ఉన్న విలువ వాస్తవంగా ఏమి కొలుస్తుంది

VaR అనేది నష్టాల పంపిణీలోని ఒక క్వాంటైల్. నమూనాలోని ప్రతి రోజువారీ రాబడిని అత్యంత ప్రతికూలం నుంచి అత్యంత అనుకూలం వరకు క్రమబద్ధీకరించండి. ప్రతికూల చివర నుంచి 1% దూరం లోపలికి వెళ్లండి. అక్కడి రాబడిని సానుకూల నష్టంగా రాస్తే, అది ఒకరోజు 99% చారిత్రక VaR అవుతుంది. ఈ నిర్మాణం ఎక్కడా అత్యంత తీవ్రమైన నష్టానికి హామీ ఇవ్వదు. అంచనా వివరించే ప్రాంతం ముగిసే సరిహద్దును మాత్రమే ఇది సూచిస్తుంది.

పాఠకులు అత్యంత తరచుగా తప్పుగా అర్థం చేసుకునే అంశం ఇదే. 99% VaR ప్రకారం అత్యంత ప్రతికూలమైన 1% రోజులు ఆ పరిమితిని దాటి ఉంటాయి. కానీ అవి ఎంత దూరం దాటుతాయో VaR చెప్పదు. గరిష్ఠ డ్రాడౌన్ వేరే ప్రశ్నకు సమాధానం ఇస్తుంది. ఒక పోర్ట్‌ఫోలియో వాస్తవంగా ఎదుర్కొన్న గరిష్ఠ శిఖరం నుంచి కనిష్ఠ స్థాయికి జరిగిన నష్టాన్ని అది కొలుస్తుంది. అందువల్ల ఇదే రెండు పోర్ట్‌ఫోలియోలను ఈ రెండు కొలమానాలు పరస్పర విరుద్ధ క్రమంలో ర్యాంక్ చేయవచ్చు.

క్రింద ఉన్న ప్రతి గణాంకం ఒకే సిరీస్‌పై ఆధారపడి ఉంటుంది: 2010 ప్రారంభం నుంచి 2025 ముగింపు వరకు SPY రోజువారీ ముగింపు ధరలు. వీటిని ఒక ముగింపు నుంచి తదుపరి ముగింపు వరకు శాతం మార్పులుగా మార్చాం. ఈ కాలపరిమితి రోలింగ్ కాకుండా స్థిరంగా ఉంటుంది. ప్రతి ప్యానెల్ కూడా ఇదే తేదీల నుంచి సిరీస్‌ను మళ్లీ నిర్మిస్తుంది. అందువల్ల రన్‌ల మధ్య సంఖ్యలు మారవు.

క్వెరీపిన్ చేసిన రాబడి శ్రేణి: క్యాలెండర్ సంవత్సరాల వారీగా SPY రోజువారీ రాబడులు, 2010 నుంచి 2025 వరకు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
px AS
(
    SELECT date, max(toFloat64(close)) AS close_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2009-12-01'
      AND date <  '2026-01-01'
    GROUP BY date
),
rets AS
(
    SELECT date, 100 * (close_px / prev_close - 1) AS ret_pct
    FROM
    (
        SELECT date, close_px,
               lagInFrame(close_px, 1) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
        FROM px
    )
    WHERE date >= '2010-01-01' AND prev_close > 0
)
SELECT
    toString(toYear(date))        AS year,
    count()                       AS sessions,
    round(avg(ret_pct), 3)        AS mean_return_pct,
    round(stddevSamp(ret_pct), 2) AS daily_sigma_pct
FROM rets
GROUP BY year
ORDER BY year
Run this yourself

ఈ సిరీస్ 16 క్యాలెండర్ సంవత్సరాలను, 2010లో మాత్రమే 252 ట్రేడింగ్ సెషన్‌లను కలిగి ఉంది. తరువాతి విశ్లేషణకు దాని రెండు లక్షణాలు ముఖ్యమైనవి. ఈ కాలపరిమితిలో సగటు సెషన్ ప్రభావం దాదాపు స్వల్పమే: 2010లో 0.054%. దీనితో పోలిస్తే రోజువారీ ప్రామాణిక విచలనం, sigma, 1.13%. అలాగే sigma స్థిరమైనది కాదు. 2020లో ఇది రోజుకు 2.11%గా, 2017లో రోజుకు 0.43%గా ఉంది. ఒకే sigma ఈ రెండింటినీ వివరించలేడు.

విలువ-ప్రమాదాన్ని లెక్కించే మూడు పద్ధతులు

చారిత్రక VaR: గతంలో జరిగినదాని నుంచి శతాంశాన్ని తీసుకోవడం

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

Parametric VaR: సగటు మైనస్ z గుణకారం sigma

సిరీస్‌ను దాని సగటు మరియు sigmaతో సంక్షిప్తంగా వివరించి, రాబడులు normal distributionను అనుసరిస్తాయని ఊహించాలి. VaR అనేది z గుణకారం sigma నుంచి సగటును తీసివేసిన విలువ. ఇక్కడ z అనేది standard normal quantile: 95% వద్ద 1.645, 99% వద్ద 2.326, 99.9% వద్ద 3.090. లెక్కింపు వెంటనే పూర్తవుతుంది. కానీ ఈ ఊహ ఒక నిర్దిష్ట దిశలో విఫలమవుతుంది. Daily equity returns, normal curve మధ్యభాగంలో ఉన్నదానికంటే మరింత గట్టిగా సమీకృతమవుతాయి. అంచుల్లో మాత్రం అవి మరింత దూరం వెళ్తాయి. ఇక్కడ sigma, Sharpe ratioలో కూడా ఉపయోగించే denominator. Fat-tailed data విషయంలో అదే అంధబిందువును ఇది తీసుకువస్తుంది.

Monte Carlo VaR: seedను స్థిరంగా ఉంచి simulation చేయడం

ఒక ఊహించిన ప్రక్రియ నుంచి పెద్ద synthetic sampleను సృష్టించి, వచ్చిన విలువల నుంచి శతాంశాన్ని తీసుకోవాలి. దిగువ panelలో hash-seeded uniform sequence నుంచి Box-Muller transformతో రూపొందించిన 40,000 standard normal draws ఉపయోగించబడ్డాయి. వీటిని సిరీస్ సగటు మరియు sigmaకు scale చేశారు. Seed SQLలోనే ఉంది. అందువల్ల ప్రతి rerunలో draws ఒకేలా ఉంటాయి. Simulation వల్ల flexibility, path dependence, multi-asset correlation లభిస్తాయి. కానీ realism మాత్రం లభించదు. దీనికి normal distribution ఇస్తే, sampling noiseతో కూడిన parametric ఫలితాన్నే తిరిగి ఇస్తుంది. గమనించిన returnsను resample చేస్తే, అంటే bootstrapped confidence intervals వెనుక ఉన్న సాంకేతికతను ఉపయోగిస్తే, వాస్తవ tail కూడా లెక్కలో కొనసాగుతుంది.

క్వెరీఒక శ్రేణి, మూడు పద్ధతులు: ఆరు విశ్వసనీయతా స్థాయిల వద్ద 1-రోజు VaR
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
px AS
(
    SELECT date, max(toFloat64(close)) AS close_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2009-12-01'
      AND date <  '2026-01-01'
    GROUP BY date
),
rets AS
(
    SELECT date, 100 * (close_px / prev_close - 1) AS ret_pct
    FROM
    (
        SELECT date, close_px,
               lagInFrame(close_px, 1) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
        FROM px
    )
    WHERE date >= '2010-01-01' AND prev_close > 0
),
emp AS
(
    SELECT
        avg(ret_pct)                  AS mu,
        stddevSamp(ret_pct)           AS sd,
        quantileExact(0.100)(ret_pct) AS h90,
        quantileExact(0.050)(ret_pct) AS h95,
        quantileExact(0.025)(ret_pct) AS h975,
        quantileExact(0.010)(ret_pct) AS h99,
        quantileExact(0.005)(ret_pct) AS h995,
        quantileExact(0.001)(ret_pct) AS h999
    FROM rets
),
draws AS
(
    SELECT
        quantileExact(0.100)(z) AS z90,
        quantileExact(0.050)(z) AS z95,
        quantileExact(0.025)(z) AS z975,
        quantileExact(0.010)(z) AS z99,
        quantileExact(0.005)(z) AS z995,
        quantileExact(0.001)(z) AS z999
    FROM
    (
        SELECT sqrt(-2 * log(u1)) * cos(2 * pi() * u2) AS z
        FROM
        (
            SELECT
                (cityHash64('var-seed-u1', i) % 999999937 + 1) / 999999938.0 AS u1,
                (cityHash64('var-seed-u2', i) % 999999937 + 1) / 999999938.0 AS u2
            FROM (SELECT arrayJoin(range(40000)) AS i)
        )
    )
)
SELECT
    tupleElement(lvl, 1)                                                  AS confidence,
    round(-1 * tupleElement(lvl, 2), 2)                                   AS historical_var_pct,
    round(tupleElement(lvl, 3) * sd - mu, 2)                              AS parametric_var_pct,
    round(-1 * (mu + sd * tupleElement(lvl, 4)), 2)                       AS monte_carlo_var_pct,
    round(-1 * tupleElement(lvl, 2) - (tupleElement(lvl, 3) * sd - mu), 2) AS method_spread
FROM
(
    SELECT
        mu,
        sd,
        arrayJoin([
            ('90.0%', h90,  1.281552, z90,  1),
            ('95.0%', h95,  1.644854, z95,  2),
            ('97.5%', h975, 1.959964, z975, 3),
            ('99.0%', h99,  2.326348, z99,  4),
            ('99.5%', h995, 2.575829, z995, 5),
            ('99.9%', h999, 3.090232, z999, 6)
        ]) AS lvl
    FROM emp
    CROSS JOIN draws
)
ORDER BY tupleElement(lvl, 5)
Run this yourself

95.0% స్థాయిలో మూడు పద్ధతుల ఫలితాలు ఒక percentage pointలోపే ఉంటాయి: 1.66% historical, 1.74% parametric, 1.71% simulated. 99.9% వద్ద మాత్రం అవి వేరుపడతాయి: 5.85% historicalకు వ్యతిరేకంగా 3.31% parametric. ఒకే dataపై తేడా 2.54 percentage points. ప్రతి స్థాయిలో simulated column, parametric column పక్కనే ఉంటుంది. లోపం కంటే ఇదే ప్రధాన పాఠం. Simulationకు ఇచ్చిన ఏ distributionనైనా అది పునరుత్పత్తి చేస్తుంది.

ఒక columnలో panelను పై నుంచి కిందకు చదివితే, ప్రతి అదనపు confidence స్థాయి thresholdను విస్తరిస్తుంది. ఒక rowను ఎడమ నుంచి కుడికి చదివితే, distribution మధ్యభాగంలో method ఎంపిక ప్రభావం చాలా తక్కువగా కనిపిస్తుంది. Tailలో మాత్రం అదే ఎంపిక ప్రధానమవుతుంది. Method మరియు window లేకుండా పేర్కొన్న VaR limitను మరెవరూ పునరుత్పత్తి చేయలేరు.

VaR చెప్పలేనిది: expected shortfall

Conditional VaR అని కూడా పిలిచే expected shortfall, VaR పరిమితిని దాటిన రోజుల్లో వచ్చిన నష్టాల సగటును చూపిస్తుంది. VaR tail ప్రారంభమయ్యే స్థాయిని సూచిస్తుంది. Expected shortfall ఆ tailలోని నష్టాల తీవ్రతను కొలుస్తుంది.

క్వెరీVaR వర్సెస్ అంచనా లోటు: పరిమితిని దాటిన సగటు నష్టం
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
px AS
(
    SELECT date, max(toFloat64(close)) AS close_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2009-12-01'
      AND date <  '2026-01-01'
    GROUP BY date
),
rets AS
(
    SELECT date, 100 * (close_px / prev_close - 1) AS ret_pct
    FROM
    (
        SELECT date, close_px,
               lagInFrame(close_px, 1) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
        FROM px
    )
    WHERE date >= '2010-01-01' AND prev_close > 0
),
qs AS
(
    SELECT
        quantileExact(0.100)(ret_pct) AS q90,
        quantileExact(0.050)(ret_pct) AS q95,
        quantileExact(0.025)(ret_pct) AS q975,
        quantileExact(0.010)(ret_pct) AS q99,
        quantileExact(0.005)(ret_pct) AS q995,
        quantileExact(0.001)(ret_pct) AS q999
    FROM rets
),
tails AS
(
    SELECT
        any(q90)                        AS var90,
        any(q95)                        AS var95,
        any(q975)                       AS var975,
        any(q99)                        AS var99,
        any(q995)                       AS var995,
        any(q999)                       AS var999,
        avgIf(ret_pct, ret_pct <= q90)  AS es90,
        avgIf(ret_pct, ret_pct <= q95)  AS es95,
        avgIf(ret_pct, ret_pct <= q975) AS es975,
        avgIf(ret_pct, ret_pct <= q99)  AS es99,
        avgIf(ret_pct, ret_pct <= q995) AS es995,
        avgIf(ret_pct, ret_pct <= q999) AS es999
    FROM rets
    CROSS JOIN qs
    HAVING countIf(ret_pct <= q999) > 0
)
SELECT
    tupleElement(lvl, 1)                                  AS confidence,
    round(-1 * tupleElement(lvl, 2), 2)                   AS historical_var_pct,
    round(-1 * tupleElement(lvl, 3), 2)                   AS expected_shortfall_pct,
    round(tupleElement(lvl, 3) / tupleElement(lvl, 2), 2) AS es_to_var_ratio
FROM
(
    SELECT
        arrayJoin([
            ('90.0%', var90,  es90,  1),
            ('95.0%', var95,  es95,  2),
            ('97.5%', var975, es975, 3),
            ('99.0%', var99,  es99,  4),
            ('99.5%', var995, es995, 5),
            ('99.9%', var999, es999, 6)
        ]) AS lvl
    FROM tails
)
ORDER BY tupleElement(lvl, 4)
Run this yourself

99.0% వద్ద, ఈ సిరీస్‌పై VaR 3.09%గా, expected shortfall 4.43%గా ఉంది. అంటే ఇది threshold కంటే 1.44 రెట్లు. అదే స్థాయిలో normal distribution ఉంటే, ఈ నిష్పత్తి సుమారు 1.15 వద్ద ఉండేది. Threshold ఇప్పటికే 5.85%కు చేరిన 99.9% వద్ద కూడా, breach జరిగిన రోజుల్లో సగటు నష్టం 8.14%గా ఉంది. VaRపైనే ఆధారపడిన పరిమితి ప్రతి breachను ఒకే రకమైన సంఘటనగా పరిగణిస్తుంది. ఈ నిష్పత్తి కాలమ్ ఆ అంచనా ఎంతవరకు తప్పో కొలుస్తుంది.

ఒక రోజు 99% VaR సంస్థకు, ట్రేడర్‌కు ఒకే అర్థాన్నిస్తుందా?

లేదు. ఈ తేడాకు ప్రధాన కారణం risk horizon. రాత్రికి పొజిషన్‌ లేకుండా ఉండే ట్రేడర్ కొన్ని గంటలపాటు మాత్రమే రిస్క్‌ను కలిగి ఉంటాడు. అందువల్ల ఒక సెషన్‌ threshold అతని holding periodకు దగ్గరగా ఉంటుంది. అయితే intraday ధరల మార్గం close-to-close సంఖ్యను చాలాసార్లు మించవచ్చు. దీర్ఘకాలిక బాధ్యతలకు నిధులు సమకూర్చే సంస్థలు సంవత్సరాలపాటు పొజిషన్లు ఉంచుతాయి. వాటి exposure అనేక త్రైమాసికాలపాటు కొనసాగుతుంది. కాబట్టి వాటి ఒక రోజు 99% సంఖ్య, సంస్థ మోస్తున్న అసలు రిస్క్‌ వివరణ కంటే capital మరియు monitoring కోసం ఉపయోగించే సూచికగా పనిచేస్తుంది. బ్యాంకుల capital rulesలో ఎన్నో సంవత్సరాలు ఒక రోజు 99% VaR ఉపయోగించారు. తరువాత Basel market risk framework ఈ కొలతను 97.5% expected shortfallగా మార్చింది.

వేర్వేరు horizons మధ్య సాధారణ మార్పిడి విధానం time square root scaling. అంటే ఒక సెషన్‌ సంఖ్యను horizonలోని సెషన్ల సంఖ్య square rootతో గుణించాలి. ఈ విధానం returns పరస్పరం స్వతంత్రంగా ఉండి, sigma స్థిరంగా ఉంటుందని ఊహిస్తుంది. పై year-by-year sigma పట్టికలో ఈ ఊహ రెండో సగంలోనే విఫలమవుతున్నట్లు కనిపిస్తుంది.

క్వెరీకొలిచిన బహుళ-సెషన్ నష్టాలతో కాల వర్గమూల స్కేలింగ్, 99% స్థాయి
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
px AS
(
    SELECT date, max(toFloat64(close)) AS close_px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2009-11-01'
      AND date <  '2026-01-01'
    GROUP BY date
),
multi AS
(
    SELECT
        date,
        100 * (close_px / p1  - 1) AS r1,
        100 * (close_px / p5  - 1) AS r5,
        100 * (close_px / p10 - 1) AS r10,
        100 * (close_px / p20 - 1) AS r20
    FROM
    (
        SELECT
            date,
            close_px,
            lagInFrame(close_px, 1)  OVER (ORDER BY date ROWS BETWEEN 20 PRECEDING AND CURRENT ROW) AS p1,
            lagInFrame(close_px, 5)  OVER (ORDER BY date ROWS BETWEEN 20 PRECEDING AND CURRENT ROW) AS p5,
            lagInFrame(close_px, 10) OVER (ORDER BY date ROWS BETWEEN 20 PRECEDING AND CURRENT ROW) AS p10,
            lagInFrame(close_px, 20) OVER (ORDER BY date ROWS BETWEEN 20 PRECEDING AND CURRENT ROW) AS p20
        FROM px
    )
    WHERE date >= '2010-01-01' AND p20 > 0
),
q AS
(
    SELECT
        quantileExact(0.01)(r1)  AS q1,
        quantileExact(0.01)(r5)  AS q5,
        quantileExact(0.01)(r10) AS q10,
        quantileExact(0.01)(r20) AS q20
    FROM multi
)
SELECT
    tupleElement(h, 1)                                             AS horizon,
    round(-1 * tupleElement(h, 3), 2)                              AS actual_var_pct,
    round(-1 * q1 * sqrt(tupleElement(h, 2)), 2)                   AS sqrt_scaled_var_pct,
    round(tupleElement(h, 3) / (q1 * sqrt(tupleElement(h, 2))), 2) AS actual_to_scaled_ratio
FROM
(
    SELECT
        q1,
        arrayJoin([
            ('1 session',   1.0,  q1,  1),
            ('5 sessions',  5.0,  q5,  2),
            ('10 sessions', 10.0, q10, 3),
            ('20 sessions', 20.0, q20, 4)
        ]) AS h
    FROM q
)
ORDER BY tupleElement(h, 4)
Run this yourself

మొదటి వరుస identity check. 1 session వద్ద scaled figure మరియు measured figure సమానంగా ఉన్నాయి; ratio 1. 20 sessions వద్ద ఈ రెండు వేరు అవుతాయి. సాధారణంగా హెచ్చరించే దిశలో కాకుండా, ఒక సెషన్‌ సంఖ్యను scale చేస్తే 13.8% వస్తుంది. అదే horizonలో కొలిచిన returns 10.7%గా నమోదవుతాయి; ratio 0.78. ఈ windowలో scaled figure, measured multi-session tail కంటే ఎక్కువగా ఉంది. ఇక్కడ రెండు నమూనాలు పరస్పరం వ్యతిరేకంగా పనిచేస్తున్నాయి. ఒక సెషన్‌ returnsలోని fat tail, returnsను కలిపినప్పుడు పలుచబడుతుంది. అందువల్ల aggregated 99% quantile, horizon square root కంటే నెమ్మదిగా విస్తరిస్తుంది. Volatility clustering దీనికి విరుద్ధంగా పనిచేస్తుంది. ఒకే windowలో తీవ్రమైన సెషన్లు వరుసగా చేరతాయి. ఈ seriesలో మొదటి నమూనా ప్రభావం ఎక్కువగా ఉంది. అయితే మరో windowలో లేదా మరో assetలో ఏ దిశ అయినా తప్పనిసరి కాదు. ఇదే ముఖ్యమైన విషయం: multiplier ఒక assumption, measurement కాదు. పొజిషన్ల పరిమాణాన్ని మార్చే volatility targeting కూడా ఈ clustering లక్షణంపైనే ఆధారపడుతుంది.

మరో పరిమితి కూడా స్పష్టంగా చెప్పాలి. పై విశ్లేషణ మొత్తం broad index fundకు సంబంధించిన single-asset VaR. పరస్పరం correlatedగా ఉన్న పది పేర్లతో కూడిన bookలో concentration risk ఉంటుంది. Portfolio VaR దీన్ని correlation estimate ద్వారా పరిగణనలోకి తీసుకుంటుంది. అయితే estimate అత్యంత అవసరమైన సమయంలోనే correlations ఎక్కువగా మారుతాయి.

విధానం మరియు పద్ధతుల గమనికలు
  • Percentilesను sampled estimate ద్వారా కాకుండా exact quantile ద్వారా లెక్కించారు. Monte Carlo draws కోసం SQLలో రాసిన hash-seeded uniform sequenceను ఉపయోగించారు. అందువల్ల ఇక్కడి ప్రతి figureను తిరిగి లెక్కిస్తే అదే value వస్తుంది.
  • Returns అనేవి dividend reinvestment లేకుండా close-to-close ధర మార్పులు. ఒక సెషన్‌ VaRకు ఇది సాధారణ పద్ధతి.
  • Horizon panelలో overlapping windows ఉపయోగించారు. వరుసగా ఉన్న 20 సెషన్ల returnsలో 19 రోజులు ఉమ్మడిగా ఉంటాయి. అందువల్ల row count సూచించేదానికంటే tailకు స్వతంత్ర observations చాలా తక్కువగా ఉంటాయి.

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

1-day 99% VaR అంటే ఏమిటి?

ఒకే ట్రేడింగ్ సెషన్‌లో కొలిచినప్పుడు, ప్రతి 100 ట్రేడింగ్ రోజుల్లో అత్యంత ప్రతికూలమైన 1 రోజున అధిగమించే నష్టం స్థాయి ఇది. పైన ఉన్న సిరీస్‌లో చారిత్రక అంచనా 3.09%. ఈ సంఖ్య ఒక పరిమితిని సూచిస్తుంది; దానిని మించిన నష్టాలు ఎంత పెద్దవిగా ఉంటాయో మాత్రం చెప్పదు.

ఏ VaR లెక్కింపు పద్ధతి అత్యంత ఖచ్చితమైనది?

సూత్రప్రాయంగా ఈ మూడింటిలో ఏదీ పూర్తిగా ఖచ్చితమైనది కాదు, ఎందుకంటే ప్రతి పద్ధతి వేర్వేరు అంచనాల ఆధారంగా ప్రశ్నకు సమాధానం ఇస్తుంది. Historical VaRకు అందించిన నమూనాతో ప్రత్యక్ష సంబంధం ఉంటుంది; ఆ నమూనాలో లేని పరిస్థితుల గురించి అది ఏమీ చెప్పదు. Parametric VaR తక్కువ ఖర్చుతో కూడుకున్నది, కానీ equity tail risksను తక్కువగా అంచనా వేస్తుంది. Monte Carlo ఫలితం దానిలో ఉపయోగించిన distribution నాణ్యతపై ఆధారపడి ఉంటుంది.

VaR మరియు expected shortfall మధ్య తేడా ఏమిటి?

ఎంచుకున్న confidence level వద్ద VaR నష్టం పరిమితిని సూచిస్తుంది. ఆ పరిమితిని దాటిన రోజుల్లోని నష్టాల సగటును expected shortfall సూచిస్తుంది. ఈ సిరీస్‌లో 99% స్థాయి expected shortfall, VaR కంటే 1.44 రెట్లు ఉంది. Normal distributionలో ఇది సుమారు 1.15 రెట్లు ఉంటుంది.

1-day VaRను 10-day VaRగా మార్చవచ్చా?

10 యొక్క వర్గమూలంతో గుణించడం సాధారణ shortcut. దీనికి returns పరస్పరం independentగా ఉండాలి, volatility స్థిరంగా ఉండాలి అనే అంచనాలు అవసరం. Horizon panel ఈ తేడాను కొలుస్తుంది: 20 సెషన్లలో scaled figure 13.8%గా ఉండగా, కొలిచిన figure 10.7%గా ఉంది.


పైన ఉన్న ప్రతి panelను రూపొందించిన SQLను కలిగి ఉంది. వేరే ticker లేదా windowపై ఇదే మూడు లెక్కింపులను అమలు చేయాలంటే, Strasmore terminalలో plain Englishలో అభ్యర్థించండి.

#risk#value at risk#expected shortfall#quant#position sizing