Skip to content

Treasury Bill Analyzer for Zero-Coupon Bonds Using Vasicek and CIR Models with Monte Carlo Simulations

License

Notifications You must be signed in to change notification settings

navidrz/T-bills-Analyzer

Repository files navigation

** از اعداد تا استراتژی؛ هنر ارزش‌گذاری اوراق خزانه بدون کوپون **

ارزش‌گذاری اوراق خزانه بدون کوپون، هنر تلفیق پیچیدگی‌های ریاضی با واقعیت‌های مالی است؛ ابزاری که نه‌تنها شفافیت را به بازارهای مالی می‌آورد، بلکه سرمایه‌گذاران را به تصمیم‌گیری‌های دقیق‌تر و آگاهانه‌تر مجهز می‌کند. در دنیایی که نرخ بهره هر لحظه تحت تأثیر رویدادهای اقتصادی و سیاسی تغییر می‌کند، داشتن چارچوبی قوی برای تحلیل و پیش‌بینی ارزش اوراق، به معنای داشتن برتری در میدان رقابت است. این فرآیند با مدل‌های پیشرفته‌ای مانند واسیچک و CIR، مسیری روشن برای شناسایی فرصت‌های سرمایه‌گذاری فراهم می‌کند؛ مسیری که از داده‌های تاریخی آغاز می‌شود و با تحلیل دقیق، سرمایه‌گذاران را به شناختی عمیق‌تر از رفتار بازار می‌رساند. در اینجا، دانش مالی و ریاضیات به کمک هم می‌آیند تا از دل پیچیدگی‌ها، راهی به سوی اطمینان و ثبات پیدا شود.


**۱. مقدمه‌ای بر اوراق خزانه بدون کوپون

اوراق خزانه بدون کوپون یکی از انواع ابزارهای مالی است که با ویژگی منحصربه‌فرد خود، جایگاه ویژه‌ای در میان سرمایه‌گذاران دارد. این اوراق، برخلاف اوراق قرضه معمول، هیچ‌گونه بهره یا کوپونی به دارندگان خود پرداخت نمی‌کنند. در عوض، با قیمتی پایین‌تر از ارزش اسمی‌شان عرضه می‌شوند و در زمان سررسید، مبلغ کامل ارزش اسمی به دارنده پرداخت می‌گردد. ازاین‌رو، سود سرمایه‌گذار در این نوع اوراق، ناشی از تفاوت میان قیمت خرید و مبلغ دریافتی در تاریخ سررسید است.

این ویژگی خاص، اوراق خزانه بدون کوپون را به ابزاری مناسب برای سرمایه‌گذاران محافظه‌کار تبدیل کرده است که تمایل دارند از ریسک بهره‌برداری کوتاه‌مدت اجتناب کنند و در عین حال، بازدهی معقولی را در بلندمدت تجربه نمایند.

فرمول قیمت‌گذاری اوراق خزانه بدون کوپون قیمت‌گذاری این اوراق بر اساس رابطه‌ای ساده اما دقیق انجام می‌شود: فرمول قیمت‌گذاری اوراق خزانه بدون کوپون:

Equation

که در آن:

  • ( P ) ارزش اسمی اوراق در زمان سررسید است..
  • ( F ) ارزش اسمی اوراق در زمان سررسید است.
  • ( r ) نرخ بازده مورد انتظار (Yield to Maturity) است..
  • ( T ) T مدت‌زمان باقی‌مانده تا سررسید (برحسب سال) است.

این فرمول، به‌خوبی ساختار مالی این ابزار را نمایش می‌دهد و رابطه میان زمان، بازدهی و قیمت فعلی اوراق را روشن می‌سازد.

۲. مدل‌های واسیچک و CIR در قیمت‌گذاری اوراق

مدل‌های واسیچک و CIR در قیمت‌گذاری اوراق در علم مالی، مدل‌های واسیچک (Vasicek) و CIR (Cox-Ingersoll-Ross) به‌عنوان دو ابزار برجسته برای توصیف رفتار تصادفی نرخ بهره شناخته می‌شوند. این مدل‌ها امکان مدل‌سازی نرخ بهره به‌عنوان یک فرآیند تصادفی را فراهم می‌کنند و به‌ویژه در قیمت‌گذاری اوراق قرضه و ابزارهای مالی مرتبط کاربرد گسترده‌ای دارند.

۲.۱. مدل واسیچک (Vasicek Model) مدل واسیچک، که توسط فریتز واسیچک در سال ۱۹۷۷ معرفی شد، یکی از نخستین مدل‌هایی است که برای توصیف دینامیک نرخ بهره طراحی شده است. این مدل فرض می‌کند که نرخ بهره به سمت یک میانگین بلندمدت ( 𝜃 θ) گرایش دارد و این تمایل با نرخ بازگشت به میانگین ( 𝜅 κ) توصیف می‌شود، در حالی که نوسانات ( 𝜎 σ) نقش آشفتگی‌های کوتاه‌مدت را بازی می‌کنند.

فرمول مدل واسیچک:

Vasicek Equation

که در آن:

  • ( r_t ) نرخ بهره در زمان ( t ) است.
  • ( \kappa ) نرخ بازگشت به میانگین است.
  • ( \theta ) میانگین بلندمدت نرخ بهره است.
  • ( \sigma ) میزان نوسانات نرخ بهره.
  • ( dW ) : فرآیند براونی که آشفتگی‌های تصادفی را نشان می‌دهد. .

قیمت‌گذاری اوراق بدون کوپون با مدل واسیچک: یکی از کاربردهای مهم مدل واسیچک، قیمت‌گذاری اوراق بدون کوپون است. در این فرآیند، نرخ بهره به‌عنوان ورودی کلیدی برای محاسبه قیمت اوراق مورد استفاده قرار می‌گیرد. فرمول مربوطه به این صورت تعریف می‌شود:

