Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

समान भार बनाम अनुकूलित पोर्टफोलियो रणनीति

जब नमूना आकार छोटा होता है तो समान भार रणनीति अनुकूलित पोजीशन साइजिंग से बेहतर प्रदर्शन करती है। एक पायथन सिमुलेशन यह दर्शाता है कि नमूना बढ़ने पर यह अंतर कैसे बदलता है।

समान भार (Equal weight) बनाम अनुकूलित पोर्टफोलियो

जब नमूना (sample) इतना छोटा हो कि अपेक्षित रिटर्न (expected returns) का सटीक अनुमान न लगाया जा सके, तो समान भार (equal weight) रणनीति अनुकूलित पोजीशन साइजिंग (optimized position sizing) से बेहतर प्रदर्शन करती है। वित्तीय बाजारों में छोटे नमूने अपवाद नहीं, बल्कि सामान्य स्थिति हैं। एक ऑप्टिमाइज़र (optimizer) वास्तव में सटीक गणित है, जिसे ऐसे इनपुट पर लागू किया जाता है जिसे कोई भी ठीक से नहीं माप सकता। 1/N पोर्टफोलियो, यानी समान भार रणनीति, किसी भी चीज़ का अनुमान नहीं लगाती है। यही कारण है कि जब अनुमान गलत साबित होते हैं, तब भी यह रणनीति प्रभावी बनी रहती है।

क्या समान भार (equal weight) वास्तव में ऑप्टिमाइज़ेशन से बेहतर प्रदर्शन करता है?

एक विशिष्ट स्थिति में, हाँ। आइए इन शर्तों को एक-एक करके समझें। समान भार, जिसे 1/N के रूप में लिखा जाता है, पूंजी को N स्थितियों में समान रूप से विभाजित करता है और इसके लिए किसी भी प्रकार के पूर्वानुमान की आवश्यकता नहीं होती है। मीन-वेरिएंस ऑप्टिमाइज़ेशन (mean variance optimization) उन भारों का समाधान करता है जो अनुमानित वेरिएंस की प्रति इकाई सर्वोत्तम अपेक्षित रिटर्न प्रदान करते हैं। केली क्राइटेरियन (Kelly criterion) उन भारों का समाधान करता है जो लंबी अवधि की चक्रवृद्धि वृद्धि को अधिकतम करते हैं; असंबद्ध संपत्तियों के बीच इसका उत्तर प्रत्येक संपत्ति के अपेक्षित अतिरिक्त रिटर्न को उसके वेरिएंस से विभाजित करने के समानुपाती होता है। हमारी केली क्राइटेरियन पोजीशन साइजिंग गाइड उस फॉर्मूले का विस्तार से वर्णन करती है।

दोनों ऑप्टिमाइज़र को एक ही इनपुट की आवश्यकता होती है: प्रति संपत्ति अपेक्षित रिटर्न। यह वह मात्रा है जिसका अनुमान एक नमूना सबसे खराब तरीके से लगाता है। अस्थिरता (volatility) एक छोटी अवधि से काम करने योग्य सटीकता के साथ प्राप्त हो जाती है। माध्य (mean) ऐसा नहीं करता है, और दोनों के बीच का अंतर इतना बड़ा है कि इसे किसी भी मूल्य इतिहास में देखा जा सकता है। नीचे दिया गया पैनल छह व्यापक रूप से रखे गए नामों को लेता है, 2015 से 2024 तक प्रत्येक कैलेंडर वर्ष को अलग-अलग मापता है, और रिपोर्ट करता है कि उच्चतम और निम्नतम वार्षिक अनुमान के बीच कितना अंतर है। यह प्रत्येक नाम के लिए दो बार ऐसा करता है: एक बार वार्षिक औसत दैनिक रिटर्न के लिए, और एक बार वार्षिक अस्थिरता के लिए।

