Swapbyzero

ساخت وبلاگ

[قیمت ، مبادله ، AI ، RecCF ، reccfdates ، PAYCF ، PAYCFDATES] = SWAPBYZERO (TAGESPEC ، LEGRATE ، SETELE ، سررسید) یک ابزار مبادله است. می توانید از Swapbyzero برای محاسبه قیمت مبادلات وانیلی ، مبادله های استهلاک و مبادلات رو به جلو استفاده کنید. همه ورودی ها یا اسکالرها هستند یا بردارهای ns t-b y-1 مگر اینکه در غیر این صورت مشخص شده باشند. هر تاریخ می تواند یک وکتور شخصیت تاریخ باشد. یک استدلال اختیاری را می توان به عنوان یک ماتریس خالی منتقل کرد [].

توجه داشته باشید

از طرف دیگر ، می توانید از شیء مبادله برای ابزارهای مبادله قیمت استفاده کنید. برای اطلاعات بیشتر ، با استفاده از چارچوب مبتنی بر شیء برای قیمت گذاری ابزارهای مالی ، با گردش کار شروع کنید.

[قیمت ، مبادله ، AI ، RECCF ، reccfdates ، PAYCF ، PAYCFDATES] = SWAPBYZERO (TAGESPEC ، LEGRATE ، SETELE ، SOOTIRATURE ، NAME ، مقدار) قیمت یک ابزار مبادله با گزینه های اضافی که توسط یک یا چند نام ، آرگومان های جفت ارزش مشخص شده است. می توانید از Swapbyzero برای محاسبه قیمت مبادلات وانیلی ، مبادلات استهلاک ، مبادلات رو به جلو و مبادلات ارز متقابل استفاده کنید. برای کسب اطلاعات بیشتر در مورد جفت های ارزش نام برای مبادلات وانیل ، مبادلات استهلاک و مبادلات رو به جلو ، به مبادلات وانیل ، مبادلات استهلاک ، مبادلات رو به جلو مراجعه کنید.

به طور خاص ، برای محاسبه قیمت مبادلات ارز متقاطع ، می توانید از جفت های ارزش نام برای FXRATE ، ExchangeItialPrincipal و ExchangeMaturancePrincipal استفاده کنید. برای کسب اطلاعات بیشتر در مورد جفت های ارزش نام برای مبادلات ارز متقابل ، به مبادلات ارز متقاطع مراجعه کنید.

مثال ها

قیمت مبادله نرخ بهره

مبادله نرخ بهره را با یک پا دریافت ثابت و یک پا با پرداخت شناور قیمت گذاری کنید. پرداخت ها یک بار در سال انجام می شود و مبلغ اصلی مفهومی 100 دلار است. مقادیر آرگومان های باقیمانده عبارتند از:

نرخ کوپن برای پا ثابت: 0. 06 (6 ٪)

برای پای شناور گسترش یافته است: 20 امتیاز پایه

تاریخ حل و فصل مبادله: 01 ژانویه 2000

تاریخ بلوغ مبادله: 01 ژانویه 2003

براساس اطلاعات فوق ، آرگومان های مورد نیاز را تنظیم کرده و ماتریس Legrate ، LegType و Legreset را بسازید:

File Deriv. mat را که ZeroratesPec را فراهم می کند ، ساختار مدت نرخ بهره مورد نیاز برای قیمت گذاری اوراق را بارگیری کنید.

برای محاسبه قیمت مبادله از swapbyzero استفاده کنید.

با استفاده از داده های قبلی ، نرخ مبادله را که نرخ کوپن برای پای ثابت است محاسبه کنید ، به گونه ای که قیمت مبادله در زمان = 0 صفر است.

در Swapbyzero ، اگر Settle در تاریخ تنظیم مجدد نباشد (و "StartDate" مشخص نشده است) ، تاریخ مؤثر تاریخ تنظیم مجدد قبلی قبل از تسویه حساب به منظور محاسبه بهره و قیمت کثیف فرض می شود. در این مثال ، تاریخ مؤثر ('1 5-SEP-2009 ') است که تاریخ تنظیم مجدد قبلی قبل از تاریخ ('0 8-Jun-2010') است.