Vasicek Bond Price

که در آن:

  • ( A(T) ) تابعی وابسته به زمان تا سررسید و پارامترهای مدل.
  • ( B(T) ) تابع دیگری که به نرخ بازگشت به میانگین و نوسانات بستگی دارد.
  • ( r_0 ) نرخ بهره اولیه در زمان صفر.

۲.۲. مدل CIR (Cox-Ingersoll-Ross Model)

مدل CIR، که توسط جان سی. کوکس، جان ه. اینگرسول و سورن روس در سال ۱۹۸۵ معرفی شد، یکی از پیشرفته‌ترین مدل‌های نرخ بهره در ادبیات مالی به‌شمار می‌رود. این مدل، در ادامه و تکامل مدل واسیچک ارائه شد و با افزودن یک ویژگی مهم، توانست محدودیت‌های آن را برطرف کند: نرخ بهره در این مدل به‌طور طبیعی تمایل دارد به سمت صفر حرکت کند، اما هیچ‌گاه از صفر کمتر نمی‌شود. این ویژگی، مدل CIR را به ابزاری واقع‌گرایانه‌تر برای تحلیل رفتار نرخ بهره تبدیل کرده است.

فرمول مدل CIR:

CIR Equation

که در آن:

  • تمامی نمادها مشابه مدل واسیچک هستند، با این تفاوت که نوسانات با ریشه‌ی مربع نرخ بهره ضریب داده می‌شوند، که باعث می‌شود نرخ بهره نمی‌تواند منفی شود.

قیمت‌گذاری اوراق بدون کوپون با مدل CIR:

CIR Bond Price

که در آن:

  • ( A(T) ) و ( B(T) ) توابعی هستند که به پارامترهای مدل بستگی دارند.

۴.۲. تخمین پارامترهای مدل

برای هر یک از مدل‌ها (واسیچک و CIR)، کلاس‌های VasicekModel و CIRModel وظیفه تخمین پارامترهای ( \kappa ), ( \theta ), ( \sigma ), و ( X0 ) را بر عهده دارند. این تخمین‌ها با استفاده از روش‌های بهینه‌سازی نظیر Differential Evolution و MLE (Maximum Likelihood Estimation) صورت می‌پذیرند.

image

class VasicekModel:
    """
    Handles Vasicek model parameter estimation and bond pricing.
    """
    def __init__(self, ir_series: pd.Series, logger: logging.Logger):
        self.ir_series = ir_series
        self.logger = logger
        self.params: Dict[str, Any] = {}

    def estimate_parameters(self) -> Dict[str, Any]:
        # Implementation as described earlier
        ...

    def predict_interest_rate(self, T: float) -> Dict[str, Any]:
        # Implementation as described earlier
        ...

    def analytic_bond_price(self, T: float) -> float:
        # Implementation as described earlier
        ...

image

۴.۳. قیمت‌گذاری اوراق

پس از برآورد پارامترها، کلاس BondPricer از طریق متدهای analytic_bond_price و monte_carlo_bond_price، قیمت اوراق بهادار را محاسبه می‌کند. قیمت‌گذاری تحلیلی (Analytic Price) با به‌کارگیری فرمول‌های مدل‌های واسیچک و CIR صورت می‌گیرد، در حالی‌که قیمت‌گذاری مونت‌کارلو (Monte Carlo Price) از طریق شبیه‌سازی مسیرهای نرخ بهره و محاسبه تخفیف‌های متناظر انجام می‌شود.

class BondPricer:
    """
    Handles bulk bond pricing using different methods and predicts interest rates at maturity.
    """
    def __init__(self, model, logger: logging.Logger):
        self.model = model
        self.logger = logger

    def price_bond(self, bond: pd.Series) -> Dict[str, Any]:
        # Implementation as described earlier
        ...

    def monte_carlo_bond_price(self, T: float) -> Tuple[float, float]:
        # Implementation as described earlier
        ...

    def price_bulk_bonds(self, bonds_df: pd.DataFrame) -> pd.DataFrame:
        # Implementation as described earlier
        ...

image

پایان روایت

در نهایت، ارزش‌گذاری اوراق خزانه بدون کوپون با استفاده از مدل‌های واسیچک و CIR، فراتر از یک محاسبه ساده است؛ این فرآیند، تلفیقی از علم داده، تحلیل مالی، و درک عمیق از رفتار نرخ بهره است. هر مرحله، از جمع‌آوری و آماده‌سازی داده‌ها گرفته تا کالیبراسیون مدل‌ها و مقایسه قیمت‌ها، گامی است که دقت و حرفه‌ای‌گری را می‌طلبد.

آنچه این مسیر را برای سرمایه‌گذاران ارزشمند می‌سازد، شفافیتی است که از دل پیچیدگی‌های ریاضی و مالی بیرون می‌آید. با تکیه بر این تحلیل‌ها، سرمایه‌گذاران می‌توانند اوراقی را شناسایی کنند که نه تنها بازدهی مطلوب دارند، بلکه با اصول بنیادی بازار همخوانی بیشتری نشان می‌دهند.

در پایان، این ابزارها نه تنها به سرمایه‌گذاران امکان درک بهتری از ارزش واقعی اوراق را می‌دهند، بلکه آن‌ها را در اتخاذ تصمیم‌های هوشمندانه و مبتنی بر داده توانمند می‌سازند. این روایت، گواهی است بر اهمیت علم مالی در خدمت شفافیت و کارایی بازار.

About

Treasury Bill Analyzer for Zero-Coupon Bonds Using Vasicek and CIR Models with Monte Carlo Simulations

Topics

Resources

License

Stars

Watchers

Forks