क्वेरीदस वर्षों के वार्षिक अनुमान: माध्य, अस्थिरता की तुलना में अधिक परिवर्तित होता है
हर आंकड़े के पीछे का पूरा SQL
WITH prices AS
(
    SELECT
        ticker,
        date,
        toFloat64(max(close)) AS c
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
      AND date >= '2015-01-01'
      AND date <  '2025-01-01'
    GROUP BY ticker, date
),
rets AS
(
    SELECT
        ticker,
        date,
        c / lagInFrame(c, 1) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
    FROM prices
),
yearly AS
(
    SELECT
        ticker,
        toYear(date)                     AS yr,
        avg(ret) * 252 * 100             AS mean_pct,
        stddevPop(ret) * sqrt(252) * 100 AS vol_pct
    FROM rets
    WHERE isFinite(ret)
    GROUP BY ticker, yr
    HAVING count() >= 200
)
SELECT
    ticker,
    round(max(mean_pct) - min(mean_pct), 1) AS mean_estimate_range_pct,
    round(max(vol_pct) - min(vol_pct), 1)   AS vol_estimate_range_pct
FROM yearly
GROUP BY ticker
ORDER BY mean_estimate_range_pct DESC
Run this yourself

NVDA के लिए, वार्षिक माध्य अनुमान उन दस वर्षों में 184.7 प्रतिशत अंकों तक फैला है, जबकि उसी नाम के लिए उन्हीं वर्षों में अस्थिरता अनुमान में 28.6 अंकों की सीमा है। पैनल में सबसे स्थिर नाम, KO, ने भी अपने वार्षिक माध्य अनुमान को 23.9 अंकों के दायरे में बदला है। कोई भी योजना जो पिछले वर्ष के औसत रिटर्न को इस वर्ष के अपेक्षित रिटर्न के रूप में ऑप्टिमाइज़र को सौंपती है, वह उसे इतनी अधिक अनिश्चितता वाली संख्या प्रदान कर रही है।

अपेक्षित रिटर्न का अनुमान लगाने के लिए आपको कितने लंबे सैंपल की आवश्यकता है?

अनुमानित औसत रिटर्न की मानक त्रुटि (standard error) संपत्ति की अस्थिरता (volatility) को सैंपल की अवधि (वर्षों में) के वर्गमूल से विभाजित करने पर प्राप्त होती है। यह अवधि वर्षों में होनी चाहिए, न कि अवलोकनों की संख्या में: बारह महीनों के डेटा को दैनिक के बजाय प्रति घंटा सैंपल करने से कोई लाभ नहीं होता। यदि आप बीस प्रतिशत अस्थिरता वाली संपत्ति को इस फॉर्मूले में रखते हैं, तो एक वर्ष का इतिहास बीस प्रतिशत अंक प्रति वर्ष की मानक त्रुटि देता है। चार वर्ष इसे आधा करके दस पर ले आते हैं। इसे एक अंक तक कम करने के लिए—जो कि उन दो संपत्तियों को रैंक करने के लिए आवश्यक सटीकता है जिनके वास्तविक माध्य में दो अंकों का अंतर है—चार शताब्दियों के डेटा की आवश्यकता होती है।

अस्थिरता (volatility) का मामला अलग है। इसकी सटीकता कैलेंडर अवधि के बजाय अवलोकनों की संख्या के साथ बेहतर होती है, इसलिए दैनिक डेटा के कुछ महीने ही इसे कुछ अंकों के भीतर ले आते हैं। नीचे दिया गया पैनल एक इंडेक्स फंड के बीस वर्षों के दैनिक रिटर्न को एक निश्चित लंबाई के गैर-अतिव्यापी (non-overlapping) ब्लॉकों में विभाजित करता है, प्रत्येक ब्लॉक के भीतर दोनों अनुमानों की गणना करता है, और यह रिपोर्ट करता है कि ब्लॉक-दर-ब्लॉक अनुमानों में कितना बिखराव है।