برای محاسبه خروجی برای قیمت ، تعویض ، AI ، Reccf ، reccfdates ، PAYCF و PayCFDates ، از swapbyzero با آرگومان های جفت ارزش نام استفاده کنید تا برای legrate ، legtype ، artsphoatrate ، aramscashflowsbasis و business convention استفاده کنید:

با مشخص کردن ساختارهای چند ترم با استفاده از نرخ ها ، مبادلات قیمت

سه مبادله را با استفاده از دو منحنی نرخ بهره. ابتدا داده ها را برای ساختار مدت نرخ بهره تعریف کنید:

با استفاده از intenvset ، نرخ ها را ایجاد کنید.

به نرخ دو منحنی نرخ بهره نگاه کنید.

ابزارهای مبادله را تعریف کنید.

سه مبادله را با استفاده از دو منحنی قیمت گذاری کنید.

مبادله قیمت با مشخص کردن ساختارهای چند ترم با استفاده از 1 به 2-2PECPEC

قیمت مبادله را با استفاده از دو منحنی نرخ بهره. ابتدا داده ها را برای دو ساختار مدت نرخ بهره تعریف کنید:

با استفاده از intenvset ، نرخ ها را ایجاد کنید.

ابزارهای مبادله را تعریف کنید.

سه مبادله را با استفاده از دو منحنی قیمت گذاری کنید.

نرخ مبادله به جلو را محاسبه کنید

برای محاسبه نرخ مبادله به جلو ، پارامتر StartDate را روی تاریخ آینده تنظیم کرده و نرخ کوپن ثابت را در ورودی Legrate به NAN تنظیم کنید.

داده های منحنی صفر را تعریف کرده و با استفاده از Irdatacurve یک منحنی صفر بسازید.

با استفاده از روش ToratesPec یک ساختار TAGESPEC ایجاد کنید.

نرخ مبادله رو به جلو (نرخ کوپن برای پای ثابت) را محاسبه کنید ، به گونه ای که قیمت مبادله رو به جلو در زمان = 0 صفر است. مبادله رو به جلو در یک ماه (1-FEB-2012) آغاز می شود و در 10 سال (1-FEB-2022) بالغ می شود.

نرخ مبادله رو به جلو را با استفاده از ورودی اختیاری Business Convention محاسبه کنید

عملکرد Swapbyzero تاریخ های جریان نقدی را بر اساس تاریخ تسویه حساب و سررسید ایجاد می کند ، در حالی که از تاریخ سررسید به عنوان تاریخ "لنگر" استفاده می کند که از آن می توان به عقب در فواصل منظم حساب کرد. به طور پیش فرض ، Swapbyzero روزهای غیر تجاری را از روزهای کاری متمایز نمی کند. برای اینکه Swapbyzero روزهای غیر تجاری را به روزهای کاری زیر منتقل کنید ، می توانید استدلال ورودی ارزش نام اختیاری را با ارزش کسب و کار با ارزش دنبال کنید.

داده های منحنی صفر را تعریف کرده و با استفاده از Irdatacurve یک منحنی صفر بسازید.

برای نشان دادن ورودی اختیاری Business Convention ، Swapbyzero ابتدا بدون و سپس با استدلال ورودی ارزش نام اختیاری Business Convention استفاده می شود. توجه کنید که هنگام استفاده از BusinessDayconvention ، همه روزها روزهای کاری هستند.

قیمت مبادله استهلاک

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

نرخ ها را ایجاد کنید.

ابزار مبادله را با استفاده از داده های زیر ایجاد کنید:

برنامه استهلاک مبادله را تعریف کنید.

قیمت مبادله استهلاک را محاسبه کنید.

قیمت مبادله رو به جلو

قیمت مبادله رو به جلو را با استفاده از آرگومان ورودی StartDate برای تعریف تاریخ شروع آینده مبادله قیمت گذاری کنید.

نرخ ها را ایجاد کنید.

قیمت مبادله رو به جلو را که از یک سال (1 ژانویه 2013) شروع می شود محاسبه کنید و در سه سال با نرخ مبادله رو به جلو 4. 27 ٪ بالغ می شود.

با استفاده از داده های قبلی ، نرخ مبادله رو به جلو ، نرخ کوپن برای پای ثابت را محاسبه کنید ، به گونه ای که قیمت مبادله رو به جلو در زمان = 0 صفر باشد.