क्वेरीनमूना अवधि के अनुसार माध्य और अस्थिरता के अनुमानों में भिन्नता
हर आंकड़े के पीछे का पूरा SQL
WITH prices AS
(
    SELECT
        date,
        toFloat64(max(close)) AS c
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
      AND date >= '2005-01-01'
      AND date <  '2025-01-01'
    GROUP BY date
),
rets AS
(
    SELECT
        date,
        c / lagInFrame(c, 1) OVER (ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
    FROM prices
),
numbered AS
(
    SELECT
        ret,
        row_number() OVER (ORDER BY date ASC) AS i
    FROM rets
    WHERE isFinite(ret)
),
sweep AS
(
    SELECT
        arrayJoin([21, 63, 126, 252, 504]) AS n,
        i,
        ret
    FROM numbered
),
blocks AS
(
    SELECT
        n,
        intDiv(i - 1, n)                 AS blk,
        avg(ret) * 252 * 100             AS mean_pct,
        stddevPop(ret) * sqrt(252) * 100 AS vol_pct
    FROM sweep
    GROUP BY n, blk
    HAVING count() = n
)
SELECT
    concat(toString(n), ' sessions') AS sample_length,
    round(stddevPop(mean_pct), 1)    AS mean_estimate_spread_pct,
    round(stddevPop(vol_pct), 1)     AS vol_estimate_spread_pct,
    count()                          AS window_count
FROM blocks
GROUP BY n
ORDER BY n ASC
Run this yourself

21 sessions के ब्लॉकों पर, माध्य का अनुमान 53.7 प्रतिशत अंकों के बीच बिखरा हुआ है, जबकि समान ब्लॉकों पर मापी गई अस्थिरता के अनुमान के लिए यह 10.9 अंक है। यदि ब्लॉक को बढ़ाकर 504 sessions किया जाए, तो माध्य का बिखराव कम होकर 10.6 अंक रह जाता है। यह वर्गमूल के अनुसार कम होता है: त्रुटि को आधा करने के लिए चार गुना अधिक डेटा की आवश्यकता होती है।

एक सीडेड सिमुलेशन जिसे आप स्वयं चला सकते हैं

यह साबित करने के लिए कि एस्टिमेशन एरर (अनुमान त्रुटि) इतनी बड़ी है कि जीत 1/N को मिलनी चाहिए, इनमें से कुछ भी पर्याप्त नहीं है। लेकिन यह है। इस रेसिपी के लिए केवल Python इंस्टॉलेशन की आवश्यकता है और कुछ नहीं: कोई डेटा फ़ाइल नहीं, कोई डाउनलोड नहीं, कोई थर्ड-पार्टी पैकेज नहीं। यह आपके द्वारा चुने गए पैरामीटर्स से अपना रिटर्न खुद तैयार करता है, इसलिए सही उत्तर ज्ञात होता है और दोनों एलोकेशन का स्कोर उसके आधार पर निकाला जा सकता है।

  1. दो मॉड्यूल, import random और import statistics, और साथ ही from math import log को इम्पोर्ट करें। अगली पंक्ति में random.seed(20260816) के साथ सीड सेट करें।
  2. पांच एसेट परिभाषित करें जिनका वास्तविक वार्षिक अपेक्षित रिटर्न पांच, छह, सात, आठ और नौ प्रतिशत हो, और प्रत्येक की वास्तविक वार्षिक अस्थिरता बीस प्रतिशत हो, जो आपस में असंबंधित हों। mu_d = mu_a / 252 और sd_d = sd_a / (252 ** 0.5) के साथ इन्हें दैनिक स्टेप में बदलें।
  3. [60, 125, 250, 500, 1000, 2500, 5000] के स्वीप से एक सैंपल लंबाई T चुनें।
  4. random.gauss(mu_d, sd_d) के साथ प्रत्येक एसेट के लिए T दैनिक रिटर्न ड्रा करें। यह ड्रा वह संपूर्ण इतिहास है जिसे मैनेजर देख सकता है।
  5. प्रत्येक एसेट के माध्य (mean) का अनुमान statistics.mean से और उसकी अस्थिरता (volatility) का अनुमान statistics.stdev से लगाएं। ये दो अनुमान ही हैं जो ऑप्टिमाइज़र जानता है।
  6. प्रत्येक पांच एसेट को 0.2 का वेट देकर इक्वल वेट पोर्टफोलियो बनाएं। यह किसी भी अनुमान का उपयोग नहीं करता है।
  7. प्रत्येक रॉ वेट को mu_hat / (sd_hat ** 2) पर सेट करके ऑप्टिमाइज़्ड पोर्टफोलियो बनाएं, फिर प्रत्येक वेट को कुल एब्सोल्यूट रॉ वेट से विभाजित करें, जिससे दोनों पोर्टफोलियो समान ग्रॉस एक्सपोज़र पर आ जाएं।
  8. वास्तविक पैरामीटर्स से प्रति एसेट 2520 दैनिक रिटर्न का एक नया आउट-ऑफ-सैंपल पाथ ड्रा करें। किसी भी एलोकेशन ने इसे पहले नहीं देखा है।
  9. log(1 + r) के औसत के साथ उस पाथ पर दोनों का स्कोर निकालें, जहाँ r उस दिन के पांच एसेट रिटर्न का भारित योग (weighted sum) है।
  10. प्रत्येक T पर 2000 स्वतंत्र ट्रायल के लिए चरण 4 से 9 तक दोहराएं, और उन ट्रायल्स का हिस्सा रिकॉर्ड करें जिनमें इक्वल वेट, ऑप्टिमाइज़्ड वेट से बेहतर प्रदर्शन करता है।

स्वीप को छोटे T से लंबे T तक पढ़ें। छोटे स्तर पर, इक्वल वेट अधिकांश ट्रायल्स में स्पष्ट रूप से जीतता है। जैसे-जैसे T बढ़ता है, यह हिस्सा लगातार गिरता जाता है, और लंबे स्तर पर ऑप्टिमाइज़्ड वेट अधिकांश ट्रायल्स जीत जाते हैं। बीच में कहीं दोनों एक-दूसरे को पार करते हैं। क्रॉसओवर पॉइंट सीड और वास्तविक माध्य के बीच के अंतर (spread) के साथ बदलता है। दिशा नहीं बदलती: अधिक डेटा ऑप्टिमाइज़र के पक्ष में होता है, कम डेटा 1/N के पक्ष में। इसे दोहराने के लिए, random.seed(20260816) के अंदर के पूर्णांक को बदलें और स्वीप को फिर से चलाएं।

ऑप्टिमाइज़र खराब मीन एस्टीमेट को क्यों बढ़ा-चढ़ाकर दिखाता है

देखें कि एस्टीमेट वेट (weight) में कैसे प्रवेश करते हैं। अनुमानित मीन (mean) अंश (numerator) में होता है, और अनुमानित वेरिएंस (variance) हर (denominator) में। मीन एस्टीमेट को दोगुना करने पर वेट दोगुना हो जाता है। वेरिएंस एस्टीमेट में एक-चौथाई की कमी करने पर वेट एक-तिहाई बढ़ जाता है। एक भाग्यशाली सैंपल में दोनों त्रुटियां एक ही दिशा में इशारा करती हैं: अच्छे परिणामों की एक श्रृंखला मापे गए मीन को ऊपर उठाती है और अक्सर उसी विंडो में मापे गए वेरिएंस को कम कर देती है। ऑप्टिमाइज़र उस एसेट को समूह में सबसे बेहतर मानता है और उसी के अनुसार उसका आकार निर्धारित करता है। सैंपल से बाहर होने पर, वह फिर से समूह का एक सामान्य सदस्य बन जाता है। इक्वल वेट (equal weight) ने कभी वह भाग्यशाली सैंपल नहीं देखा।

सिमुलेशन इस समस्या का एक हल्का रूप है। पांच असंबंधित एसेट एक डायगोनल कोवेरिएंस मैट्रिक्स छोड़ते हैं जिसमें इनवर्ट करने के लिए कुछ नहीं होता। वास्तविक पोर्टफोलियो सहसंबद्ध (correlated) होते हैं, और एसेट की तुलना में बमुश्किल अधिक ऑब्जर्वेशन से बना सैंपल कोवेरिएंस मैट्रिक्स सिंगुलर के करीब होता है। इसे इनवर्ट करने से छोटी इनपुट त्रुटियां बहुत बड़े वेट में बदल जाती हैं, और इसी तरह एक ऑप्टिमाइज़र किसी एक नाम में पूंजी के कई गुना के बराबर पोजीशन बनाता है, जिसके बदले में उसके करीबी विकल्प में शॉर्ट पोजीशन ली जाती है। पोर्टफोलियो में कंसंट्रेशन रिस्क पर हमारा नोट इस बात को कवर करता है कि इस तरह का वेट ड्रॉडाउन पर क्या असर डालता है।

इनपुट भी स्थिर नहीं रहता है। नीचे दिया गया पैनल एक व्यापक इंडेक्स फंड और एक बड़े कंज्यूमर स्टेपल्स नाम के लिए रोलिंग एक-वर्षीय औसत दैनिक रिटर्न को ट्रैक करता है, जिसे वार्षिक रूप में और मासिक आधार पर सैंपल किया गया है।

क्वेरीएक वर्षीय रोलिंग माध्य रिटर्न, जिसे ऑप्टिमाइज़र में इनपुट किया जाता है
हर आंकड़े के पीछे का पूरा SQL
WITH prices AS
(
    SELECT
        ticker,
        date,
        toFloat64(max(close)) AS c
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('SPY', 'KO')
      AND date >= '2015-10-01'
      AND date <  '2025-01-01'
    GROUP BY ticker, date
),
rets AS
(
    SELECT
        ticker,
        date,
        c / lagInFrame(c, 1) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
    FROM prices
),
trailing AS
(
    SELECT
        ticker,
        date,
        avg(ret) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 251 PRECEDING AND CURRENT ROW) * 252 * 100 AS trailing_mean_pct,
        row_number() OVER (PARTITION BY ticker ORDER BY date ASC) AS i
    FROM rets
    WHERE isFinite(ret)
)
SELECT
    toString(toStartOfMonth(date))                     AS month,
    round(avgIf(trailing_mean_pct, ticker = 'SPY'), 1) AS spy_trailing_mean_pct,
    round(avgIf(trailing_mean_pct, ticker = 'KO'), 1)  AS ko_trailing_mean_pct
FROM trailing
WHERE i >= 252
  AND date >= '2017-01-01'
GROUP BY month
ORDER BY month ASC
Run this yourself

उन दो लाइनों पर हर बिंदु वह संख्या है जिसे किसी ऑप्टिमाइज़र ने उस तारीख पर अपेक्षित रिटर्न के रूप में स्वीकार किया होगा। SPY के लिए पहली मासिक रीडिंग 17.7% है और अंतिम 25.8% है, जिसके बीच में 96 रीडिंग हैं। KO उसी विंडो को -0.4% पर खोलता है। एक वेटिंग स्कीम जो इस श्रृंखला को महीने-दर-महीने लेती है, उसमें आने वाले हर उतार-चढ़ाव को विरासत में प्राप्त कर लेती है।

क्या हाफ केली (Half Kelly) और श्रिंकेज (Shrinkage) इसे ठीक करते हैं?

ये इसे नरम बनाते हैं। व्यवहार में चार उपाय सामने आते हैं, और प्रत्येक उपाय अनुमान के प्रति संवेदनशीलता को कम करने के लिए सैद्धांतिक इष्टतम (theoretical optimum) के एक हिस्से का त्याग करता है।

  • हाफ केली (Half Kelly) प्रत्येक वेट (weight) को आधा कर देता है। केली ग्रोथ कर्व अपने शिखर के पास सपाट और उसके नीचे खड़ा होता है, इसलिए आधी हिस्सेदारी सैद्धांतिक विकास दर के एक छोटे से हिस्से को छोड़ देती है, जबकि बढ़ा-चढ़ाकर बताए गए एज (edge) से होने वाले नुकसान को कहीं अधिक कम कर देती है। वोलैटिलिटी टारगेटिंग (Volatility targeting) इसी प्रवृत्ति को हर (denominator) पर लागू करती है, और एक छोटे सैंपल से प्राप्त एकमात्र इनपुट से साइजिंग करती है।
  • श्रिंकेज (Shrinkage) प्रत्येक अनुमानित माध्य (mean) को अनुमानों के क्रॉस-सेक्शनल औसत की ओर खींचता है, और यह मात्रा सैंपल के छोटे होने के साथ बढ़ती जाती है। यदि इसे सीमा तक ले जाएं, तो प्रत्येक एसेट का अपेक्षित रिटर्न समान हो जाता है; समान वोलैटिलिटी के साथ, ऑप्टिमाइज़र स्वयं ही समान वेट प्रदान करता है। समान वेट (Equal weight) पूरी तरह से श्रंक (shrunk) पोर्टफोलियो है।
  • बाधाएं (Constraints), जिसका अर्थ है शॉर्टिंग न करना और प्रति पोजीशन एक कैप लगाना, यह सीमित करती हैं कि एक भाग्यशाली अनुमान किसी एक वेट को कितनी दूर तक ले जा सकता है। ये अनुमान में सुधार के बजाय नुकसान को नियंत्रित करने के उपाय हैं।
  • अपेक्षित रिटर्न को पूरी तरह से छोड़ देने पर मिनिमम वेरियंस (minimum variance) और रिस्क पैरिटी (risk parity) बचते हैं, जो केवल कोवेरिएंस (covariance) का उपयोग करते हैं। यह वह इनपुट है जिसे सैंपल वास्तव में प्रदान कर सकता है।