نرخ را در تاریخ شروع ابزار هنگامی که نمی توان از نرخ ها دریافت کرد ، مشخص کنید

اگر Settle در تاریخ تنظیم مجدد یک یادداشت نرخ شناور قرار نگیرد ، Swapbyzero سعی می کند قبل از تسویه حساب از TAGESPEC یا پارامتر جدیدترین FloatingRate ، آخرین نرخ شناور را بدست آورد. هنگامی که تاریخ تنظیم مجدد برای این نرخ خارج از محدوده نرخ های PEC است (و آخرین FloatingRate مشخص نشده است) ، Swapbyzero نتواند نرخ آن تاریخ را بدست آورد و خطایی ایجاد می کند. این مثال نحوه استفاده از پارامتر ورودی FLOSFLOATINGRATE را برای جلوگیری از خطا نشان می دهد.

هنگامی که شروع یک ابزار مبادله نمی تواند از نرخ ها تعیین شود ، شرایط خطا را ایجاد کنید.

در اینجا ، تاریخ تنظیم مجدد نرخ در Settle 01-DEC-1999 بود که زودتر از تاریخ ارزیابی ZeroratesPec (01-Jan-2000) بود. این خطا را می توان با مشخص کردن نرخ در تاریخ شروع ابزار SWAP با استفاده از پارامتر ورودی NeverFloatingRate ، از این خطا جلوگیری کرد.

آخرین FloatingRate را تعریف کرده و قیمت شناور را محاسبه کنید.

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

نرخ OIS و LIBOR را تعریف کنید.

منحنی های دوگانه را ترسیم کنید.

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent OIS Curve, Libor Curve.

برای منحنی های OIS و LIBOR یک نرخ های مرتبط ایجاد کنید.

تعویض را تعریف کنید.

قیمت ابزار مبادله را محاسبه کنید. از ساختار اصطلاح Liborcurve برای تولید جریان نقدی پای شناور استفاده می شود. از ساختار مدت Oiscurve برای تخفیف جریان نقدی استفاده می شود.

نتایج را مقایسه کنید که اصطلاح ساختار Oiscurve هم برای تخفیف و هم برای تولید جریان نقدی پای شناور استفاده شود.

قیمت مبادله ارز ثابت ثابت

قیمت مبادله ارز متقاطع موجود را که نرخ ثابت JPY را دریافت می کند و نرخ ثابت USD را با فرکانس سالانه پرداخت می کند.

قیمت مبادله ارز شناور را قیمت گذاری کنید

قیمت مبادله جدیدی را که در آن شما یک شناور یورو پرداخت می کنید و یک شناور USD دریافت می کنید ، قیمت گذاری کنید.

استدلال های ورودی

نرخ ها-ساختار ساختار نرخ بهره

ساختار نرخ بهره ، با استفاده از intenvset برای ایجاد یک نرخ pec مشخص شده است.

TAGESPEC همچنین می تواند یک متغیر ورودی 1-b y-2 از نرخ ها باشد ، با ساختار دوم نرخ های PEC حاوی یک یا چند منحنی تخفیف برای پای پرداخت. اگر فقط یک ساختار PEC RATESPEC مشخص شده باشد ، از این نرخ ها برای تخفیف هر دو پا استفاده می شود.

انواع داده ها: ساختار

Legrate - ماتریس نرخ پا

نرخ پا ، به عنوان ماتریس Nins t-b y-2 مشخص شده است ، با هر ردیف به عنوان یکی از موارد زیر تعریف شده است:

[گسترش کوپن) (شناور ثابت)

[گسترش کوپن] (شناور)

[کوپنروات کوپن] (ثابت ثابت)

[گسترش گسترش] (شناور شناور)

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

انواع داده ها: دو برابر

تسویه حساب - تاریخ حل و فصل DateTime Array |آرایه رشته |بردار شخصیت تاریخ

تاریخ تسویه حساب ، یا به عنوان یک وکتور مقیاس یا nins t-b y-1 با استفاده از یک آرایه DateTime ، آرایه رشته یا بردارهای شخصیت تاریخ با همان مقدار که نشان دهنده تاریخ تسویه حساب برای هر مبادله است ، مشخص شده است. حل و فصل باید زودتر از بلوغ باشد.