इनमें से कोई भी चार उपाय ऐसी जानकारी नहीं बनाते जो सैंपल में मौजूद नहीं है। वे केवल यह बदलते हैं कि पोर्टफोलियो का कितना हिस्सा ऐसी जानकारी पर निर्भर है जो आपके पास शायद न हो।

जब ऑप्टिमाइज़ेशन अपनी उपयोगिता सिद्ध करता है

यह क्रॉसओवर दोनों दिशाओं में काम करता है। एक बार जब T का मान वास्तविक माध्य (true means) के बीच के स्प्रेड की तुलना में बड़ा हो जाता है, तो ऑप्टिमाइज़्ड एलोकेशन आगे निकल जाता है और वहीं बना रहता है। यह स्प्रेड जितना अधिक होगा, यह स्थिति उतनी ही जल्दी आएगी। जब भी इनपुट डेटा से प्राप्त होता है, तो ऑप्टिमाइज़ेशन ही सही उपकरण है: कोवेरिएंस (covariance) और हेज रेशियो (hedge ratios) का अनुमान अपेक्षित रिटर्न की तुलना में कहीं बेहतर होता है।

इक्वल वेट (Equal weight) की अपनी लागत होती है। यह उस जानकारी को अनदेखा करता है जो आपके पास वास्तव में मौजूद है, और एक छोटे यूनिवर्स में यह किसी भी ऑप्टिमाइज़र की तरह ही भारी एकाग्रता (concentration) पैदा करता है। इसे उस आधारभूत स्तर (baseline) के रूप में देखें जिसे किसी भी उम्मीदवार वेटिंग को उन डेटा पर मात देनी होती है जिसे वेट्स ने पहले कभी नहीं देखा। वेट्स को फिट करना और उन्हें उसी सैंपल पर स्कोर करना बैकटेस्टिंग में लुक-अहेड बायस का ही एक दूसरा रूप है, और यह हर बार ऑप्टिमाइज़र को ही बेहतर दिखाता है। एक एकल बिंदु अनुमान के बजाय मापे गए एज (edge) के आसपास एक ईमानदार रेंज के लिए, बूटस्ट्रैप्ड कॉन्फिडेंस इंटरवल्स मानक उपकरण हैं।

अक्सर पूछे जाने वाले प्रश्न

क्या समान भार (equal weight) वास्तव में मीन-वेरिएंस ऑप्टिमाइज़ेशन से बेहतर प्रदर्शन करता है?

अल्पकालिक नमूनों में यह अक्सर बेहतर होता है। एक ऑप्टिमाइज़र को प्रत्येक परिसंपत्ति के अपेक्षित रिटर्न के अनुमान की आवश्यकता होती है, और उस अनुमान में मानक त्रुटि (standard error) लगभग परिसंपत्ति की अस्थिरता को वर्षों में नमूना अवधि के वर्गमूल से विभाजित करने के बराबर होती है। जब तक वह त्रुटि परिसंपत्तियों के बीच के वास्तविक अंतर से अधिक रहती है, तब तक ऑप्टिमाइज़र केवल शोर (noise) को छांट रहा होता है। समान भार (equal weight) में ऐसा कोई अनुमान नहीं होता जो गलत हो सके।

अपेक्षित रिटर्न का अनुमान लगाने के लिए आपको कितने अवलोकनों की आवश्यकता है?

लगभग किसी के पास जितने होते हैं, उससे कहीं अधिक। बीस प्रतिशत अस्थिरता वाली परिसंपत्ति के लिए, दैनिक डेटा का एक वर्ष प्रति वर्ष लगभग बीस प्रतिशत अंकों की मानक त्रुटि छोड़ता है, और उस त्रुटि को आधा करने के लिए चार गुना अधिक कैलेंडर समय की आवश्यकता होती है। उसी वर्ष के भीतर इंट्राडे अवलोकन जोड़ने से कोई मदद नहीं मिलती। इसके विपरीत, अस्थिरता (volatility) का उपयोग कुछ महीनों के डेटा से किया जा सकता है।