برای پشتیبانی از کد موجود ، Swapbyzero شماره های سریال را به عنوان ورودی می پذیرد ، اما توصیه نمی شود.

سررسید - تاریخ بلوغ DateTime Array |آرایه رشته |بردار شخصیت تاریخ

تاریخ سررسید ، به عنوان یک وکتور Nins t-b y-1 با استفاده از یک آرایه DateTime ، آرایه رشته یا بردارهای کاراکتر تاریخ که نمایانگر تاریخ سررسید برای هر مبادله هستند ، مشخص شده است.

برای پشتیبانی از کد موجود ، Swapbyzero شماره های سریال را به عنوان ورودی می پذیرد ، اما توصیه نمی شود.

استدلال های ارزش نام

جفت آرگومان های اختیاری را به عنوان Name1 = Value1 مشخص کنید. namen = valuen ، که در آن نام نام و مقدار آرگومان است مقدار مربوطه است. آرگومان های ارزش نام باید پس از سایر استدلال ها ظاهر شوند ، اما ترتیب جفت ها اهمیتی ندارند.

قبل از R2021A ، از کاما برای جدا کردن هر نام و مقدار استفاده کنید و نام را در نقل قول ها محصور کنید.

مثال: [قیمت ، مبادله ، AI ، RecCF ، Reccfdates ، PAYCF ، PAYCFDATES] = SWAPBYZERO (TAGESPEC ، لگر ، لگد ، بلوغ ، "legtype" ، legtype ، "legtype" ، heardfloatingRate ، "AdjustCashflowsBasisBasisBasis" ، True Busines s-Business ، "تجارت"."اصلاح شده")

LEGRESET - بازنشانی فرکانس در سال برای هر مبادله [1 1] (پیش فرض) |بردار

فرکانس تنظیم مجدد در سال برای هر مبادله ، به عنوان جفت جدا از کاما متشکل از "Legreset" و یک بردار Ninst-by-2 مشخص شده است.

انواع داده ها: دو برابر

مبنای-مبنای روزانه ابزار 0 (واقعی/واقعی) (پیش فرض) |عدد صحیح از 0 تا 13

مبنای روزانه که پایه و اساس برای هر پا را نشان می دهد ، به عنوان جفت جدا از کاما متشکل از "پایه" و یک آرایه nst-by-1 (یا ninst-by-2 اگر مبنای برای هر پا متفاوت باشد) مشخص شده است.

6 = 30/360 (اروپایی)

7 = واقعی/365 (ژاپنی)

8 = واقعی/واقعی (ICMA)

9 = واقعی/360 (ICMA)

10 = واقعی/365 (ICMA)

11 = 30/360E (ICMA)

12 = واقعی/365 (ISDA)

برای اطلاعات بیشتر ، به مبنای مراجعه کنید.

انواع داده ها: دو برابر

اصلی - مبلغ اصلی مفهومی یا برنامه های ارزش اصلی 100 (پیش فرض) |وکتور یا آرایه سلول

مبلغ اصلی مفهومی یا برنامه های ارزش اصلی ، به عنوان جفت جدا از کاما متشکل از "اصلی" و یک بردار یا آرایه سلول مشخص شده است.

اصلی یک بردار nin t-b y-1 یا nin t-b y-1 آرایه سلول (یا nins t-b y-2 اگر اصلی برای هر پا متفاوت باشد) می پذیرد. برای برنامه ها ، هر عنصر از آرایه سلول یک آرایه numdate s-b y-2 است که ستون اول تاریخ و ستون دوم مقدار اصلی مفهومی آن است. تاریخ نشانگر آخرین روز است که مقدار اصلی معتبر است.

انواع داده ها: سلول |دو برابر

LegType - نوع پا [1 0] برای هر ساز (پیش فرض) |ماتریس با مقادیر [1 1] (ثابت ثابت) ، [1 0] (شناور ثابت) ، [0 1] (شناور) یا [0 0] (شناور شناور)