क्या हाफ केली (half Kelly) केवल एक छोटा दांव है?

यह अनुकूल शर्तों पर एक छोटा दांव है। केली ग्रोथ कर्व अपने शिखर के पास सपाट होता है, इसलिए हिस्सेदारी को आधा करने से सैद्धांतिक विकास दर का एक छोटा हिस्सा ही कम होता है, जबकि यह रास्ते की अस्थिरता को लगभग आधा कर देता है और बढ़ा-चढ़ाकर बताए गए लाभ (edge) की लागत को कम कर देता है।

1/N पोर्टफोलियो क्या है?

यह वह पोर्टफोलियो है जो N स्थितियों में से प्रत्येक में पूंजी का समान हिस्सा लगाता है और एक निर्धारित समय-सारणी पर पुनर्संतुलन (rebalance) करता है। इसे किसी रिटर्न पूर्वानुमान और किसी कोवेरिएंस अनुमान की आवश्यकता नहीं होती है, जो इसे उन सभी वेटिंग स्कीमों के लिए मानक बेंचमार्क बनाता है जिन्हें इनकी आवश्यकता होती है।

पैनल कैसे बनाए जाते हैं

तीनों पैनल दैनिक क्लोजिंग कीमतों को पढ़ते हैं और साधारण क्लोज-टू-क्लोज रिटर्न की गणना करते हैं, जिसमें डुप्लिकेट पंक्तियों को प्रति टिकर प्रति तिथि एक क्लोज में समेकित किया जाता है। माध्य (means) को औसत दैनिक रिटर्न को 252 सत्रों से गुणा करके वार्षिक बनाया जाता है; अस्थिरता को दैनिक मानक विचलन को 252 के वर्गमूल से गुणा करके वार्षिक बनाया जाता है। वार्षिक पैनल केवल उसी कैलेंडर वर्ष को रखता है जहाँ कम से कम 200 सत्र मौजूद हों। ब्लॉक पैनल गैर-अतिव्यापी (non-overlapping) ब्लॉकों का उपयोग करता है और प्रत्येक लंबाई पर अंतिम आंशिक ब्लॉक को हटा देता है, और इसका विंडो काउंट कॉलम यह दिखाता है कि प्रत्येक लंबाई ने कितने ब्लॉक तैयार किए। इसमें कहीं भी लाभांश (dividends) शामिल नहीं हैं, इसलिए ये मूल्य रिटर्न हैं और लाभांश देने वालों के लिए किसी भी माध्य का स्तर कम करके आंका गया है। अनुमानों का प्रसार (spread) पैनलों का मुख्य उद्देश्य है, न कि उनका स्तर।


यहाँ प्रत्येक पैनल चार्ट के नीचे सटीक SQL रखता है, और सिमुलेशन अपना सीड (seed) रखता है। नामों की अपनी सूची में समान अनुमान स्थिरता जांच चलाने के लिए, Strasmore टर्मिनल पर इसे सरल अंग्रेजी में मांगें।

#quant#position sizing#portfolio construction#estimation error#kelly