نوع پا ، به عنوان جفت جدا از کاما متشکل از "legtype" و یک ماتریس ninst-by-2 با مقادیر [1 1] (ثابت ثابت) ، [1 0] (شناور ثابت) ، [0 1] (0 1] مشخص شده است (شناور) ، یا [0 0] (شناور شناور). هر ردیف یک ساز را نشان می دهد. هر ستون نشان می دهد که آیا پای مربوطه ثابت است (1) یا شناور (0). این ماتریس تفسیر مقادیر وارد شده در Legrate را تعریف می کند. legtype اجازه می دهد [1 1] (ثابت ثابت) ، [1 0] (شناور ثابت) ، [0 1] (شناور) یا [0 0] (شناور شناور) مبادله

انواع داده ها: دو برابر

Endmonthrule-پرچم قانون پایان ماه برای تولید تاریخ زمانی که سررسید تاریخ پایان ماه برای ماه داشتن 30 یا کمتر از روز 1 (در اثر) (پیش فرض) |عدد صحیح غیر منفی [0،1]

پرچم قانون پایان ماه برای تولید تاریخ زمانی که سررسید تاریخ پایان ماه برای یک ماه با 30 روز یا کمتر است ، که به عنوان یک جفت جدا از کاما متشکل از "endmonthrule" و یک عدد صحیح غیر منفی مشخص شده است [0 ، 1]با استفاده از Nins t-b y-1 (یا nins t-b y-2 اگر endmonthrule برای هر پا متفاوت باشد).

0 = قانون را نادیده بگیرید ، به این معنی که تاریخ پرداخت همیشه همان روز عددی ماه است.

1 = تنظیم قانون ، به این معنی که تاریخ پرداخت همیشه آخرین روز واقعی ماه است.

انواع داده ها: منطقی

AdjustCashflowsBasis - پرچم برای تنظیم جریان نقدی بر اساس روز واقعی روز شمارش نادرست (پیش فرض) |مقدار 0 (نادرست) یا 1 (درست)

پرچم برای تنظیم جریان های نقدی بر اساس تعداد واقعی روز دوره ، که به عنوان جفت جدا از کاما متشکل از "AdjustCashflowsBasis" و یک ninst-by-1 (یا ninst-by-2 مشخص می شود ، اگر تنظیم cashflowsbasis برای هر پا متفاوت باشد) از منطقی با مقادیر با مقادیر مشخص شده است. از 0 (نادرست) یا 1 (درست).

انواع داده ها: منطقی

BusinessDayconvention - کنوانسیون های روز کاری واقعی (پیش فرض) |وکتور شخصیت |آرایه سلول از بردارهای کاراکتر

کنوانسیون های روز کاری ، که به عنوان یک جفت جدا از کاما متشکل از "BusinessDayconvention" و یک بردار کاراکتر یا یک n-by-1 (یا ninst-by 2 مشخص می شود اگر برای کسب و کار تجاری برای هر پا متفاوت باشد) آرایه سلول از بردارهای شخصیتی روز کاری مشخص شده است. کنوانسیون هاانتخاب کنوانسیون روز کاری نحوه برخورد با روزهای غیر تجاری را تعیین می کند. روزهای غیر تجاری به عنوان آخر هفته به علاوه هر تاریخ دیگری که مشاغل باز نیستند (به عنوان مثال تعطیلات قانونی) تعریف می شوند. مقادیر عبارتند از:

واقعی-روزهای غیر تجاری به طور مؤثر نادیده گرفته می شوند. فرض بر این است که جریان نقدی که در روزهای غیر تجاری سقوط می کنند ، در تاریخ واقعی توزیع می شوند.

دنبال کنید-جریان نقدی که در یک روز غیر تجاری قرار می گیرند ، فرض می شود که در روز کاری زیر توزیع می شود.

MITIFIEDFOLLY-فرض بر این است که جریان نقدی که در یک روز غیر تجاری قرار می گیرند ، در روز کاری زیر توزیع می شوند. اما اگر روز کاری زیر در یک ماه متفاوت باشد ، به جای آن روز کاری قبلی اتخاذ می شود.

قبلی-جریان نقدی که در یک روز غیر تجاری قرار می گیرند ، فرض می شود که در روز کاری قبلی توزیع می شود.

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

نرم افزار مفید تریدر...
ما را در سایت نرم افزار مفید تریدر دنبال می کنید

برچسب : نویسنده : احمد شاملو بازدید : 46 تاريخ : چهارشنبه 23 فروردين 1402 ساعت: 18:16