Top Banner
LA PIATTAFORMA FAIRMAT ® PER LA MODELLAZIONE DEI CONTRATTI DERIVATI: DESCRIZIONE E GUIDA D'USO PER L'UTENTE A cura di MIRKO DI LEO con la collaborazione del team di Fairmat (La presente guida è valida per la versione Academic ma tratta alcuni aspetti condivisi con Professional di Fairmat)
252

LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

Aug 21, 2018

Download

Documents

truongtruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

LA PIATTAFORMA FAIRMAT ®PER LA MODELLAZIONE DEI

CONTRATTI DERIVATI:DESCRIZIONE E GUIDA D'USO

PER L'UTENTE

A cura di MIRKO DI LEO con la collaborazione del team di Fairmat

(La presente guida è valida per la versione Academic ma tratta alcuni aspetticondivisi con Professional di Fairmat)

Page 2: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

INDICE

INTRODUZIONE

- Fairmat Srl

- La piattaforma software di Fairmat

- Struttura del Manuale

PARTE I – GUIDA UTENTE

Capitolo 1 – Installazione e avvio

- Come scaricare l'applicativo di Fairmat

- La schermata iniziale e le modalità d'uso

- Il Menù File

- Il Menù Edit

- Il Menù Analysis

- Il Menù Settings

- Il Menù Tools

- Il Menù Help

Capitolo 2 – Il linguaggio algebrico di Fairmat

- Assets' Set Functions

- Date and Time Functions

- Financial Functions

- Functions on Vectors and Matrices - Vector Functions; - Related Functions; - Alcuni esempi sull'utilizzo delle Vector Functions; - Matrix Functions;

Page 3: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

- Interest Rate Functions - Interest Rate Conversion Functions; - Deterministic Interest Rate Functions; - Stochastic Interest Rate Functions;

- Interval Functions

- Selection Functions

- Standard Functions - La funzione IIF e la funzione SIIF;

- Other Functions - Derivatives; - Option Map Block Related Functions;

Capitolo 3 - Il Work Space di Fairmat

- L'ambiente Parameters and Functions - Parameters: Scalar; - Parameters: Vectors and Matrices; - Parameters: Date Sequences; - Functions: Analytic Functions; - Functions: Interpolated Functions; - Functions: Recurrence Functions; - Transformations: un'introduzione; - Day count conventions: uno sguardo generale; - Day count conventions: Date metrics counter; - Day count conventions: Date metrics conventions; - Transformations: Date Vector Adjustment; - Transformations: Date Vector Differences Calculator; - Transformations: Zero Rate Curve Calculator;

- L'ambiente Stochastic Processes - Un esempio di inserimento di un processo stocastico: Geometric Brownian Motion (GBM); - Il Tab Data Source;

- L'ambiente Discounting - Il sistema Global (Project) Discounting; - Il sistema Option Dependent Discounting; - L'ambiente Discounting e le funzioni ricorrenti;

- L'ambiente Option Map - Come inserire e comporre le Standard Options o le Strip of Options; - Le Standard Options; - Le Strip of Options; - Gli Operators dell'ambiente Option Map: come inserirli ed utilizzarli; - Il Functional Operator; - Il Decisional Operator; - L'AND Operator; - L'OR Operator; - I branches; - L'ambiente Manage Scenarios

Page 4: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

- Il Tab Info

- La Toolbar

- Lo Status Panel e i suoi tab - Il tab Valuations; - Il tab Errors; - Il tab Parameters; - Il tab Log; - Il tab Fairmat Console;

- Le funzionalità di aiuto editing - La funzionalità di auto-complete; - Il Renaming;

Capitolo 4 - Le analisi e gli output

- I tipi di analisi effettuabili

- Valuation

- Risk Analysis

- Sensitivity Analysis

- Impact Analysis

- Scenario Analysis

- Greek Analysis - Le greche dei contratti derivati sui tassi di interesse

Capitolo 5 - La modellazione dei contratti finanziari

- Geometric Brownian Motion (GBM) - Utilizzo del GBM in Fairmat; - Calibrazione del GBM: opzioni di stima; - Calibrazione del GBM: simulazione del tasso di cambio;

- Mean Reverting Process - Utilizzo del Mean Reverting Process in Fairmat;

- Log-Mean Reverting Process

- Itô Process

- Log-Itô Process

- Poisson Jump Process - Un esempio: GBM con Poisson Jump Process;

Page 5: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

- La calibrazione dei modelli - Il file XML Interest Rate Market Data; - Il file XML Call Price Market Data;

- La modellazione del rischio di credito - La variabile casuale “time to default”; - CDS (Credit Default Swap); - CVA (Credit Value Adjustment);

PARTE II – ESEMPI E APPLICAZIONI

- Tutorial I - Vanilla Interest Rate Swap

- Tutorial II - Fixed-Float Currency

- Tutorial III - Accrual Swap

- Tutorial IV - Path Dependence

- Tutorial V - Swap with Asian Option

- Tutorial VI - Reload3 Bond

- Tutorial VII - Convertendo BPM 2009/2013 – 6.75% with Warrant

Page 6: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

INTRODUZIONE

Page 7: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

INTRODUZIONE

Fairmat Srl

Fairmat Srl è la società che sviluppa e commercializza la piattaforma di pricing Fairmat®. Fairmat Srl è una società specializzata nell'erogazione di servizi, software e consulenza su temilegati alla valutazione e al controllo del rischio di prodotti e portafogli di investimenti finanziari. Lasocietà è impegnata in vari ambiti fra i quali in particolare:

• Servizi di valutazione indipendente: Fairmat Srl fornisce servizi di pricing e repricing dicontratti o portafogli di strumenti strutturati OTC (Over The Counter) per diverse tipologiedi contratti finanziari derivati, tra i quali contratti indicizzati ai tassi di interesse, al mercatoazionario, all'inflazione, i contratti legati al credito e gli strumenti basati sulle materie prime;

• Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzionipersonalizzate per il pricing e il risk management;

• Formazione: Fairmat Srl offre formazione sull'analisi e la valutazione di strumentifinanziari.

La piattaforma software Fairmat

Fairmat è uno strumento di modellazione dei prodotti finanziari che permette di modellare qualsiasistrumento finanziario ed eseguire, anche interattivamente, valutazioni di tipo quantitativo (come adesempio il calcolo del fair value di uno strumento finanziario) senza il bisogno di codificareroutines di pricing. Fairmat è disponibile in diverse versioni:

1) Fairmat Academic: soluzione gratuita ed orientata al mondo universitario;2) Fairmat Professional: strumento desktop indicato per la prototipizzazione e la valutazione e

l'analisi puntuale di strumenti finanziari derivati; 3) Fairmat Server: soluzione enterprise (web-based) progettata per le esigenze dei dipartimenti

quantitativi di banche ed assicurazioni. Mentre l'obiettivo di Fairmat Academic e FairmatProfessional consiste nel fornire uno strumento di prototipizzazione o validazione di modellidi pricing, Fairmat Server ha l'obiettivo di semplificare il monitoraggio (giornaliero) diportafogli di strumenti derivati;

4) Fairmat Cloud: piattaforma semplificata che consente di prezzare ed analizzare prodottistrutturati, certificati, e derivati su tasso, cambi e azionario semplicemente e rapidamente,con sole tre azioni: ricerca, personalizzazione e valutazione. il tutto direttamente dal tuobrowser, senza pagare licenze annuali ma solamente per le valutazioni richieste.

I prodotti Fairmat sono estendibili sia per quanto riguarda i modelli teorici o le anlitiche: citiamocome esempio le seguenti applicazioni:

• Generazione della reportistica inerente agli scenari probabilistici: Il plug-in Informativa CONSOB consente agli intermediari di adempiere ai requisiti previstidalla Comunicazione CONSOB DIN/DSE/9025454 del Marzo 2009 implementando quantogià previsto nel Quaderno di Finanza numero 63. La soluzione è attualmente utilizzata datre delle più grandi compagnie finanziario-assicurative presenti in Italia; La CONSOB è, in particolare, la Commissione Nazionale per le Società e la Borsa ed è

I

Page 8: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

INTRODUZIONE

l'Ente che si occupa della supervisione dei mercati finanziari e della Borsa Valori italiana perquanto riguarda in particolare la trasparenza informativa da parte delle società quotateemittenti di strumenti finanziari;

• Generazione di report per l'hedge accounting: il plug-in IAS 39 Hedge Accounting permette di calcolare le metriche necessarie allarendicontazione a fini di bilancio per strumenti finanziari secondo quanto specificato dalladirettiva IAS 39;

Quindi, utilizzando le piattaforme software di Fairmat è possibile assolvere a diverse normativeassai importanti in tema di intermediari finanziari e mercati finanziari fra le quali si possonomenzionare in particolare le seguenti:

• la Comunicazione CONSOB in tema di OICR (Organismi di Investimento Collettivo delRisparmio) DIN/DSE/9025454;

• il Regolamento emanato dall'Unione Europea n° 648 del 2012 sulla disciplina dei contrattiderivati OTC (Over the Counter) EU 648/2012 (EMIR);

• la Direttiva IAS-39/IFSR 13; • la Direttiva per i fondi di investimenti alternativi AIFMD 2011/61/EU;

Con la piattaforma software Fairmat è possibile codificare e modellare in linea teorica ogni payoff etipologia di prodotto finanziario. In Fairmat Professional è poi contenuta una serie di templates perpoter essere operativi in poco tempo su prodotti derivati come gli Swaps (i cui templates piùimportanti contenuti in Fairmat sono i seguenti: Fixed vs Float, Float vs Float, Fixed vs Float plusCollar), le Interest Rate Options (i cui templates più importanti contenuti in Fairmat sono iseguenti: Cap, Floor, Digital/Binary, Float plus Collar, Swapation), le Barrier Options (i cuitemplates più importanti e di utilizzo comune sono i seguenti: Cap/Floor Knock In – Up and Down–, Cap/Floor Knock Out – Up and Down –, Cap/Floor CMS Spread). Con la piattaforma software di Fairmat è, infine, possibile accedere ai dati mercato attraverso ilservizio Data-Link, un sistema di fornitura di dati di mercato sufficiente per il pricing di strumentilegati all'evoluzione dei tassi dei mercati europeo e statunitense. Fairmat Professional è inoltre integrato con il software Bloomberg Professional.

II

Page 9: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

INTRODUZIONE

Struttura del Manuale

Questo Manuale ha lo scopo di essere un'efficace e, al tempo stesso, completa guida all'utilizzodella piattaforma per la modellazione dei contratti finanziari derivati e il loro pricing. Il presente Manuale si compone di due parti distinte:

1) La Prima Parte relativa alla Guida Utente software e quindi di taglio più teorico. QuestaParte ha, quindi, l'obiettivo di fornire per l'utente una guida completa del software e sisuddivide in cinque capitoli. Più nello specifico:

– Nel Capitolo 1, dopo aver illustrato step by step, come procedere con il download,l'installazione e l'avvio del software, vedremo nel dettaglio i Menù Principali dellostesso;

– Nel Capitolo 2, dopo aver illustrato brevemente il linguaggio algebrico che è alla basedel software, vedremo nel dettaglio tutte le tipologie funzioni disponibili ed utilizzabiliappunto in Fairmat;

– Nel Capitolo 3 vedremo ed impareremo ad utilizzare il Work Space di Fairmat, e quinditutti gli ambienti di lavoro disponibili ed utilizzabili dall'utente (quali l'ambienteParameters & Functions, l'ambiente Stochastic Process, l'ambiente Discounting,l'ambiente Option Map e l'ambiente Manage Scenario), gli oggetti utilizzabili in Fairmatutili ai fini della modellazione dei contratti finanziari, il Tab Info, la Barra degliStrumenti e le Funzionalità di Aiuto-Editing;

– Nel Capitolo 4 vederemo i tipi di analisi che si possono condurre attraverso Fairmatsugli strumenti finanziari in generale, e sui contratti derivati in particolare;

– Nel Capilto 5, infine, discuteremo dettagliatamente del problema della modellazione deicontratti finanziari (attraverso l'illustrazione dei principali modelli stocastici utilizzabiliin Fairmat, appunto, per la modellazione delle diverse variabili di natura economica), delproblema della calibrazione dei modelli applicabili (attraverso l'esemplificazione deiprincipali file in versione XML utilizzabili dall'utente) e del problema dellamodellazione del rischio di credito (attraverso l'illustrazione della variabile casuale timeto default, del più importante tipo di contratto derivato relativo al rischio di credito,ovvero il CDS – Credit Default Swap – e della metodologia di valutazione del rischio dicredito di controparte, ovvero il CVA – Credit Value Adjustment);

2) La Seconda Parte contente una serie di esempi di modellazione dei principali contrattiderivati e di case studies che ci saranno utili al fine di acquisire maggior dimestichezza emaggior praticità nell'utilizzo dell'applicativo;

III

Page 10: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

INTRODUZIONE

IV

Page 11: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

PARTE IGUIDA UTENTE

• CAPITOLO 1INSTALLAZIONE E AVVIO

• CAPITOLO 2IL LINGUAGGIO ALGEBRICO DI FAIRMAT

• CAPITOLO 3 IL WORK SPACE DI FAIRMAT

• CAPITOLO 4LE ANALISI E GLI OUTPUT

• CAPITOLO 5LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Page 12: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1

INSTALLAZIONEE

AVVIO

Page 13: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

Come scaricare l'applicativo di Fairmat

Prima di poter utilizzare il software Desktop di Fairmat dobbiamo innanzitutto collegarci al sito diFairmat www.fairmat.com, iscriverci ad esso e procedere con il download del software per la suainstallazione sul pc. All'apertura del sito www.fairmat.com apparirà l'home page dello stesso (figura 1.1). Per poter scaricare il software Fairmat dobbiamo iscriverci al sito www.fairmat.com, ovvero fareuna sign up allo stesso. Per cui una volta giunti all'homepage di fairmat.com dobbiamo cliccare suSIGN UP (figura 1.2).

Una volta cliccato sulla voce SIGN UP dell'home page (il cui url diretto è il seguente:www.fairmat.com/signup) apparirà una pagina web riportante un form (figura 1.3) da compilare perl'iscrizione al sito di Fairmat con i propri dati personali e l'indicazione del proprio indirizzo di postaelettronica. Per la corretta compilazione del form è necessario, infine, anche (e soprattutto) accettarele clausole inerenti le condizioni d'uso degli applicativi Fairmat ed inerenti la privacy (ovvero iltrattamento dei dati personali). Una volta compilato il form per la Sign Up e una volta cliccato sulla casella SIGN UP, situata inbasso a sinistra della pagina web contenente il form, pochi secondi dopo arriverà al proprioindirizzo di posta elettronica indicato nel form, una risposta automatica con la quale ci verràrichiesto di cliccare su un link specifico (figura 1.4) per poter procedere con l'attivazionedell'account.

Una volta attivato l'account Fairmat, tramite verifica dell'account stesso, pochi secondi dopoarriverà al proprio indirizzo di posta elettronica (sempre quello riportato nel form per la Sign Up alsito Fairmat) una seconda email con la quale ci verrà comunicata la conferma dell'avvenutaiscrizione (figura 1.5). In quest' ultima email verranno riepilogati i dettagli dell'account Fairmatappena creato (ossia Username e Password).

1

Page 14: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.1: Home Page www.fairmat.com)

2

Page 15: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.2: Sign Up al sito www.fairmat.com)

(Figura 1.3: Form per la Sign Up al sito www.fairmat.com)

3

Page 16: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.4: Email per l'attivazione dell'account Fairmat)

(Figura 1.5: Conferma dell'avvenuta Sign Up al sito www.fairmat.com)

4

Page 17: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

Creato l'account possiamo ora procedere con il download del software Desktop di Fairmat. Per farciò dobbiamo tornare all'home page del sito www.fairmat.com, effettuare il Log In al sito webutilizzando le credenziali dell'account appena creato e cliccare su Download, qualora volessimoscaricare la versione gratuita del software (Fairmat Academic), oppure su Buy o Get Trial qualoravolessimo invece scaricare la versione a pagamento del software (Fairmat Professional).

(Figura 1.6: Download del software desktop dall'home page di www.fairmat.com)

Arrivati alla sezione DOWNLOAD dovremo poi scegliere la versione adatta al nostro sistemaoperativo. Per la maggior parte degli utenti l'opzione di default (ovvero Windows) è quella corretta.

(Figura 1.7: Download del software desktop - scelta del sistema operativo in uso)

5

Page 18: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

Una volta effettuata la scelta relativa al sistema operativo, cliccare sulla casella SUBMIT. A questopunto dovremo attendere qualche minuto per consentire il download dell'applicativo fairmat.exe;all'apertura, in genere automatica, di questo applicativo (il cui nome del file è verosimilmente tipoquesto: fairmat-academic-1.6.1-r000.exe) apparirà sul desktop una finestra di dialogo, come quellariportata nella figura 1.8. Cliccando su Esegui partirà il set up dell'applicativo; una vota seguite tuttele indicazioni successive (fra le quali, in particolare, la richiesta di accettazione delle condizionid'utilizzo, la scelta relativa alla cartella di destinazione dell'installazione del programma e la sceltase attivare o meno un'icona sul desktop relativa al programma stesso) ed una volta cliccato su Installpartirà poi l'installazione vera e propria del software. Contemporaneamente al momento del set updell'applicativo ci arriverà un'email (figura 1.9) con allegato il codice della licenza concessa daFairmat, che dovremo scaricare in quanto richiesto al momento del completamento del downloaddel programma per attivare definitivamente lo stesso sul nostro PC. A questo punto vedremo apparire l'icona del software Fairmat sul desktop del nostro PC e potremoiniziare ad utilizzare il software stesso.

(Figura 1.8: Download del software – Finestra di dialogo per l'avvio applicativo fairmat.exe)

(Figura 1.9: Licenza per l'utilizzo del software)

6

Page 19: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

La schermata iniziale e le modalità d'uso di Fairmat

Fairmat è un applicativo progettato per facilitare la modellazione dei contratti finanziari derivati.Fairmat consente, infatti, di modellare i contratti finanziari derivati con un alto livello di astrazioneattraverso un linguaggio di scrittura di tipo algebrico, alquanto semplice, in modo da poter stilizzarein maniera semplificata i pay-off (anche quelli più complessi) dei contratti finanziari derivati stessi,e attraverso una Option Map, in modo da poter stilizzare la struttura dei pagamenti previsti dalcontratto finanziario derivato oggetto di analisi. In particolare, in Fairmat il contratto finanziarioderivato oggetto di analisi viene scomposto nelle proprie caratteristiche fondamentali e rilevanticome le dinamiche incerte relative ad esso, la struttura dei pagamenti previsti e la definizione deisuoi pay-off. La struttura contrattuale può essere, infine, memorizzata su dei file che hannoestensione .fair. Una volta cliccato sull'icona Fairmat Academic apparirà la schermata (denominata anche FairmatAdvices, figura 1.10) che non è esattamente quella iniziale ma che potremmo definire preliminare.

(Figura 1.10: Schermata iniziale di Fairmat – 1)

Come possiamo evincere dalla figura 1.10, le scelte che possiamo compiere sono le seguenti:

• New Empty Project (figura 1.11): scelta da effettuare qualora volessimo creare un file .fairex-novo. Scegliendo tale advice apparirà la schermata iniziale di Fairmat vera e propria;

• Open File (figura 1.12): scelta da effettuare nel caso in cui volessimo aprire un file .fair giàesistente;

• Show Recent Files (figura 1.13): scelta che ci permette di visualizzare un elenco dei file .fairrecentemente aperti e/o modificati;

• Help (figura 1.14): scelta che ci rimanda alla guida utente dell'applicativo; alla guida utentepossiamo comunque accedervi in qualunque momento e da qualunque finestra Fairmat citroviamo semplicemente premendo dalla tastiera il tasto F1;

7

Page 20: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.11: Schermata iniziale di Fairmat – 2)

(Figura 1.12: Schermata Open File)

8

Page 21: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.13: Schermata Show Recent Files)

(Figura 1.14: Schermata Help)

9

Page 22: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

Con Fairmat possiamo lavorare utilizzando due diverse modalità (Modes): la Design Mode el'Analysis Mode (quest'ultima disponibile solo nella versione Professional). In base alla scelta effettuata nella schermata degli advices, verremo automaticamente reindirizzativerso una delle due modalità; più precisamente, se stiamo avviando un nuovo progetto da zero o sestiamo aprendo un file .fair già esistente, verremo reindirizzati verso la Design Mode, mentre se sista aprendo un file template creato con Fairmat, verremo reindirizzati verso la Analysis Mode. Ad ogni modo, soltanto però qualora stessimo utilizzando la versione Professional, possiamosempre passare da una modalità all'altra, possiamo sempre cambiare la modalità, selezionando, dallabarra degli strumenti dell'applicativo, il seguente percorso View → Design Mode oppure il seguentepercorso View → Analysis Mode. Nella Design Mode (figura 1.15) possiamo avere piena accessibilità all'editing di tutti i parametri, ditutti i processi e di tutte le strutture contrattuali. D'altra parte la Analysis Mode (figura 1.16) offre una visione compatta e semplificata di un progettoFairmat che ci permette di gestire solo uno specifico sottoinsieme di parametri del progetto: quelliper i quali sia stato attivato il flag Publish nel tab Publishing. L'intento della Analysis Mode è quello di fornire un'interfaccia utente più semplice nel momento incui avessimo bisogno di modificare più e più volte alcuni parametri del contratto (come ad esempioil suo nozionale oppure le date di pagamento previste) o alcune impostazioni per la valutazione(come ad esempio la data di valutazione – o Valuation Date – oppure ancora il numero di percorsisimulati). La Analysis Mode non viene però influenzata dai cambiamenti eventualmente intervenutinella struttura della Option Map e nella struttura dei modelli sottostanti.

(Figura 1.15: Schermata Design Mode)

10

Page 23: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.16: Schermata Analysis Mode)

Fairmat utilizza la Analysis Mode come visione di default quando apriamo un template dallaschermata iniziale oppure quando apriamo un template attraverso la selezione del seguentepercorso: File → New Template Project → Generate Templates. Come possiamo notare dando nuovamente un'occhiata alla figura 1.16, possiamo suddividereidealmente la finestra di Fairmat in Analysis Mode in due parti: quella di sinistra, relativa aiparametri e alle impostazioni, e quella di destra, relativa invece ai risultati della valutazione. Nella parte in alto a sinistra possiamo scegliere il tipo di analisi che intendiamo condurre e le altreimpostazioni generali, come ad esempio lo scenario di riferimento per il progetto (si veda la voce"Scenario"), la Trading Date (ovvero la data di negoziazione) e la Effective Date (ovvero la data diinizio contratto), il tipo di dati richiesto (si veda la voce "Hour/Data Request Type") e il tipo dicalendario di riferimento (si veda la voce "Calendar"). In questa parte possiamo anche decidere se effettuare automaticamente un refresh dei dati dimercato nel momento in cui dobbiamo lanciare una valutazione oppure se forzare un aggiornamentodei dati di mercato cliccando sul comando “Refresh”. Una volta che tutte le impostazioni sono state scelte, possiamo iniziare a far svolgere al programmal'analisi che intendiamo effettuare cliccando sul comando “Run Analysis”. Nella parte in basso a sinistra possiamo, invece, editare i parametri specifici del contratto (quellicontrassegnati con il flag "Publish" nella Design Mode), ricercare i market data database

11

Page 24: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(selezionando il tab Market Data), cambiare le impostazioni relative alla simulazione Monte Carlo(selezionando il tab Valuation Settings) e leggere alcune note relative al contratto in esame(selezionando il tab Notes). Quando clicchiamo sulla descrizione di un parametro Fairmat ne mostra, nella colonna di destra, ladenominazione, il valore relativo (o i valori relativi), mentre nel box che si trova più in basso asinistra, ovvero nel box "Addition Details" Fairmat ne fornisce maggiori informazioni al riguardo.Facendo doppio click sulla colonna “Value” apparirà una finestra la quale ci permetterà di inserire ilvalore (o i valori) del parametro stesso. Una volta portata a termine un'analisi, i principali risultati della medesima verranno riportati nelpannello più in basso a destra. Facendo doppio click sulla riga relativa all'analisi appena compiuta,nella parte più in alto a destra ci apparirà una finestra contenente una rappresentazione grafica eulteriori dettagli relativi alla medesima.

12

Page 25: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

Vedremo ora come si presentano i menù principali di Fairmat. Con la figura 1.17 vediamo inparticolare come si presenta la barra dei menù principali.

(Figura 1.17: Barra dei menù principali)

Il Menù File

Il menù a cascata File (figura 1.18) ci permette di creare un nuovo progetto da zero senza titolo,ovvero ex-novo (mediante la selezione del comando New Empty Project o la selezione del comandoNew Template Project), o di aprire un file .fair già esistente da una cartella che lo contiene(mediante la selezione del comando Open). Quando creiamo o generiamo un file .fair, gli altricomandi dei menù principali diventano selezionabili.

(Figura 1.18: Menù File)

I comandi "Save" e "Save As" ci consentono semplicemente, e rispettivamente, o di salvare il filecreato con l'estensione .fair o di salvarlo con il nome desiderato in una destinazione o in una cartellaparticolare. Notiamo che quando si seleziona il comando "Save As" Fairmat tiene in memorial'ultima cartella di salvataggio utilizzata. Il comando "Merge With" ci permette di fondere, unire, più file con estensione .fair in un unico file(compiendo appunto un merge, ossia una fusione, fra due o più file). In particolare, dato un fileaperto e con estensione .fair di nome A, se applichiamo il comando "Merge With" su un altro file,sempre con estensione .fair, di nome B, tutti gli oggetti di quest'ultimo file verranno copiati etrasferiti al file A; al termine del processo di merging, quindi, il file A conterrà sia i propri dati di

13

Page 26: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

partenza, i propri dati iniziali, che i dati del file B e trasferiti da B ad A appunto. I comandi "New Empty Project", "Open", "Save" sono anche presenti, con delle icone che lirichiamano graficamente, sulla tavolozza grafica del menù File situata sotto il menù principale delprogramma.

Il Menù Edit

Il menù a cascata Edit (figura 1.19) contiene i comandi "Undo/Redo", "Show Editing History","Delete", "Cut", "Copy", "Paste".

(Figura 1.19: Menù Edit)

I comandi "Undo" e "Redo" ci consentono, rispettivamente, o di revocare un'azione compiuta su unfile .fair, o di muoversi avanti, ossia di riprendere un'azione precedentemente revocata con ilcomando "Undo". Il comando "Show Editing History" (figura 1.20) ci mostra una finestra con tutte le recenti azioniche abbiamo impostato e compiuti su un file .fair. I comandi "Delete", "Cut", "Copy" e "Paste" sono comandi attivi ed utilizzabili solo quando è attivoanche l'ambiente Option Map e ci consentono, rispettivamente, di cancellare, tagliare, copiare edincollare oggetti creati appunto all'interno della Option Map dell'applicativo Fairmat.

(Figura 1.20: Menù Edit – Show Editing History)

14

Page 27: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

Il Menù Analysis

Il menù a cascata Analysis (figura 1.21) ci permette di condurre un'analisi su un file .fair. E' beneprecisare che possiamo selezionare il menù Analysis solo e soltanto se è stato già aperto un file .fair.

(Figura 1.21: Menù Analysis)

Le analisi che possiamo condurre, in particolare, sono le seguenti: la Bivariate Sensitivity Analysis(Analisi di Sensibilità effettuata congiuntamente su coppie di parametri), la Univariate SensitivityAnalysis (Analisi di Sensibilità Univariata), la Dynamic and Volatility Analysis (Analisi sullaDinamica e sulla Volatilità), la Impact Analysis (Analisi degli Impatti), la Risk Analysis (Analisi delRischio), la Scenario (What If) Analysis (Analisi del Scenari possibili) e la Valuation (Valutazione). Avremo modo di vedere nel dettaglio i vari tipi di analisi che possiamo condurre su Fairmat nelCapitolo 4.

Il Menù Settings

Il menù a cascata Settings (figura 1.22) contiene diversi sottomenù contenenti a loro volta leimpostazioni utili per la progettazione in Fairmat. I sottomenù ricompresi all'interno del menùSettings sono i seguenti:

(Figura 1.22: Menù Settings)

15

Page 28: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

• Project Preferences (figura 1.23): è un sottomenù che si riferisce a specifiche impostazionidi un progetto da creare attraverso Fairmat (come ad esempio l'impostazione della ValuationDate – ovvero della data di valutazione – o della Effective Date – ovvero della data di iniziocontratto). Il sottomenù Project Preferences comprende, a sua volta, ulteriori sottomenù:

a) Simulation Dates and Conventionsè un sottomenù utile per impostare la Trading Date, o Simulation Start Date, (ovvero ladata di negoziazione del contratto) e la Contract Initial Date, o Effective Date, la qualecostituisce il riferimento necessario per il reset delle date di pagamento in regime"Advance" e per la corretta computazione temporale convenuta, e per le simulazioni"Calendar" e "Convention". E' utile infatti sottolineare che la data impostata di defaultdal programma sia per la Trading Date che per la Contract Intial Date è quella corrente almomento dell'apertura del programma. E' bene precisare poi che le impostazioni didefault "Calendar" e "Convention" sono rispettivamente "Italy" e "Unadjusted". Qualorail contratto oggetto di analisi preveda delle convenzioni diverse da queste ultime, e quindida quelle preimpostate di default dal programma, dovremo opportunamente modificare lestesse anche perché tali impostazioni influenzano direttamente il procedimento elaboratodal simulatore. Al fine di adeguare il conteggio dei giorni in modo da poter tenere contoanche delle frazioni di giorno, si suggerisce l'utilizzo di appositi e specifici vettori ditrasformazione delle date. E' importante, infine, notare che un aggiornamento delleTrading Date, o della Simulation Start Date, automaticamente provoca un aggiornamentodel date picker Simulation presente nella barra degli strumenti.

b) Analysis Preferencesè un sottomenù che contiene le impostazioni per: b1) le sensitivity analysis (analisi di sensibilità): qualora, infatti, volessimo lanciare una

sensitivity analysis, questa voce di impostazione ci permette di impostare le iterazioni nelle quali intendiamo suddividere il range bound ai fini della medesima. Ad esempio per un parametro “Range” per la sensitivity analysis uguale a+/- 0.80 e per un valore per il paramentro # of points (numero di punti) – sempre per la medesima – pari a 5, il range si muove a partire dal valore -0.80 con passo 0.40, incluso il valore nullo, eseguendo quindi 5 iterazioni in tutto. Ai fini dell'esecuzione di una corretta sensitivity analysis, è consigliabile impostare per il parametro # of points un valore corrispondente ad un numero dispari;

b2) le distribution analysis (analisi sulla distribuzione): tale voce di impostazione mostra l'intervallo contenente l'X% della massa totale della distribuzione ed è utile per condurre appunto una dettagliata analisi sulla distribuzione;

b3) le impact analysis (analisi degli impatti): tale voce di impostazione ci permette di fissare il range percentuale di variabilità di un dato parametro per condurre appunto una impact analysis;

b4) le risk analysis (analisi del rischio): tale voce di impostazione ci permette di fissare unvettore di date di riferimento, utili per condurre appunto una risk analysis, o un vettore di date di pagamento contrattuali. La risk analysis è un'analisi utile per tracciare il profilo di rischio di un contratto derivato;

16

Page 29: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.23: Menù Settings – Sottomenù Project Preferences)

• Fairmat Prefereces (figure 1.24 e 1.25): è un sottomenù che si riferisce alle impostazionigenerali dell'interfaccia utente di Fairmat (come ad esempio il numero di decimali visibilinello Status Panel, oppure il numero di repliche per le analisi reiterate). Accedendo alsottomenù Fairmat Preferences ci apparirà una finestra con due tab principali:

a) Core Preferencestale tab, a sua volta, si suddivide in altri tre tab:

1) General: selezionando tale tab possiamo: – fissare il numero dei decimali visibili sugli output finali, mostrati sotto il pannello

Valuation dello Status Panel. Il valore impostato di default è 2;– fissare il numero di analisi reiterate, ovvero il numero di volte per le quali le analisi

devono essere replicate, ripetute; quando attiviamo un'analisi reiterata (selezionandoil percorso Settings → Repeated Analysis) dobbiamo, infatti, anche impostare ilnumero di test da reiterare. Il valore impostato di default è 10;

– rendere il codice output di Fairmat coerente con il codice Latex, flaggando il check-box relativo “Generate Latex Friendly outputs”; per cui, ad esempio, l'espressionealgebrica E[MTM|MTM >= 0] verrà scritta nel seguente modo $\mathbb{E}[MTM|MTM\geq0]$;

– di impostare il “Verbosity Level" (ovvero il livello di verbosità) come un numerointero compreso tra 0 (corrispondente a nessun output) e 2 (corrispondente a piùinformazioni di output). Il “Verbosity Level” regola la quantità di informazioni didebug in Fairmat, e i suoi plug-in, e scrive nel tab Log dello Status Panel mentresono in corso le valutazioni o altri computi. Il valore 0 significa che non verrà scrittonessun output di debug, mentre l'incremento dei valori positivi fa sì che Fairmatgeneri una quantità crescente di informazioni di debug (si noti che i valori diverbosity diversi da 0 sono di solito utilizzati per individuare dei problemi e possonocomportare un allungamento dei tempi di elaborazione e di analisi);

– di impostare il Market Data Provider di riferimento: in tal modo andiamo ad

17

Page 30: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

impostare il data provider a cui Fairmat deve far riferimento per il download dei datidi mercato. In particolare, i dati di mercato scaricati e i parametri dei modellicalibrati utilizzati per le valutazioni vengono memorizzati in un database all'internodel nostro PC. Qualora questi non fossero disponibili nel nostro database interno,Fairmat si riferisce ad uno (o più) Market Data Provider, in modo tale che tutte leinformazioni di mercato siano immediatamente disponibili. Se il Market DataProvider è Fairmat.com (Market Data Provider selezionabile attraverso il seguentepercorso Modeler → Preferences → Market Data Provider → Fairmat.com),dovremo inserire le credenziali del nostro account Fairmat;

2) Preview: nel quale possiamo fissare in anteprima il numero di percorsi e di passi temporali nell'ambito del tab “Preview” dell'editor Stochastic Processes;

3) Advanced: nel quale possiamo definire alcune impostazioni di tipo avanzato;

b) Plug-in Preferences tale tab definisce le impostazioni utente relative alle estensioni e ai plug-in di Fairmat;

(Figura 1.24: Menù Settings – Sottomenù Fairmat Preferences Core Preferences)→

18

Page 31: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.25: Menù Settings – Sottomenù Fairmat Preferences Plug-in Preferences, →

scelta del Market Data Provider)

• Numerical Settings (figure 1.26 e 1.27): è un sottomenù che ci permette di definire lecondizioni e il comportamento di un processo durante una simulazione Monte Carlo. Nella finestra principale del sottomenù Numerical Settings, ossia la finestra ProjectNumerical Settings, possiamo: – definire il campo "# of discrete timesteps" il quale ci permette di impostare il numero di

step temporali che verranno simulati per ciascun percorso;– definire il campo "# of simulated path" il quale ci permette di impostare il numero di

percorsi per la simulazione Monte Carlo; – attivare la funzionalità "Generate a repeatable random sequence", flaggando il relativo

check-box; in tal modo decidiamo se simulare fissando o meno la testa di serie delgeneratore di numeri casuali (nel caso avessimo fissato una testa di serie);

– definire il campo "Random Seed (integer)" il quale ci permette di impostare il valoredella testa di serie da utilizzare. Il valore riportato in questo campo deve esserenecessariamente un numero intero;

Premendo il bottone "Advanced Settings", invece, possiamo impostare alcune preferenzeconnesse alla valutazione Monte Carlo ai minimi quadrati. Nella finestra Advance SimulationSettings possiamo definire: – il menù cascata "Base" con il quale possiamo scegliere differenti impostazioni base da

utilizzare per stimare la funzione descrivente i valori continui;– il campo "Degree of polynomial" (ossia grado del polinomio) con il quale possiamo fissare

il massimo grado da utilizzare nel problema dei minimi quadrati, per i termini misti edomogenei;

– il campo "Use also mixed terms" con il quale possiamo decidere se usare (flaggandol'apposito check-box) o meno termini misti nei casi in cui i valori continui dipendano da piùdi un fattore;

– il menù a cascata "Predictor" con il quale possiamo scegliere quale set di variabili utilizzareper la stima del valore di continuazione (utilizzando nella valutazione di opzioni di tipoAmericano);

– il menù a cascata "Random number generation" con il quale possiamo impostare il tipo digeneratore di numeri casuali; le scelte possibili sono o “Pseudo-Random” o “Quasi Random(low discrepance)”;

19

Page 32: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.26: Menù Settings – Sottomenù Numerical Settings 1)

(Figura 1.27: Menù Settings – Sottomenù Numerical Settings 2)

• Plug-ins Management (figure 1.28, 1.29 e 1.30): è un sottomenù che ci permette di installaree gestire i plug-ins inseriti. All'interno di tale sottomenù vi sono tre sezioni diverse:

1) Installed Plug-ins: in questa prima sezione possiamo verificare i plug-ins che sonoattualmente installati nei nostri sistemi locali. Sempre in questa sezione possiamoselezionare i comandi “Refresh”, “Enable” e “Disable”. Il comando “Refresh” ci consente,appunto, di effettuare il refresh dei plug-ins installati; i comandi “Enable” e “Disable” ciconsentono, invece, rispettivamente di attivare o disattivare plug-ins;

2) Available On-line Plug-ins: in questa seconda sezione possiamo vedere i plug-ins chesono disponibili on-line o per essere installati o per essere semplicemente aggiornati. Per

20

Page 33: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

installare o aggiornare un plug-in dovremo semplicemente flaggare il check-box affianco alsuo nome nella lista dei plug-ins disponibili e premere il comando “Install/Update”. Ilsistema metterà in conto le eventuali dipendenze, qualora ci siano, fra i vari plug-ins;

3) Advanced: in questa terza sezione possiamo realizzare operazioni di tipo avanzato suiplug-ins. I comandi selezionabili in quest'ultima sezione sono “Install local Plug-in” o“Repair Repository”. Con il comando “Install local Plug-in” possiamo installare un plug-inda un file locale. Possiamo sfruttare questo comando nel momento in cui stiamo sviluppandodei plug-ins. I pacchetti di plug-ins hanno solitamente le estensioni .zip oppure .ddl. Inquesto caso specifico dovremo allora cliccare sul pacchetto di plug-ins che desideriamoinstallare e selezionare uno o più file contenuti al suo interno. Con il comando “RepairRepository” consentiamo a Fairmat di resettare e riparare il repository dei plug-ins locali.Dobbiamo selezionare tale comando qualora notiamo delle inconsistenze oppure deiproblemi ai sistemi di plug-ins installati;

(Figura 1.28: Menù Settings – Sottomenù Plug-ins Settings Installed Plug-ins)→

(Figura 1.29: Menù Settings – Sottomenù Plug-ins Settings Available On-line Plug-ins)→

21

Page 34: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.30: Menù Settings – Sottomenù Plug-ins Settings Advanced)→

Il Menù Tools

Il menù a cascata Tools contiene utili strumenti di Product Design e Market Data. Le funzionalità ditale menù sono disponibili solo quando sono aperti i file dei progetti. Di default FairmatProfessional carica i seguenti tools (o strumenti): il Goal Seeker e il Market Data Manager.

A) Goal SeekerLo strumento Goal Seeker (figure 1.31 e 1.32) ci permette di trovare gli insiemi dei valori, odelle soluzioni, o sottoinsiemi dei parametri del modello ottimizzando le metriche definite nelcontratto in esame. In particolare, i “Goals” (obiettivi) attualmente disponibili sono: – “Maximization” (massimizzazione);– “Minimization” (minimizzazione); – “Level Finding” (accertamento livello);

Le metriche contrattuali attualmente supportate sono le seguenti: – “Mark to Market” (Valuation);– “Average Standard Deviation of Cashflows” (Deviazione Standard media dei flussi di

cassa);– “Average Cvar – Conditional Value at Risk – of Cashflows (valore a rischio condizionale

medio dei flussi di cassa);

Per definire dove ricercare i valori ottimali, per ogni parametro dobbiamo specificare i limitientro i quali restringere la ricerca. I parametri che definiscono i limiti in questione possonoessere specificati nel campo “Range” (si veda la figura 1.31). I parametri da ottimizzare, invece,devono essere inseriti nel parametro “Model parameters to optimize” (si veda la figura 1.32).

22

Page 35: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Figura 1.31: Menù Tools – Tool Goal Seeker 1)

(Figura 1.32: Menù Tools – Tool Goal Seeker 2)

B) Market Data ManagerI dati di mercato scaricati e i parametri dei modelli calibrati utilizzati per la valutazione sonosalvati in un database nel nostro PC. Il database, inizialmente vuoto, viene gradualmenteriempito con i dati di mercato e di calibrazione da noi richiesti mediante il comando “Calibratemodel using data provider”. Si noti che se i dati di mercato non sono già disponibili neldatabase, Fairmat automaticamente andrà ad invocare un data provider dal quale scaricare i datidi mercato necessari. Dopo di ché, sia i dati di mercato che i parametri di mercato vengonoimmagazzinati nel nostro database interno. Ciò incrementa in misura significativa la velocità dirisposta del sistema dal momento che sia il download dei dati di mercato che le calibrazionivengono eseguiti solo una volta e solo quando da noi richiesto. Selezionando il percorso Tools → Date → Market Data Management possiamo accedere aquesto database interno al quale Fairmat si riferisce. Il tab Browse Calibrations (figura 1.33) ci mostra, in ogni linea, informazioni riguardanticiascuna calibrazione, come il mercato di riferimento, la data di calibrazione e i valori deiparametri riferiti a quella data. C'è anche un filtro che ci permette di ricercare i dati per modello,tool, mercato di riferimento ed intervallo temporale. Il tab “Browse Market Data” (figura 1.34) mostra, per ogni data (Date), i dati di input utilizzati

23

Page 36: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

da Fairmat per calibrare il modello. Alla stessa data possono corrispondere più linee che differiscono nel tipo. Ciò in quanto, allostesso tempo, diversi modelli possono richiedere diversi dati di input. Nell'esempio riportato nelle figure 1.33 e 1.34, il modello Jarrow-Yildrim necessita siadell'oggetto Interest Rate Market Data (ovvero del dato relativo al tasso di interesse di mercato)che dell'oggetto Market Data. Information Market Data (ovvero dell'indicazione del mercato diriferimento). Un modello più semplice, come ad esempio il modello Hull e White ad unparametro, può richiedere solo il primo dei due oggetti elencati.

(Figura 1.33: Menù Tools – Tool Market Data Manager Browse Calibration)→

(Figura 1.34: Menù Tools – Tool Market Data Manager Browse Market Data)→

Per quanto riguarda sempre il tool Market Data Manager, è bene infine precisare che l'attualeversione di Fairmat presenta alcune limitazioni. In particolare: – i dati di mercato possono essere recuperati soltanto a mercati chiusi, ovvero a sedute

borsistiche concluse;– il recupero dei dati relativi ai tassi di interesse di mercato è ottimizzato solo per i mercati EU

24

Page 37: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 1 – INSTALLAZIONE E AVVIO

(Europa), US (Stati Uniti), CH (Svizzera), JP (Giappone) e GB (Gran Bretagna); – se dobbiamo cambiare la data prima di lanciare un'analisi, dovremo aggiornare i modelli

stocastici manualmente cliccando su di essi e selezionando il comando “Calibrate model using data provider”;

In tal senso le future versioni dell'applicativo Fairmat permetteranno di aggiornare automaticamentei dati e i modelli e forniranno maggiori dettagli su come i modelli siano stati calibrati.

Il Menù Help

Il menù a cascata Help (figura 1.35) contiene una voce denominata “Contents” con la quale verremoreindirizzati ad un documento di supporto, aiuto ed assistenza (nelle versioni attualmente disponibilidi Fairmat, tale documento è disponibile solo in lingua inglese). Fairmat Help funziona anche off-line.

(Figura 1.35: Menù Help)

25

Page 38: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2

IL LINGUAGGIOPER LA

DESCRIZIONEDEI PAYOFF

Page 39: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate
Page 40: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Fairmat è dotato di un semplice linguaggio di scripting i cui elementi base sono i parametri (ovverole costanti – o Scalar –, vettori – o Vectors –, le matrici – o Matrices), i processi stocastici (oStochastic Processes) e le funzioni (o Functions). Possiamo accedere alla creazione di questi oggettidal menù che si trova nell'angolo in alto a sinistra della pagina principale (figura 2.1).

(Figura 2.1: Fairmat – Elementi di base)

Combinando questi oggetti attraverso degli operatori funzionali, possiamo creare facilmente delleespressioni; sono disponibili diverse funzioni ad uso standard e diversi operatori predefiniti, mal'utente può anche definirne di propri e nuovi. Un suggerimento: possiamo eventualmente testare le espressioni create con Fairmat e utilizzarle inmodo iterativo nella Fairmat Console dello Status Panel, disponibile nella parte bassa dellaschermata principale. Per esempio (figura 2.2), dopo aver definito uno Scalar di nome “Date”, posto uguale alla data del30/12/2003, editando nella Fairmat Console “Day(Date)”, Fairmat ci mostrerà il valoredell'espressione creata (nel nostro caso pari a 30).

(Figura 2.2: Esempio di testing di un'espressione attraverso la Fairmat Console)

26

Page 41: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

I differenti tipi di funzione disponibili in Fairmat sono i seguenti:

– Assets' Sets Functions;– Date and Time Functions;– Financial Functions;– Functions on Vector and Matrices;– Interest Rate Functions;– Interval Functions;– Selection Functions;– Standard Functions;– Special Functions and Distribution Functions;– Other Functions; – Reserved Symbols; – Random Variables Generator;

Esamineremo ora in dettaglio ciascuno dei tipi di funzione appena elencati con l'eccezione delleSpecial Functions e delle Distribution Functions.

Le espressioni di Fairmat utilizzano le impostazioni di tipo internazionale per cui se nel nostro PC ilseparatore dei decimali è costituito dalla virgola (' , '), ciò si rifletterà nelle espressioni create conFairmat. Nella tabella 2.1 sottoriportata è possibile vedere come lo stesso payoff venga visualizzato in mododifferente utilizzando due diverse località di riferimento:

(Tabella 2.1 – Impostazioni locali per la definizione del payoff)

Fairmat riconosce, inoltre, il simbolo % (percentuale) per cui le seguenti espressioni sono del tuttoequivalenti: a = 0,12 oppure a = 12%.

Assets' Sets Functions

27

Payoff

rate (1; 2.5; @V1)

Rate (1; 2,5; @V1)

Località di riferimentoStati Uniti e InghilterraItalia e resto d'Europa

Page 42: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Le Assets' Sets Functions sono funzioni che possono essere utilizzate nelle espressioni di Fairmat eche hanno come argomento degli insiemi di attività (o asset set). Di conseguenza si tratta di un tipodi funzioni che lavorano su un determinato asset set di riferimento indicato dall'utente. Nella lista che segue, e che elenca i tipi di Assets' Sets Functions disponibili in Fairmat, @asset.setcostituisce il riferimento all'insieme di attività (o asset set) sul quale la funzione deve lavorarementre expr indica una comune espressione. Le Assets' Sets Functions permettono di effettuare operazioni di tipo aritmetico quali, ad esempio, laricerca del valore massimo (o del valore minimo) all'interno di un insieme di valori oppure ilcalcolo della media di un insieme di valori e così via. La variabile bi rappresenta l'indice corrente (o attuale) ricompreso entro l'insieme dei valori diriferimento e può assumere valori a partire da 1 fino al numero massimo di elementi contenutinell'asset set di riferimento. In particolare:

• ASMax (@asset_set; {expr}): calcola il valore massimo fra i valori dell'espressione exprottenuti durante la valutazione della stessa per ciascun elemento dell'asset set di riferimento;

• ASMin (@asset_set; {expr}): calcola il valore minimo fra i valori dell'espressione exprottenuti durante la valutazione della stessa per ciascun elemento dell'asset set di riferimento;

• ASSum (@asset_set; {expr}): calcola la somma dei valori dell'espressione expr ottenutidurante la valutazione della stessa per ciascun elemento dell'asset set di riferimento;

• ASMean (@asset_set; {expr}): calcola la media aritmetica semplice dei valoridell'espressione expr ottenuti durante la valutazione della stessa per ciascun elementodell'asset set di riferimento;

• ASWSum (@asset_set; @w; {expr}): calcola una somma ponderata, lungo il vettore deipesi w, dei valori dell'espressione expr ottenuti durante la valutazione della stessa perciascun elemento dell'asset set di riferimento. Il vettore dei pesi w deve contenere lo stessonumero di elementi dell'asset set di riferimento (in altre parole: la lunghezza del vettore wdeve coincidere con la grandezza, in termini di numeri di elementi, dell'asset set diriferimento);

• ASProd (@asset_set; {expr}): calcola il prodotto fra i valori dell'espressione expr ottenutidurante la valutazione della stessa per ciascun elemento dell'asset set di riferimento. Talefunzione può essere utile per la costruzione di funzioni di segnalazione (o indicationfunctions);

• ASCount (@asset_set; {expr}): conta il numero di volte che la valutazione dell'espressioneexpr, interagendo sugli elementi dell'asset set di riferimento, è positivo. Tale funzioneassume le caratteristiche quindi di un contatore;

Nelle espressioni argomento delle Assets' Sets Functions (ovvero expr) possiamo utilizzare ilsimbolo “V”, che rappresenta il valore del generico elemento dell'asset set di riferimento alla dataattuale (o in corso) durante la corrente realizzazione. Usando l'operatore di indicizzazione, ovvero[ ], possiamo accedere al valore del generico elemento ad una specifica data. Per esempio V[x]indica il valore del generico elemento “V” alla data “x”. Per comprendere appieno le Assets' Sets Functions, vediamo ora brevemente alcuni esempi.

Primo esempio: comparazione fra espressioni di diversa estensione Supponiamo di avere un problema definito in uno space assets (spazio di assets) del tipo S = V1, V2,

28

Page 43: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

…, Vn e di definire un asset set del tipo K = {V1, V2, V3}. Nel contesto dell'asset set definito valgono le seguenti equivalenze fra espressioni:

– ASMax (@K; {V[5]/V[0] – 1}) equivale all'espressionemax(V1[5]/V1[0] – 1; V2[5]/V2[0] – 1; V3[5]/V3[0] – 1);

– ASProd (@K; {V[5]/V[0] – 1}) equivale all'espressione (V1[5]/V1[0] – 1)*(V2[5]/V2[0] – 1)*(V3[5]/V3[0] – 1);

Secondo esempio: verifica della realizzazione di una condizioneSu una data realizzazione, la seguente espressione restituisce il numero di elementi nell'asset set Kche hanno avuto un incremento maggiore del 3% nel periodo compreso fra il periodo 4 e il periodo6:

– ASCount (@K; {V[6]/V[4] > 3%}) la quale è equivalente alla seguente espressione– ASCount (@K; {iif(V[6]/V[4] > 3%; 1; 0)})

Date and Time Functions

Le Date and Time Functions sono funzioni che possono essere utilizzate per manipolare dei valoridi tipo temporale. Fra le Date and Time Functions più importanti possiamo annoverare le seguenti:

• Accrual (date; @payments): restituisce il periodo totale di maturazione con riferimento adun dato istante temporale (date) e ad una data sequenza di date di pagamento (paymentdates) definite dal vettore payments;

Un esempio ci aiuterà a comprendere meglio l'utilizzo di tale funzione. Definiamo la data “Date”, variabile di tipo Scalar, come 30/06/2009, e il vettore payments come[06/10/2008; 05/10/2009; 04/10/2010]; supponiamo di voler calcolare il periodo di maturazione frale “payment dates” 06/10/2008 e 05/10/2009, ovvero i primi due elementi del vettore payments; lafunzione Accrual (date; @payments), sopra definita, restituirà come risultato il valore 0,7333423. In particolare, infatti, assumendo la data del 30/06/2009 (ossia il valore corrispondente alla variabile“Date”) sia come Effective Date che come Valuation Date i periodi da dover prendere inconsiderazione per il calcolo del periodo di maturazione, ovvero (30/06/2009 – 06/10/2008) e(05/10/2009 – 06/10/2008), verranno così convertiti da Fairmat in valori numerici (tenendo presenteche l'anno 2008 è stato un anno bisestile mentre il 2009 non lo è stato):

– (30/06/2009 – 06/10/2008) →[(31/12/2008 – 06/10/2008)/366] + [(30/06/2009 – 31/12/2008)/365] = = 87/366 + 180/365 = 0,2377049 + 0,4931507 = 0,7308556

– (05/10/2009 – 06/10/2008) →[(31/12/2008 – 06/10/2008)/366] + [(05/10/2009 – 31/12/2008)/365] = = 87/366 + 277/365 = 0,2377049 + 0,7589041 = 0,9966090

Per cui la funzione Accrual calcolerà il seguente rapporto: (30/06/2009 – 06/10/2008) / (05/10/2009 – 06/10/2008) = 0,7308556/0,9966090 = 0,7333423.

• Day (Date): restituisce il giorno del mese data una serie di date numeriche o una stringa didate (“Date”);

• Month (Date): restituisce il mese in un formato numerico data una serie di date o una stringadi date (“Date”);

29

Page 44: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

• Dayofweek (Date): restituisce il giorno della settimana in un formato numerico per una seriedi date numeriche o per una stringa di date (“Date”). L'ordine è 0 – 6 e va dalla Domenica(Sunday) al Sabato (Saturday);

Con un breve esempio cercheremo di illustrare ora l'utilizzo di tutte e tre le funzioni appenaelencate. Definita la data 24/10/2008:

– la funzione Day (Date) restituirà 24;– la funzione Month (Date) restituirà 10; – la funzione Dayofweek (Date) restituirà 5 ovvero Friday (in quanto il giorno 24/10/2008 era

un Venerdì);

• OnEvery (date; frequency): restituisce valore 1 (ossia VERO, “True”) solo se la data “Date”è un multiplo di frequency, 0 altrimenti (ovvero FALSO, “False”, altrimenti);

Anche per quest'ultima funzione ne vediamo un breve esempio al fine di comprenderne meglio ilfunzionamento e l'utilizzo. In particolare: OnEvery (t; 0,25) è una funzione che restituirà 1 (ossia VERO, “True”) per tutte le t che risultinomultiple di un quarto (0,25).

Financial Functions

Le Financial Functions sono funzioni che calcolano ed elaborano informazioni di tipo finanziario. Fra le Financial Functions disponibili in Fairmat si possono annoverare in particolare le seguenti:

• bscall (rf; S0; X; Sigma; Maturity): calcola il prezzo di un'opzione call di tipo europeoutilizzando il modello di Black e Scholes e la sua formula;

• bsput (rf; S0; X; Sigma; Maturity): calcola il prezzo di un'opzione put di tipo europeoutilizzando il modello di Black e Scholes e la sua formula;

Riguardo ai parametri sui quali si basa il modello di Black e Scholes ricordiamoci, in particolare,che:

– rf indica il rendimento di un titolo privo di rischio (o risk free);– S0 indica il prezzo dell'attività sottostante il contratto d'opzione (prezzo put);– X indica lo strike price (o prezzo d'esercizio) dell'opzione;– Sigma (o σ) indica la deviazione standard del sottostante (ovvero la sua volatilità); – Maturity (o scadenza) indica la data di scadenza (ovvero, nel caso specifico delle opzioni di

tipo europeo, di possibile esercizio dell'opzione);

Functions on Vectors and Matrices

Un vettore è un dato di tipo strutturato che consiste in un gruppo di elementi i quali sono accessibili

30

Page 45: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

mediante l'indicizzazione. Con Fairmat possiamo creare vettori comuni contenenti valori reali (qualiespressioni o date) e definiti come insiemi ordinati di elementi: ogni elemento del vettore potràessere un numero, una costante (ovvero uno Scalar) oppure un'espressione o una data. Un vettore dinome v può essere utilizzato nelle espressioni di Fairmat nei seguenti modi:

– se lo stesso vettore deve essere utilizzato come argomento di una funzione, esso dovràessere passato come riferimento mediante la sintassi @v;

– per accedere al valore degli elementi contenuti nello stesso vettore, si deve utilizzarel'operatore di indicizzazione [ ]. Per esempio v[1] restituirà il valore del primo elementopresente nel vettore v. Si noti bene che gli indici dei vettori in Fairmat sono in base uno,ovvero assumono valori da 1 fino a N, dove N indica il numero totale di elementi checompongono il vettore v;

Per le funzioni che accettano come argomento i vettori si veda il sottoparagrafo dedicato alle VectorFunctions. Allo stesso modo, una matrice di nome m può essere utilizzata nelle espressioni di Fairmat comesegue:

– se la stessa matrice deve essere utilizzata come argomento di una funzione, essa dovrà esserepassata come riferimento mediante la sintassi @m;

– per accedere al valore degli elementi contenuti nella stessa matrice, si deve utilizzarel'operatore di indicizzazione [riga; colonna]. Per esempio m[2; 4] restituirà il valoredell'elemento m2, 4 ovvero il valore dell'elemento della matrice m che si trova nella secondariga e nella quarta colonna. Gli indici sono, anche nel caso delle matrici, come nel caso deivettori, in base uno, per cui il primo elemento della matrice m, ovvero l'elemento m1, 1 è m[1; 1];

Per le funzioni che accettano come argomento le matrici si veda il sottoparagrafo dedicato alleMatrix Functions.

Vector Functions

In Fairmat sono disponibili diverse funzioni che accettano come argomento vettori ed espressioni e,nel contesto di tali funzioni, vi sono alcuni simboli interni che possono essere utilizzati perparametrizzare l'espressione expr. Più nello specifico:

– x0 indica il valore del primo elemento del vettore v;– xa indica il valore dell'elemento corrente, attuale, del vettore v; – xb indica il valore dell'elemento del vettore v che era l'elemento corrente, attuale, nel corso

della precedente iterazione della funzione; – xi indica l'indice corrente, attuale, nell'iterazione della funzione in corso sul vettore v;

Le Vector Functions sono molto simili nel loro funzionamento alle Interval Functions (cheesamineremo nel dettaglio fra qualche paragrafo). L'espressione generale delle Vector Functions è laseguente: vector_function (@vec; {expr}; [start]; [N]). Dove il simbolo @vec indica il vettorepassato come riferimento e expr è un'espressione. Start e N definiscono, rispettivamente, laposizione dell'indice di partenza e il numero di elementi del vettore considerati. Start e N sonoparametri opzionali per cui non è sempre necessario esplicitarli nella funzione; ai fini della

31

Page 46: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

notazione d'ora in avanti i parametri opzionali saranno mostrati entro le parentesi quadre (adesempio [N]). E' bene ricordare ancora una volta che gli indici del vettore sono in base uno, per cuiil punto di partenza di default è 1, se non viene esplicitato diversamente nella dichiarazione dellafunzione. Infatti le impostazioni di default dei parametri opzionali sono start = 1 e N =lenght(@vec) – start + 1. Le Vector Functions attualmente disponibili in Fairmat sono le seguenti:

• AMax (@vec; {expr}; [start]; [N]): restituisce il valore massimo dell'espressione exprvalutata dall'indice della posizione di partenza del vettore vec (ovvero start) per il numero Ndi elementi considerati del vettore stesso;

• AMin (@vec; {expr}; [start]; [N]): restituisce il valore minimo dell'espressione exprvalutata dall'indice della posizione di partenza del vettore vec (ovvero start) per il numero Ndi elementi considerati del vettore stesso;

• ACount (@vec; {expr}; [start]; [N]): restituisce il numero di volte che il valoredell'espressione expr, valutata dall'indice della posizione di partenza del vettore vec (ovverostart) per il numero N di elementi considerati del vettore stesso, è positivo;

• ASum (@vec; {expr}; [start]; [N]): restituisce la somma dei valori dell'espressione exprvalutata dall'indice della posizione di partenza del vettore vec (ovvero start) per il numero Ndi elementi considerati del vettore stesso;

• AMean (@vec; {expr}; [start]; [N]): restituisce la media dei valori dell'espressione exprvalutata dall'indice della posizione di partenza del vettore vec (ovvero start) per il numero Ndi elementi considerati del vettore stesso;

• AProd (@vec; {expr}; [start]; [N]): restituisce il prodotto dei valori dell'espressione exprvalutata dall'indice della posizione di partenza del vettore vec (ovvero start) per il numero Ndi elementi considerati del vettore steso;

• AWSum (@vec; @weight_vec; {expr}): restituisce la somma ponderata dei valoridell'espressione expr valutata interagendo sugli elementi del vettore vec ed utilizzando,come pesi, i valori del vettore weight_vec. Le dimensioni dei vettori vec e weight_vecdevono essere le stesse;

• AFirst (@vec; {expr}; [start]; [N]): restituisce il primo indice al quale corrispondequell'elemento del vettore vec che, dall'indice della posizione di partenza del vettore vecstesso (ovvero start) per il suo numero N di elementi considerati, verifica l'espressione expr.Qualora la funzione restituisca il valore 0 significa che la condizione non è mai statasoddisfatta durante tutto il ciclo di iterazione;

Related Functions

Le Related Functions sono funzioni che restituiscono un determinato valore da un vettore; quindianche in questo caso si tratta di funzioni che agiscono sui vettori. Fra le Related Functions disponibili in Fairmat possiamo annoverare le seguenti:

• AFirst (@vec): restituisce il valore del primo elemento del vettore vec; • ALast (@vec): restituisce il valore dell'ultimo elemento del vettore vec; • ALen (@vec): restituisce il numero di elementi contenuti nel vettore vec. In altre parole tale

funzione permette di determinare la lunghezza del vettore vec;

32

Page 47: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

• Lenght (@vec): restituisce il numero di elementi contenuti nel vettore vec. In altre paroletale funzione permette di determinare la lunghezza del vettore vec per cui tale funzione èdel tutto equivalente alla precedente ALen (@vec);

Alcuni esempi sull'utilizzo delle Vector Functions

1) Se vec1 è un vettore così definito [0, 1, 5, 3, 4, 2] e funz1 è una funzione così definita fun1 =2*x, allora:– la funzione AMax (@vec1; {fun1(xa)}) restituirà 10 (ovvero 2*5);– la funzione AMax (@vec1; {fun1(xi)}) restituirà 12 (ovvero 2*6); in quanto xa indica il valore massimo presente fra i valori di vec1, che è pari a 5, mentre xi

indica il valore massimo assunto dall'indice i, che (invece) è pari a 6.

2) Se vec1 è un vettore così definito [.1, .5, .3, .4, .2] possiamo scrivere le seguenti espressioniper la vector function AMax:

– AMax (@vec1; {xa} che restituisce .5 (in quanto si parte, di default, dal primo elemento di vec1 fino ad arrivare a N, che è uguale a lenght(@vec1) – start + 1 = 5 – 1 + 1 = 5);

– AMax (@vec1; {xa}; 3) che restituisce .4 (in quanto si parte dal terzo elemento del vettore vec1 fino ad arrivare a N, che è uguale a lenght(@vec1) – start + 1 = 3 – 1 + 1 =3; in pratica con queste impostazioni è come se il vettore vec1 fosse di soli 3 elementi anziché di 5);

– AMax (@vec1; {xa}; 3; 2) il quale restituisce .3 (in quanto si parte dal terzo elemento del vettore vec1 fino ad arrivare a N, che è uguale a lenght(@vec1) – start + 1 = 2 – 1 + 1 = 2, perché N è stato definito pari a 2; in buona sostanza, con queste impostazioni, è come seil vettore vec1 fosse di due soli elementi partendo però dal terzo elemento; in altre parole ancora, con queste impostazioni è come se il vettore vec1 fosse così definito: [.3, .2]);

3) Se vector è un vettore contenente i valori seguenti [.5, .7, 1.5] la seguente espressione: ASum (@vector; {Bond( xa ; 2; @v1)}; 1) equivale alla seguente: Bond (vector[1]; 2; @v1) + Bond (vector[2]; 2; @v1) + Bond (vector[3]; 2; @v1)(Avremo modo di vedere nel dettaglio la funzione Bond fra qualche paragrafo);

4) La seguente espressione restituisce il minimo di una serie di prezzi sottostanti relative a datefornite da un generico vettore A: AMin (@A; {v1[xa]/v1[xb – 1]}; 2);

Matrix Functions

Fra le Matrix Functions disponibili in Fairmat possiamo annoverare le seguenti:

• MRows (@m): restituisce il numero di righe della matrice m; • MColumns (@m): restituisce il numero di colonne della matrice m; • MRows (@m; row_index ): restituisce il riferimento alla riga della matrice m con indice pari

al valore di row_index; • MColumns (@m; column_index): restituisce il riferimento alla colonna della matrice m con

indice pari al valore di column_index;

33

Page 48: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Le funzioni MRow (@m; row_index) e MColumns (@m; column_index) restituiscono in pratica ilriferimento ad una riga o ad una colonna della matrice m; in questo modo possiamo richiamare unaqualsiasi delle Vector Functions descritte nel paragrafo precedente, passando però, in questi casi,come riferimento anziché un vettore, una riga o una colonna della matrice m. Un esempio ci aiuterà a comprendere al meglio il funzionamento e l'utilizzo delle Matrix Functionsappena illustrate. La seguente espressione calcola il valore massimo della seconda riga della matrice m: AMax (Mrow(@m; 2); xa).

Interest Rate Functions

Le Interest Rate Functions sono funzioni che hanno come oggetto dei tassi di interesse e cherestituiscono come valore dei tassi di interesse. All'interno della macrocategoria delle Interest RateFunctions possiamo distinguere tre categorie di funzioni:

1) le Interest Rate Conversion Functions;2) le Deterministic Interest Rate Functions; e 3) le Stochastic Interest Rate Functions;

Interest Rate Conversion Functions

Le Interest Rate Conversion Functions sono funzioni che permettono di convertire un tasso diinteresse espresso sotto un determinato regime in un tasso di interesse equivalente sotto un altroregime – ricordandoci che i regimi di tassi di interesse più diffusi sono quello semplice, quellocomposto e quello composto per m volte l'anno. Fairmat dispone di quattro diverse Interest Rate Conversion Functions. Fra queste funzionipossiamo distinguere le Interest Rate Conversion Functions che dipendono dalla scadenza (omaturity) n e quelle che non dipendono da essa. Rientrano nella prima sottocategoria le funzioni Rc2Rs e Rs2Rc; rientrano, invece, nella secondasottocategoria le funzioni Rc2Rm e Rm2Rc. Più nel dettaglio:

• Rc2Rs (Rc; n): restituisce il tasso di interesse semplice, a scadenza n, partendo dal tasso diinteresse composto Rc;

• Rs2Rc (Rs; n): restituisce il tasso di interesse composto, a scadenza n, partendo dal tasso diinteresse semplice Rs;

Rc e Rs sono entrambi espressi in termini di tassi di interesse annuali. Le prime due funzioni appena esplicitate si basano sull'equazione [2.1] nella quale il tasso diinteresse composto, a scadenza n, Rc(n) viene comparato con l'equivalente tasso di interessesemplice (sempre a scadenza n), Rs(n):

nnRse nnRc )(1)( [2.1]La [2.1] è risolvibile sia per Rc(n) che per Rs(n).

34

Page 49: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Alcuni esempi ci aiuteranno a comprendere al meglio l'utilizzo delle due funzioni appenaesplicitate. Ipotizziamo un tasso di interesse composto a 6 mesi, Rc, pari al 5% (tasso annuo). L'equivalentetasso di interesse semplice a 6 mesi, Rs, sarà dato da Rc2Rs (Rc; n) = Rc2Rs (0,05; 0.5) e quindisarà pari al tasso del 5,063% annuo. L'equivalente tasso di interesse semplice a 3 mesi, invece,ovvero Rc2Rs (Rc; n) = Rc2Rs (0,05; 0.25), sarà pari al tasso del 5,031% annuo. Notiamo come l'equivalenza del tasso semplice Rs e con il tasso composto Rc, e viceversa, dipendadalla scadenza n.

• Rc2Rm (Rc; m): restituisce il tasso di interesse composto per m volte l'anno, Rm, partendodal tasso di interesse composto annuo Rc;

• Rm2Rc (Rm; m): restituisce il tasso di interesse composto annuo, Rm, partendo dal tasso diinteresse composto per m volte l'anno, Rm;

Rc e Rm sono entrambi espressi in termini di tassi di interesse annuali. Queste altre due funzioni appena esplicitate si basano sull'equazione [2.2] nella quale il tasso diinteresse composto continuo (a scadenza n), Rc(n), viene comparato con l'equivalente tasso diinteresse composto per m volte l'anno (sempre a scadenza n), Rm(n).

mnnnRc

m

nRme

)(1)( [2.2]

E' possibile semplificare entrambi i membri della [2.2] per n, ottenendo così: m

nRc

m

nRme

)(1)( [2.3]

ovvero un'espressione nella quale possiamo esprimere il tasso Rc(n) come funzione del tasso Rm(n)e viceversa. La [2.2] e la [2.3] sono entrambe risolvibili, quindi, sia per Rc che per Rm. Notiamo che l'equivalenza del tasso composto Rc con il tasso composto per m volte l'anno Rm, eviceversa, sia del tutto indipendente rispetto alla scandenza n. Un esempio ci aiuterà a comprendere al meglio l'utilizzo delle funzioni appena esplicitate. Ipotizziamo un tasso di interesse composto continuo pari al 5% (annuo), per cui si ipotizzi Rc = 5%.L'equivalente tasso di interesse composto per 2 volte l'anno (ovvero l'equivalente tasso di interessecomposto continuo semestrale) è pari a Rc2Rm (Rc; m) = Rc2Rm (0,05; 2) = 5,063% (tasso annuo).Ribadiamo ancora una volta come l'equivalenza fra i due tassi, ovvero Rc e Rm non dipenda affattodalla scadenza n.

Deterministic Interest Rate Functions

Le Deterministic Interest Rate Functions sono funzioni che calcolano i tassi di interesse forward

35

Page 50: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

partendo da una data struttura per scadenze dei tassi di interesse (o zero rate curve o yield curve).Nelle definizioni che seguiranno, intenderemo sempre i tassi di interesse (siano essi spot – ovvero abreve termine – che forward – ovvero a lungo termine) come composti e continui. Fra le Deterministic Interest Rate Functions disponibili in Fairmat possiamo annoverare le seguenti:

• Iforward (t; @zr): restituisce il tasso di interesse forward istantaneo al tempo t data lastruttura per scadenze dei tassi di interesse spot (o zero rate curve, zr);

Data una certa struttura per scadenze dei tassi di interesse spot, il tasso di interesse forwardistantaneo ad un dato istante t è dato dalla seguente:

dt

dttdttzrdttdttzr

2

))(())(( [2.4]

• F.R.A. (t; n; @zr): calcola il tasso di interesse forward di tipo semplice corrente al tempo t

per investimenti con scadenza n data una certa struttura per scadenze dei tassi di interessespot, zr. La funzione F.R.A. (acronimo di Forward Rate Agreement, ovvero Accordo sui tassidi interesse futuri) restituisce un generico tasso LIBOR (London InterBank Offered Rate,tasso interbancario “lettera” su Londra) quando t indica una data storica e la struttura perscadenze zr è collegata al Market Data;

Data una certa struttura per scadenze dei tassi di interesse spot, definita dalla variabile zr dichiaratanella funzione F.R.A., il tasso di interesse forward di tipo semplice corrente al tempo t con scadenzan è definibile attraverso la seguente:

P (0, t+ n)

P (0, t)−1

n [2.5]

Dove P(0, t) indica il prezzo del titolo zero coupon con scadenza t. I tassi della struttura per scadenze zr sono di tipo composto continuo per cui P(0, t) è definito come:ezr(t)t.Un esempio ci aiuterà a comprendere al meglio l'utilizzo della funzione F.R.A. appena illustrata. Dati zr(0.5) = 0,0130870885 e zr(1.5) = 0,0156597434, il tasso forward semplice compreso tra iltempo 0,5 e il tempo 1,5, ovvero in altre parole il tasso forward di tipo semplice corrente al tempo0.5 per investimenti scadenti fra 1 periodo è pari a F.R.A (0.5; 1; @zr) = 0,0170904700. (n è pari quindi a 1 e non a 1,5 in quanto del tasso forward corrente è a 1 periodo e non a 1,5periodi).

Stochastic Interest Rate Functions

Fra le Stochastic Interest Rate Functions disponibili in Fairmat possiamo annoverare le seguenti:

36

Page 51: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

• BOND (t; s; @v): calcola, con riferimento all'istante t, il prezzo di un bond con scadenzacoincidente al tempo s, adottando come riferimento un determinato modello sui tassi diinteresse v (come può essere, ad esempio, il modello Hull e White);

Ad esempio, BOND (2; 3; @v1) permette di calcolare al tempo 2, il prezzo di un bond zero coupon,con scadenza al tempo 3, adottando come riferimento il modello stocastico v1.

• CMS (t; n; [m]; @v): calcola, con riferimento all'istante t, il valore del CMS (CostantMaturity Swap) con scadenza al tempo n, adottando come riferimento un determinatomodello sui tassi di interesse v (come può essere, ad esempio, il modello Hull e White). Ildato di input m indica l'intensità (ossia il numero di scambi finanziari previsti all'anno)relativa al CMS stesso. Con riferimento a quest'ultimo dato, in particolare, per le swapotionUS, ovvero statunitensi, si deve utilizzare come dato di input m = 2 (il dato in questo casoindica una frequenza di scambi semestrale nell'arco di un anno) mentre per le swapotioneuropee, di tipo europeo, si deve utilizzare come dato di input m = 1 (il dato in questo casoindica una frequenza di scambi annuale nell'arco di un anno);

Se il processo stocastico è collegato con i data sources, le informazioni riguardanti l'intensità msono ricavabili dai data sources stessi. Il valore all'istante t di un CMS con scadenza n e aventeintensità m (il quale indica, come già accennato, il numero di scambi finanziari nell'arco di un anno,la frequenza degli scambi finanziari nell'arco di un anno), utilizzando come processo stocastico diriferimento v, è definibile mediante la seguente:

mn

i

ref

ref

VmitBONDm

VmntBOND

1

);/;(/1

);;(1 [2.6]

dove il simbolo Vref equivale al simbolo @v. Un esempio ci aiuterà a comprendere al meglio l'utilizzo della funzione CMS appena esplicitata. Lafunzione CMS (4; 10; 2; @v1) permette di calcolare, all'istante 4, il CMS avente scadenza al tempo10 e che prevede un'intensità pari a 2 (ovvero, in altre parole, una frequenza di scambi finanziarisemestrale nell'arco di un anno) utilizzando come processo stocastico di riferimento v1.

• RATE (t; n; @v): calcola il tasso di interesse stocastico relativo all'intervallo temporale [t;t+n] adottando come riferimento un determinato modello sui tassi di interesse v (come puòessere, ad esempio, il modello Hull e White);

In particolare il tasso di interesse relativo all'intervallo temporale che va dal tempo t alla scadenza nsi può calcolare, utilizzando come modello stocastico di riferimento v, attraverso la seguente:

nVnttBOND ref

11

);;(

1 [2.7]

dove il simbolo Vref equivale al simbolo @v.Un esempio ci aiuterà a comprendere al meglio l'utilizzo della funzione RATE appena esplicitata. La funzione RATE (1; 0,5; @v1) permette di calcolare, all'istante 1, il tasso di interesse conscadenza semestrale (0,5) utilizzando come processo stocastico di riferimento v1.

• FIRS (t; n; m; Sk; @v): calcola con riferimento all'istante t, il valore dell'IRS (Interest Rate

37

Page 52: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Swap) con scadenza coincidente al tempo n, avente intensità pari a m (il quale indica ilnumero di scambi finanziari nell'arco di un anno) collegato al tasso cedolare Sk, utilizzandocome riferimento il processo stocastico sui tassi di interesse v. Solitamente Sk indica il tassoforward swap, ovvero lo strike price della swapotion. Il dato di input m indica l'intensità(ossia il numero di scambi finanziari previsti all'anno) relativa all'IRS stesso. Conriferimento a quest'ultimo dato, in particolare, per le swapotion US, ovvero statunitensi, sideve utilizzare come dato di input m = 2 (il dato in questo caso indica una frequenza discambi finanziari semestrale nell'arco di un anno) mentre per le swapotion europee, di tipoeuropeo, si deve utilizzare come dato di input m = 1 (il dato in questo caso indica unafrequenza di scambi finanziari annuale nell'arco di un anno);

Il tasso forward swap con scadenza n, valutato all'istante t, data un'intensità finanziaria pari a m(indicante il numero di scambi nell'arco di un anno, la frequenza degli scambi finanziari nell'arco diun anno), dato il tasso cedolare di riferimento Sk, ed utilizzando come modello di riferimento suitassi di interesse il processo v, è determinabile attraverso la seguente:

1),()/,(1

nttBONDmittBONDm

Sk mn

i

[2.8]

Interval Functions

Le Interval Functions sono funzioni che prendono come argomento un'espressione e poi eseguonoun calcolo, iterando l'espressione stessa entro il ciclo di iterazione definito dall'utente e quindi entrol'intervallo di riferimento definito in input. Tutte queste funzioni ricevono quindi in inputun'espressione expr, un intervallo di riferimento, – definito attraverso un valore di partenza (start) eun valore di terminazione (end) – nel quale l'espressione viene valutata, ed un parametro(opzionale) di incremento (increment) il quale definisce il successivo incremento in ciascunaiterazione, in ciascuna valutazione. Utilizzando delle notazioni generali è possibile definire le Interval Functions nel modo seguente: Interval_Functions (start; end; {expr}; [increment])Notiamo che l'espressione expr è scritta entro delle parentesi graffe mentre il valore del parametroincrement, che è un parametro di tipo opzionale, viene scritto entro delle parentesi quadre. Le Interval Functions sono molto simili alle Vector Functions, che abbiamo già visto e trattato inuno dei precedenti paragrafi, con la differenza che nel caso delle Vector Functions la funzione divalutazione è limitata soltanto ad una serie (discreta) di specifici valori definiti da un vettore (chenegli esempi riportati avevamo denominato sempre vec). Utilizzando le Interval Functions, invece,possiamo impostare, attraverso la definizione del parametro increment, uno spazio di incrementopiuttosto fine in modo tale da rendere la valutazione assai simile ad una effettuata su uno spazio divalori di tipo continuo, anziché di tipo discreto. Qualora omettessimo la specificazione relativa alparametro increment, la funzione di step di riferimento diventa lo step della simulazione MonteCarlo, definibile selezionando il percorso: Settings → Numerical Settings → # of discrete timesteps.Le operazioni vengono iterate lungo tutto lo spazio di incremento compreso fra i valori definiti perstart e per end. Entro il range del contesto delle funzioni definite, vi sono poi alcuni internal symbolche possono essere utilizzati:

– xs: indica il valore impostato per il parametro start (ovvero il valore di partenza);

38

Page 53: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

– xe: indica il valore impostato per il parametro end (ovvero il valore di terminazione); – xa: indica il valore della variabile indipendente al momento dell'iterazione corrente, attuale;

il simbolo a sta, infatti, per “actual” (attuale, corrente per l'appunto); – xb: indica il valore della variabile indipendente alla precedente iterazione (ovvero

all'iterazione corrente meno il valore imputato per il parametro increment) richiamatanell'iterazione corrente, attuale; il simbolo b sta, infatti, per “before” (prima);

Fra le Interval Functions attualmente disponibili in Fairmat si annoverano le seguenti:

• IMax (start; end; {expr}; [increment]): restituisce il valore massimo dell'espressione exprvalutata nell'intervallo di valori compresi fra start e end campionato con un numero di step(di passi di iterazione) pari a (end – start)/increment;

• IMin (start; end; {expr}; [increment]): restituisce il valore minimo dell'espressione exprvalutata nell'intervallo di valori compresi fra start e end campionato con un numero di step(di passi di iterazione) pari a (end – start)/increment;

• ICount (start; end; {expr}; [increment]): restituisce il numero di volte per le quali il valoredell'espressione expr, valutata nell'intervallo di valori compresi fra start e end campionatocon un numero di step (di passi di iterazione) pari a (end – start)/increment, è positivo;

• IProd (start; end; {expr}; [increment]): restituisce il prodotto dei valori dell'espressione exprvalutata nell'intervallo di valori compresi fra start e end campionato con un numero di step(di passi di iterazione) pari a (end – start)/increment;

• ISum (start; end; {expr}; [increment]): restituisce la somma dei valori dell'espressione exprvalutata nell'intervallo di valori compresi fra start e end campionato con un numero di step(di passi di iterazione) pari a (end – start)/increment;

• IMean (start; end; {expr}; [increment]): restituisce la media aritmetica semplice (ovvero contutti i pesi pari a 1/N, quindi equiparati, tutti identici) dei valori dell'espressione exprvalutata nell'intervallo di valori compresi fra start e end campionato con un numero di step(di passi di iterazione) pari a (end – start)/increment;

• ICondMean (start; end; {conditionexpr}; {expr}; [increment]): come la funzione precedente(IMean) restituisce la media aritmetica dei valori dell'espressione expr, valutatanell'intervallo di valori compresi fra start e end campionato con un numero di step (di passidi iterazione) pari a (end – start)/increment. Diversamente però dalla funzione IMean,precedentemente illustrata, ICondMean calcola la media (aritmetica semplice) dei valoridell'espressione expr solo in quei passi temporali nei quali la veridicità della condizione siaverificato (ovvero solo per quei valori dell'intervallo [start; end] campionato con un numerodi passi di iterazione pari a (end – start)/increment), per i quali il valore dell'espressioneexpr, per esempio, è maggiore di zero. In altre parole, ICondMean calcola la mediaaritmetica solo di quei valori dell'espressione expr che verificano una determinatacondizione, quale può essere, ad esempio, la condizione per cui expr > 0;

Come abbiamo già accennato in più occasioni, il parametro increment identifica lo spazio diincremento. Se l'intervallo [start; end] è uguale a 1 (per cui il valore del parametro si riferisce ad unperiodo di tempo di un anno) e se dobbiamo effettuare un campionamento giornaliero dell'intervallotemporale (daily) allora dovremo impostare il parametro increment uguale a 1/365 = 0,002739726,ovvero sia una frequenza di iterazione pari a 365. Increment è un parametro opzionale il cui valore di default è pari a dt, ovvero l'orizzonte temporaledi simulazione di riferimento meno la Simulation Start Date diviso per il valore corrispondente al

39

Page 54: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

parametro # of discrete time steps (ovvero, diviso per il numero di passi temporali di tipo discreto).

• Integral (start; end; {expr}): calcola l'integrale dell'espressione expr valutata nell'intervallodi valori compresi fra start e end. Più nel dettaglio, l'integrale viene calcolatonumericamente, eseguito da un punto di vista numerico, con la regola del trapezoide;

Alcuni esempi ci aiuteranno a comprendere al meglio il funzionamento e l'utilizzo delle IntervalFunctions appena illustrate.

Primo esempio Calcolo della media di una funzione entro un range, un intervallo, prestabilito e con un numeroprestabilito di incrementi. Ipotizziamo di voler calcolare la media di una funzione (come può essere ad esempio y = exp(x))entro un range, un intervallo, prestabilito (ad esempio [1; 3]) e con un numero prestabilito diincrementi (ad esempio 4). Per tale scopo si può utilizzare la funzione IMean (start; end; {expr};[increment]) = 0,5 (ciò in quanto sono richiesti 4 incrementi entro l'intervallo di riferimento [1; 3],per cui increment assumerà un valore pari a (end – start)/# of increment = (3 – 1)/4 = 0,5. Di conseguenza IMean (1; 3; {expr = exp(xa)}; 0,5) restituirà un valore pari a 9,37 ed equivarrà ascrivere la seguente espressione: [exp(1) + exp(1 + (1*0,5)) + exp(1 + (2*0,5)) + exp(1 + (3*0,5))+ exp(1+(4*0,5)) = (2,71828 + 4,48169 + 7,38906 + 12,18249 + 20,08554)/5 = 46,857/5 = 9,37.

Secondo esempioMassimo incremento in un dato intervallo. Su una data realizzazione, la seguente formula restituisce il massimo incremento dei rialzi delleattività sottostanti al modello V1 osservati fra il periodo 4 e il periodo 6. IMax (4; 6; {V1[xa]/V1[xb]})

Selection Functions

Le Selection Functions sono un tipo di funzioni molto più articolate di quelle che abbiamo vistofinora in quanto si tratta di un tipo di funzioni che lavorano sia con gli asset set (o insiemi diattività) che con i vettori, attraverso delle espressioni di selezione. Fra le Selection Functions disponibili in Fairmat possiamo annoverare le seguenti:

• ASSel (asset_set; vec; sel_expr; val_expr; mode): lavora su un asset set definito dalparametro asset_set e, per ogni data contenuta nel vettore vec, viene valutata, per ciascunelemento appartenente all'asset_set, l'espressione di selezione sel_expr;

Dall'asset set di riferimento vengono rimossi i valori della funzione corrispondenti al massimo e alminimo per cui alla data corrente (attuale), l'espressione di selezione sel_expr verrà valutata sulrestante asset set. In particolare, se il valore impostato per il parametro mode è pari a 1 allora, adogni iterazione, verrà rimosso l'elemento dell'asset set che massimizza il valore dell'espressione diselezione sel_expr (ovvero il suo valore massimo); diversamente se il valore impostato per ilparametro mode è pari a 0 allora, ad ogni iterazione, verrà rimosso l'elemento dell'asset set cheminimizza il valore dell'espressione di selezione sel_expr (ovvero il suo valore minimo). Infine, se l'asset set comprende K elementi, per le selezioni verranno considerati solo i primi K – 1

40

Page 55: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

elementi del Vector Date.

• ASSelAvg (asset_set; vec; sel_expr; mode): lavora su un asset set definito dal parametroasset_set e, per ogni data contenuta nel vettore vec, viene valutata, per ciascun elementoappartenente all'asset_set, l'espressione di selezione sel_expr;

Dall'asset set di riferimento vengono rimossi i valori della funzione corrispondenti al massimo e alminimo per cui la funzione restituirà la media (aritmetica semplice) dell'espressione di selezionesel_expr valutata sui rimanenti elementi dell'asset set di riferimento. In particolare, se il valoreimpostato per il parametro mode è pari a 1 allora, ad ogni iterazione, verrà rimosso l'elementodell'asset set che massimizza il valore dell'espressione di selezione sel_expr (ovvero il suo valoremassimo); diversamente se il valore impostato per il parametro mode è pari a 0 allora, ad ogniiterazione, verrà rimosso l'elemento dell'asset set che minimizza il valore dell'espressione diselezione sel_expr (ovvero il suo valore minimo). Se l'asset set comprende K elementi, per le selezioni verranno considerati solo i primi K elementidel Vector Date, per cui il vettore stesso dovrà contenere almeno K date.

Standard Functions

Le funzioni standard di tipo analitico e gli operatori di espressioni disponibili in Fairmat sonoriassunti nella tabella 2.2 in parte sottoriportata e in parte riportata alla pagina successiva:

(Tabella 2.2 – Elenco Standard Functions)

41

( ) 5*(1+1) = 10% 35% = 0.35 ^ 4^5 = 1024* 3*6 = 18/ 9/2 = 4.5

MOD+ 1+1 = 2- 9-5 = 4> 9>5 = 1 (VERO) < 7<4 = 0 (FALSO)

= = 5==4 = 0 (FALSO)>= 3>=3 = 1 (VERO)

Simbolo Alias Descrizione EsempioNessuno Priorità all'interno di un'espressioneNessuno PercentualeNessuno Elevazione a potenzaNessuno Moltiplicazione Nessuno DivisioneNessuno Funzione modulo (resto della divisione intera) Mod(7; 4) = 3Nessuno AddizioneNessuno SottrazioneNessuno Maggiore di Nessuno Minore di Nessuno Uguaglianza Nessuno Maggiore-uguale di

Page 56: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

(Tabella 2.2 – Elenco Standard Functions)

La funzione SIGN (Segno) può restituire o il valore -1, o il valore 0 o il valore 1. Il valore restituito dall'operatore T2I è espresso in unità di frazioni d'anno. Gli operatori relazionali (quali >, <, <=, >=, = =, < >) possono restituire come risultato solo duevalori: o 1 o 0 (ossia, rispettivamente, o TRUE – Vero – o FALSE – Falso).

42

<= 13<=9 = 0 (FALSO) < > 23<>20 = 1 (VERO)

NOT NOT(15) = -16AND & 6 AND 5 = 4OR | | 13 OR 6 = 15

IIF/SIIF IIF(2<4; 4; 5)MIN MIN(10; 3; 27; 13) = 3 MAX MAX(1; 9) = 9 SIN

COS

TAN

ASIN ASIN(1) = 1,570ACOS ACOS(-1) = 3,1416ATAN ATAN(0) = 0

SEC SEC(0) = 1

CSC CSC(1) = 1,18

COT COT(1) = 0,642

SINH SINH(3) = 10,01COSH COSH(2) = 3,76TANH TANH(1) = 0,76ABS ABS(-8) = 8EXP EXP(3) = 20,08LOG LN LOG(16) = 2,77

LOG2 LOG2(8) = 3

Simbolo Alias Descrizione EsempioNessuno Minore-uguale di Nessuno DisuguaglianzaNessuno Negazione

Operatore bitwise E (Prodotto Logico)Operatore bitwise O (Somma Logica)

Nessuno Se, costrutto di selezioneNessuno Valore Minimo Nessuno Valore MassimoNessuno Funzione Seno dell'argomento, espresso in radianti SIN(pi) = 0

NessunoFunzione Coseno dell'argomento, espresso in radianti

COS(pi) = -1

NessunoFunzione Tangente dell'argomento, espresso in radianti

TAN(pi) = 0

Nessuno Funzione inversa della funzione Seno (SIN)Nessuno Funzione inversa della funzione Coseno (COS)Nessuno Funzione inversa della funzione Tangente (TAN)

NessunoFunzione Secante dell'argomento, espresso in radianti

NessunoFunzione Cosecante dell'argomento, espresso in radianti

NessunoFunzione Cotangente dell'argomento, espresso in radianti

Nessuno Funzione Seno IperbolicoNessuno Funzione Coseno IperbolicoNessuno Funzione Tangente IperbolicaNessuno Funzione Valore AssolutoNessuno e elevato a potenza

Funzione Logaritmo NaturaleNessuno Funzione Logaritmo in base 2

Page 57: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

La funzione IIF e la funzione SIIF

La funzione IIF è una funzione definita come segue: IIF (condition; true_expression; false_expression).

In particolare, se la condizione (condition) è vera allora viene restituito il valore dellatrue_expression; altrimenti viene restituito il valore della false_expression. La funzione IIF ha due differenti versioni; in altre parole può essere scritta in due modi diversi:

• IIF (condition; expression1; expression2) oppure• IIF (condition; {expression1}; {expression2});

La principale differenza fra questi due differenti versioni consiste nel fatto che nella prima versioneexpression1 e expression2 vengono valutate prima della chiamata di funzione, mentre nella secondaversione, in base al valore della condition, viene valutata o solo la expression1 o solo laexpression2. Quest'ultima versione risulta essere molto utile quando una delle espressioni(expression1 o expression2) contrasta con la condition. In questo caso solo una delle due espressioniindicate verrà valutata una volta verificata la condition. La funzione SIIF (ovvero una funzione sequenza di IIF) è definita, invece, come segue: SIIF (condition#1; true_expression1; condition#2; true_expression2; false_expression).

Other Functions

All'interno della macrocategoria delle Other Functions possiamo distinguere due sottocategorie difunzioni: 1) le Derivatives e 2) le Option Map Block Related Functions.

Derivatives

Fairmat permette di calcolare le derivate arrivando fino alla derivata seconda, sia di funzionipredefinite nel programma sia di funzioni definite dall'utente. Fra le Derivatives disponibili inFairmat si possono, in particolare, annoverare le seguenti:

• Partial (@f; x1): calcola la derivata prima parziale, rispetto a x1, della funzionemonodimensionale f;

• Partial (@f; x1; x2; component): calcola la derivata prima parziale (sul componentecomponent = comp), rispetto sia a x1 che a x2, della funzione bidimensionale f;

• Partial (@f; x1 ; x2; x3; component): calcola la derivata prima parziale (sul componentecomponent = comp), rispetto a x1 , x2, e x3, della funzione tridimensionale f;

• Partial2 (@f; x1): calcola la derivata seconda parziale, rispetto a x1, della funzionemonodimensionale f;

• Partial2 (@f; x1; x2; component): calcola la derivata seconda parziale (sul componentecomponent = comp), rispetto sia a x1 che a x2, della funzione bidimensionale f;

• Partial2 (@f; x1 ; x2; x3; component): calcola la derivata seconda parziale (sul componentecomponent = comp), rispetto a x1 , x2, e x3, della funzione tridimensionale f;

Option Map Block Related Functions

43

Page 58: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Le Option Map Block Related Functions sono le funzioni relative al blocco, o ai blocchi,dell'ambiente Option Map. In alcune situazioni l'utilizzo dei blocchi composti non è sufficiente a descrivere alcune relazioniche occorrono fra le differenti parti contrattuali (i cosiddetti Legs dell'ambiente Option Map). Unasimile situazione può, infatti, accadere quando da una data struttura decisionale (o da un dato alberodecisionale) vogliamo utilizzare, sfruttare, solo il valore di un'altra differente sottostruttura, oppurequando il valore di un dato blocco deve essere scomposto in sottoblocchi, come avviene nel casodella modellazione del rischio di controparte. Fra le Option Map Block Related Functions disponibili in Fairmat si possono, in particolare,annoverare le seguenti:

• Value (@option; date): calcola il valore d una data opzione (option) ad una determinata data(date);

• Value (@option; infoDate payoffDate): calcola il valore atteso condizionale (con riferimentoalle informazioni disponibili in infoDate) dei flussi di cassa attualizzati (scontati) del bloccodenominato @option;

Il valore del node viene calcolato come un'aspettativa condizionale qualora la data indicata (date)sia successiva alla data corrente del node medesimo; altrimenti, qualora la data sia antecedente alladata corrente del node medesimo, esso viene calcolato come un valore di realizzo. La funzione Value (@option; infoDate; payoffDate) può essere utilizzata nei seguenti casi:

– quando, in un dato node della Option Map, è necessario conoscere il valore condizionale dinodes appartenenti a differenti sottostrutture;

– quando è necessario conoscere il valore condizionale (o il valore storico) dei nodes conriferimento a date diverse rispetto a quella attuale;

• Valuewd (@option; infoDate; defDate; recovery; versus): calcola il il valore dei futuripagamenti modellati nel blocco @option, i quali sono condizionati da un (probabile) defaultche si verificherà (presumibilmente) alla data defDate e scontati in base alle informazionidisponibili in infoDate – Valuewd è l'abbreviativo di Value With Default;

Il valore del node viene calcolato come un'aspettativa condizionale qualora la defDate (datapresumibile del probabile default) sia successiva alla data corrente del node medesimo; altrimenti,qualora la data sia antecedente alla data corrente del node medesimo, esso viene calcolato come unvalore di realizzo. Solitamente definita la defDate, qualora il valore attualizzato (scontato) dei futuri pagamentiprovenienti da un'entità dichiarata in stato di default sia positivo, la controparte non in defaultriceverà solo il 40% del valore futuro dei pagamenti (in altri termini si applica alla somma dei futuripagamenti un recovery rate, un tasso di recupero in caso di dichiarazione di default del 40%). Nelcaso contrario, si dovrà considerare l'intero valore, dato dai futuri flussi di cassa attesi. Espliciteremo ora alcuni dettagli sugli argomenti della funzione Valuewd:

1) @option: indica la sottostruttura oggetto del valore da calcolare;2) infoDate: indica la data di valutazione;3) defDate: indica la data nella quale, si presume, occorra il default e a partire dalla quale dovrà

essere presa in considerazione solo una parte dei flussi di cassa attesi; 4) recovery: indica il tasso di recupero o recovery rate; generalmente esso è pari al 40%;5) versus; parametro che si deve impostare o pari a +1 o pari a -1;

44

Page 59: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

Attraverso la funzione Valuewd possiamo scrivere in modo composto la seguente espressione (deltutto equivalente): iif(versus*value (@option; id; defDate) > 0); {x1 – (1 – RecoveryRate)*value (@option; id;defDate)}; {value (@option; id; defDate)}).

Reserved Symbols

Fairmat definisce una serie di simboli i quali sono specifici alla modellazione del progetto e hannoun comportamento specifico. Per cui non possiamo creare simboli di uso comune (i cosiddetticustom symbols) con un nome speciale in quanto essi sono già definiti nel programma. Di seguito proponiamo una lista di tutti i Reserved Symbols (detti anche Private Symbols in quanto,appunto, riservati) utilizzati in Fairmat con l'illustrazione delle caratteristiche di ciascuno di essi:

• Effective Date (Data inizio contratto): rappresenta la data nella quale il contratto ha inizio,ha effetto (e che può essere differente dalla data di valutazione, o Valuation Date). Il valoredella variabile può essere impostato nelle Project Preferences. Tale variabile può essere utilizzata in qualsiasi espressione;

• X: indica il valore della specifica attività sottostante in ciascun stato. Tale variabile puòessere utilizzata nella finestra di dialogo di specificazione dell'attività sottostante qualora sivoglia, ad esempio, definire un'attività che ha una certa correlazione con lo stato di un'altraattività;

• t: indica la data attuale, il tempo relativo all'istante di partenza del progetto. Tale variabileviene espressa in unità di tempo e può essere usata in ogni espressione dei payoff, in ognispecificazione dell'attività e in ogni funzione analitica;

• i: rappresenta l'indice riferito alla data attuale, il tempo relativo all'istante di partenza delprogetto. Tale variabile viene utilizzata nella definizione delle funzioni ricorrenti;

• xa: si tratta di una variabile utilizzabile sia nelle Interval Functions che nelle VectorFunctions. In particolare nelle Interval Functions tale variabile indica il valore dell'attualeciclo di iterazione (“a”, sta, infatti per “actual”, ovvero corrente, attuale); nelle VectorFunctions tale variabile indica il valore dell'elemento corrente, attuale, del vettore;

• xb: anche in questo caso, si tratta di una variabile utilizzabile sia nelle Interval Functions chenelle Vector Functions. In particolare nelle Interval Functions tale variabile indica il valoredel tempo che era stato il tempo corrente nel passaggio precedente, nel ciclo di iterazioneprecedente (“b” sta, infatti, per “before”); nelle Vector Functions tale variabile indica ilvalore dell'elemento che era stato l'elemento corrente, attuale, nella precedente iterazionedella funzione;

• xs: anche tale variabile è una variabile utilizzabile sia nelle Interval Functions che nelleVector Functions. In particolare, tale variabile indica il valore di partenza t0;

• Scenario: tale variabile rappresenta l'indice dello scenario attuale, corrente. Essa può esseremodificata manualmente dall'utente oppure automaticamente nella Scenario Analysis, chevedremo poi più in dettaglio nel corso del Capitolo 4. Tale variabile può essere utilizzata inqualunque espressione;

• Horizon (orizzonte): tale variabile rappresenta la distanza temporale (espressa in frazionid'anno) coperta dall'opzione con scadenza a più lungo termine; in altre parole, essarappresenta l'orizzonte temporale della simulazione. Tale variabile può essere utilizzata inqualunque espressione;

45

Page 60: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 2 – IL LINGUAGGIO ALGEBRICO DI FAIRMAT

• Global Calendar: tale variabile rappresenta il calendario di mercato sul quale si basano tuttii vettori e tutte le funzionalità di trasformazione delle date Date Vector Adjustment andDifferences Calculator.

• Tale variabile si imposta selezionando il seguente percorso: Settings → Project Preferencese può essere utilizzata nelle project dates metrics e nelle funzionalità di trasformazione delledate Date Vector Transformation – ovvero nelle funzionalità Date Vector Adjustment andDifferences Calculator;

Random Variables Generator

Fairmat può generare campionamenti casuali da variabili casuali indipendenti. Il campionamentocasuale può essere utilizzato nei payoff, nella definizione di funzioni analitiche e nella definizionedi processi stocastici. Le Random Variables Generator disponibili in Fairmat sono le seguenti:

• Uniform (a; b): la quale restituisce un numero reale pseudo-casuale preso da unadistribuzione uniforme definita nell'intervallo di valori [a; b];

• Negative Exponential (a): la quale permette di rappresentare la distribuzione esponenzialenegativa con media, valore atteso, pari ad a;

• Logistic (a; b): la quale restituisce un numero reale pseudo-casuale preso da unadistribuzione logistica con media, valore atteso, pari ad a e spread pari a b;

• Normal (a; b): la quale restituisce un numero reale pseudo-casuale preso da unadistribuzione gaussiana (o normale) con media, valore atteso, pari ad a e deviazionestandard pari a b;

• Cauchy (a; b): la quale restituisce un numero reale pseudo-casuale preso da unadistribuzione con mediana pari ad a ed un semi-intervallo interquartile pari a b;

• Student (n): la quale restituisce un numero reale pseudo-casuale preso da una distribuzione tdi Student con n gradi di libertà (n deve essere, in particolare, un numero intero);

• Fisher (m; n): la quale restituisce un numero reale pseudo-casuale preso dalla distribuzionedi Fisher – Snedecor con m e n gradi di libertà (m e n devono essere, in particolare, numeriinteri);

• Weibull (a; b): la quale restituisce un numero reale pseudo-casuale preso dalla distribuzionedi Weibull a due parametri e, più precisamente con un parametro forma pari ad a ed unparametro scalare pari a b;

• Poisson (I): la quale restituisce una variabile intera pseudo-casuale presa da unadistribuzione di Poisson con media, valore atteso, pari a I;

• Logicall (p): la quale restituisce un valore logico pseudo-casuale TRUE (ossia “Vero”, o 1)con probabilità pari a (p) e FALSE (ossia “Falso”, o 0) con probabilità pari a (1 – p);

46

Page 61: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3

IL WORK SPACEDI FAIRMAT

Page 62: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Nel Capitolo 1 abbiamo visto che la pagina iniziale dell'applicativo Fairmat si presenta così (figura3.1):

(Figura 3.1: Schermata inziale – 2)

Cercheremo ora di focalizzare l'attenzione sui due tab principali che si trovano alla sinistra dellaschermata iniziale di Fairmat ovvero i tab Structure e Info. Il tab Structure comprende, a sua volta, una serie di ambienti (figura 3.2), che vedremodettagliatamente uno per uno nel corso di questo capitolo e che sono i seguenti:

1) L'ambiente Parameters & Functions nel quale possiamo inserire input generali (quali, adesempio, le costanti, i vettori e le matrici), aggiungere funzioni analitiche o funzioniricorrenti o aggiungere una funzione di trasformazione di un determinato dato di input(quale, ad esempio, una data di pagamento);

2) L'ambiente Stochastic Processes nel quale possiamo inserire un processo stocastico di baseoppure un processo stocastico disponibile dopo aver effettuato un plug-in;

3) L'ambiente Discounting nel quale possiamo impostare i parametri base per l'attualizzazione(o discounting, appunto) globale del progetto che si sta analizzando ed esaminando;

4) L'ambiente Option Map nel quale possiamo modellare, da un punto di vista grafico,attraverso un apposito costruttore grafico posto su di una tavolozza, su di un pannello, ilcontratto derivato oggetto di analisi, creando una sorta di asse dei tempi delle varie scadenzeda esso previste e al tempo stesso una sorta di struttura logica e decisionale il cui percorsovaria in base al susseguirsi delle varie scadenze contrattuali e al manifestarsi dei varipagamenti previsti fra le parti contrattuali coinvolte;

5) L'ambiente Manage Scenarios nel quale possiamo creare diversi scenari (o configurazioni)per il progetto che si sta analizzando ed esaminando;

47

Page 63: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.2: Tab Structure e relativi ambienti)

L'ambiente Parameters & Functions

Il tab Parameters & Functions (figura 3.3) ci porta ad un ambiente che ci consentire di creare e/omodificare oggetti come ad esempio le costanti, i vettori, le matrici e via discorrendo. Nel dettaglio Fairmat, attraverso l'ambiente Parameters & Functions, possiamo inserire:

1) Parameters (ossia Parametri) quali:- Scalar (scalari o, più semplicemente, costanti); - Vector (vettori); - Matrix (matrici); - Endogenous Variable (variabili endogene); - Vector of Ticker (vettori di ticker); - Vector and Matrices Aggregator (vettori e matrici aggregatori); - Vector of weights (vettore dei pesi); - Date Sequences (sequenze di date);

2) Functions (ossia Funzioni) quali: - Analytic Function (funzioni analitiche); - Interpolated Function (funzioni interpolanti);- Recurrence Function – time steps (funzioni ricorrenti – fasi temporali);- Recurrence Function – array (vettori di funzioni ricorrenti); - 2D Interpolated Function (funzioni interpolanti bidimensionali);

3) Transformations (ossia Trasformazioni) quali: - Date Vector Adjustment; - Date Vector Differences Calculator; - Zero Rate Curve Calculator;

48

Page 64: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.3: Ambiente Parameters & Functions)

Parameters: Scalar

Uno Scalar (o scalare o, più semplicemente, costante) – figura 3.4 – è un elemento che può esserepassato come argomento di una funzione o essere utilizzato nelle espressioni Fairmat per definire ipayoff del contratto derivato oggetto di analisi e ogni qual volta sia necessario specificare un valorecostante (come ad esempio il valore nozionale di un contratto). Uno Scalar può essere un numero così come un'espressione algebrica oppure ancora una data.Come altri oggetti creati su Fairmat, le costanti possono essere taggate per essere incluse in unaSensitivity Analysis oppure in una Impact Analysis, oppure, semplicemente, possono essere resepubbliche.

Un suggerimento: se con il cursore del mouse passiamo sopra l'espressione appena creata per loScalar, Fairmat mostrerà il significato numerico dell'espressione stessa (ad esempio uno Scalardefinito come una data e corrispondente, per ipotesi, alla data del 30/06/2004, in relazione ad unaValuation Date fissata, per ipotesi, in corrispondenza della data del 30/12/2003, corrisponde, intermini numerici, alla cifra 0,500014971180478 qualora siano state impostate le impostazioni didefault Actual/Actual per il campo “Counter” e Unadjusted per il campo “Convention”).

Vediamo come inserire uno Scalar nell'ambiente Parameters & Functions di Fairmat (figura 3.5) ecome editarlo. Nel tab Definition dovremo compilare i campi “Name”, inserendovi il nome chevogliamo attribuire allo scalar che stiamo andando a creare, e “Expression”, nel quale inseriremo ilsuo valore (se stiamo inserendo una costante) oppure l'espressione ad esso relativa (se stiamoinserendo una data o, appunto, un'espressione).

49

Page 65: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.4: Ambiente Parameters & Functions – Scalar)

(Figura 3.5: Finestra di editing di uno Scalar)

Parameters: Vectors and Matrices

Fra gli oggetti disponibili in Fairmat possiamo anche inserire vettori e matrici selezionando,nell'ambiente Parameters & Functions, il tab Parameters e poi l'oggetto Vector (o Matrix, aseconda che dobbiamo costruire o un vettore oppure una matrice). Gli editor degli oggetti Vector e Matrix (tab Data) ci permettono di inserire i dati:

– o direttamente dalla tastiera;– o copiando una selezione di dati da un foglio di calcolo elettronico (come ad esempio un

foglio di Excel), premendo il tasto “Import” e dopo aver dato comando “Import” (figure 3.6e 3.7);

– o copiando una selezione di dati da un foglio di calcolo elettronico (come ad esempio unfoglio di Excel) ed incollando direttamente la selezione stessa nel campo “Expression”;

50

Page 66: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.6: Vectors and Matrices, finestra di editing 1)

La dimensione del vettore creato (o della matrice creata) è indicata in basso a sinistra nella finestradi editing dell'oggetto (figura 3.8). Nel caso di fonti di dati separate attraverso il tabulatore, l'utente deve, prima ancora di inserire talidati in una matrice, flaggare il check-box “Use also space as column separator”. Una volta che il vettore è stato creato (o che la matrice è stata creata) possiamo aggiungere unsingolo elemento (una linea nel caso in cui si tratti di una matrice), prima o dopo un elemento diriferimento, semplicemente puntando con il mouse la testata della griglia di visualizzazione ecliccando il tasto destro (figura 3.9).

(Figura 3.7: Vectors and Matrices, finestra di editing 2)

51

Page 67: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.8: Vectors and Matrices, dimensione)

(Figura 3.9: Vectors and Matrices, aggiunta/rimozione elementi)

52

Page 68: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Parameters: Date Sequences

Attraverso l'oggetto Date Sequences (figura 3.10) abbiamo la possibilità di generare in automaticouna sequenza di “payment dates” (ovvero di date di pagamento) mediante la specifica della data diinizio periodo, la data di fine periodo e la frequenza dei pagamenti. Le date così generate inautomatico potranno poi essere modificate manualmente e trasformate con degli aggiustamenti. Lo scopo di questo oggetto è quello di semplificare la creazione di un Vector Dates evitando lanecessità di compiere il passaggio di importarle da un software esterno o da un foglio di calcoloelettronico. Per attivare il generatore automatico di date dobbiamo entrare nell'ambiente Parameters &Functions, cliccare sul comando “Add”, selezionare l'oggetto Date Sequences e cliccare poi su“OK”. A questo punto possiamo impostare una data di partenza ed una data di fine periodospecificando anche l'intervallo temporale che deve intercorrere tra una data di scadenza e l'altra. Lescelte possibili in tal senso sono, in particolare: “Daily” (ovvero giornalmente, ogni giorno);“Weekly” (ovvero settimanalmente, ogni settimana); “Bi-Weekly” (ovvero bisettimanalmente, ognidue settimane); “Monthly” (ovvero mensilmente, ogni mese); “Theree Months” (ovverotrimestralmente, ogni tre mesi); “Six Months” (ovvero semestralmente, ogni sei mesi); “Year”(ovvero annualmente, ogni anno); Con le date specificate e con la frequenza temporale così impostata, Fairmat in automatico genereràun Vector Dates contenente una serie di date sulla base di quanto da noi impostato e richiesto.

(Figura 3.10: Date Sequences, tab Definition)

53

Page 69: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Functions: Analytic Functions

L'oggetto Analytic Functions, presente all'interno dell'ambiente Parameters & Functions, cipermette di definire delle funzioni per un loro successivo utilizzo in Fairmat. L'obiettivo è disemplificare la scrittura di espressioni algebriche inserendo nelle funzioni espressioni che siamosoliti utilizzare varie volte. L'oggetto Analytic Functions (figure 3.11 e 3.12) viene definito in base a come compiliamo i campidel tab Expression durante la fase di Editing e quindi in base a come compiliamo i seguenti campi:

– “Function Name” (nome della funzione): nel quale, appunto attribuiamo alla funzione che sista creando un nome; nello specifico, il nome deve essere univoco e non può contenerespazi;

– “# of Independent Variables” (numero di variabili indipendenti): con il quale si imposta ilnumero di variabili che verranno considerate dalla funzione analitica. E' possibile inserirefino ad un massimo di 16 variabili indipendenti;

– “Expression f(x1, …, xN)” (ovvero l'espressione analitica della formula): l'espressione puòriferirsi, in particolare, sia alle variabili indipendenti (x1, …, xN) che ad un qualunque altrosimbolo definito in Fairmat, come ad esempio una costante (sia essa definita dall'utente chepredefinita dal sistema);

(Figura 3.11: Analytic Function, Tab Expression)

54

Page 70: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.12: Analytic Function, un esempio)

Functions: Interpolated Functions

Data una serie di coordinate (Xi, Yi), le quali sono costituite da coppie di numeri reali, attraversol'oggetto Interpolated Functions possiamo procedere alla stima di un modello matematico, unafunzione interpolante, in grado di descrivere i punti dati. Il valore della funzione interpolante èl'output del modello. In particolare, a tal fine in Fairmat possiamo utilizzare vari modelli per l'interpolazione fra i quali(figura 3.13):

– Linear Interpolation (Interpolazione Lineare): dati due punti, il valore di Y corrispondente aX può essere trovato attraverso un'interpolazione di tipo lineare. Se i due punti noti sono datidalle coordinate (X0, Y0) e (X1, Y1), l'interpolazione lineare individua la linea retta che passatra questi punti. Per un valore di X nell'intervallo [X0, X1], il valore di Y lungo la linea rettasarà dato dalla seguente equazione:

01

0

01

0

XX

XX

YY

YY

[3.1]

risolvendo la [2.1] per Y, che è il valore dell'incognita, rispetto a X, si ottiene:

01

0100 )(

XX

YYXXYY

[3.2]

che è la formula per l'interpolazione lineare nell'intervallo (X0, X1); – Cubic Spline: l'interpolazione spline è una forma di interpolazione nella quale la funzione

interpolante è un tipo speciale della funzione polinomiale a tratti chiamata appunto spline.Per una serie di dati {Xi} di N+1 punti, è possibile costruire una cubic spline con unpolinomiale cubico a tratti fra i punti dati. Per una coppia di punti adiacenti viene calcolatoun polinomio di 3° grado. Date due coppie di punti adiacenti, il polinomio viene calcolato inmodo tale che si possa avere la stessa derivata in un punto comune (la funzione spline è,infatti, una funzione monotona);

55

Page 71: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

– Polynomial Interpolation – Least Square (Interpolazione polinomiale – Minimi Quadrati): la“polynomial interpolation” è l'interpolazione di una data serie di polinomi. Piùprecisamente, dati alcuni punti, l'obiettivo è quello di individuare un polinomio che passiesattamente per i punti dati. Il modello stima un polinomio di uno specifico grado cheminimizza l'errore fra il polinomio e la serie di dati;

– Interpolation of a Zero (Steps Functions): dati due punt adiacenti con coordinate ad esempio(X0, Y0) e (X1, Y1), il valore della funzione nell'intervallo [X0, X1] è Y0. Per X ≥ X1 è Y1;

(Figura 3.13: Interpolated Function, metodi di interpolazione e di estrapolazione)

Nella finestra di editing di una Interpolated Function è anche possibile selezionare il metodo diestrapolazione dei dati (figura 3.13). In tal senso le scelte possibili sono le seguenti:

– Extrapolated using the selected interpolation model (estrapolare utilizzando il modello diinterpolazione selezionato) per cui l'estrapolazione sarà coerente con il modello diinterpolazione scelto;

– Extrapolated using a costant model (estrapolare utilizzando un modello costante) per cuil'estrapolazione sarà costante e verrà calcolata utilizzando l'algoritmo immediatamente piùvicino, più simile;

56

Page 72: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Functions: Recurrence FunctionsIn molte situazioni, specialmente per descrivere eventi che si ripetono ad intervalli di tempo discretie la cui evoluzione dipende dai dati previsionali, è naturale considerare le sequenze definite comericorsive. Generalmente viene assegnato un dato iniziale, dopo di ché si imposta la regola in basealla quale si determinerà ciascun nuovo dato, come ad esempio avviene nel caso di una funzioneprevisionale. Vediamo ora un breve esempio di funzione ricorrente, in modo da comprenderne appieno ilconcetto. Ipotizziamo il caso più semplice, ovvero quello di dipendenza dai soli dati previsionali,ovvero la seguente situazione:αt+1 = f(at) per t=1, 2, …, n-1 e a1=αdove f(...) indica la funzione che descrive come il nuovo passo debba essere calcolato a partiredall'elemento precedente; α indica, invece, il dato iniziale, di partenza. Le funzioni ricorrenti, presenti e disponibili in Fairmat, vengono prima inserite dall'utentenell'ambiente Parameters & Functions e poi vengono richiamate nell'ambiente Option Map comesemplici vettori. Le funzioni ricorrenti possono essere un'espressione nella quale appaiono sia la stessa funzionericorrente sia le sue variabili sottostanti, sia, infine, gli altri parametri. Una funzione ricorrente può anche essere, a sua volta, una funzione di altre funzioni ricorrenti. Inquest'ultimo caso particolare, se la funzione ricorrente, di nome ad esempio B, dipende da un'altrafunzione ricorrente, di nome ad esempio A, dovremo rispettare la definizione dell'ordine di priorità. Fairmat fornisce due tipi di funzioni ricorrenti, definite da un valore iniziale e da una regola diricorrenza, la quale permette di definirne l'evoluzione temporale:

– Function defined by a recurrence expression – time steps (funzione definita daun'espressione ricorrente – passi temporali) per cui ad ogni tempo t, la funzione dipende dalsuo valore riferito ai periodi precedenti t – dt;

– Function defined by a recurrence expression – array (funzione definita da un'espressionericorrente – vettore) per cui la funzione ricorrente viene collegata ad un vettore diriferimento. Per ogni dato X, il valore della funzione in X dipende dal suo valore riferito aldato precedente X – 1 e il numero totale di dati è uguale alla lunghezza, ovvero alladimensione, del vettore di riferimento;

Un esempio sulle funzioni ricorrenti (1)

Il Conto Deposito di Mercato Monetario è un'attività che vale 1 Euro al tempo 0 e consente diguadagnare, in qualsiasi periodo di tempo dato, l'istantaneo tasso di interesse privo di rischio. Apartire da tale attività finanziaria possiamo definire una funzione denominata MMA (Money MarketAccount) i cui parametri sono il tasso di interesse privo di rischio e gli istanti temporali nei qualimaturano gli interessi. La variabile r può essere stocastica. Se V1 è il processo stocastico chedescrive l'evoluzione temporale del tasso privo di rischio, la funzione MMA può essereimplementata utilizzando una Function defined by a recurrence expression – time steps (figure 3.14e 3.15).

57

Page 73: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.14: Recurrence Function MMA, tab Edit )

(Figura 3.15: Recurrence Function MMA, tab Preview)

Il dato iniziale del vettore MMA (ossia MMA[0]) è 1, mentre la funzione che descrive l'accumulodegli interessi nel corso del tempo segue questa regola di ricorrenza: MMA[t – dt]*exp(V1[t –dt]*dt) al tempo t. In altre parole, le unità di euro capitalizzano interessi al tasso definito dalprocesso stocastico V1, con frequenza uguale a dt (un intervallo di tempo molto piccolo, ma giàdiscreto). Infine, la funzione che viene richiamata entro la modellazione del contratto oggetto dianalisi (nell'ambiente Option Map) come un vettore MMA[t] (figura 3.16) è la funzione descritta inprecedenza e valutata alla scadenza 1 del contratto medesimo.

58

Page 74: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.16: Recurrence Function MMA, tab Timing and Payoff)

Un esempio di funzione ricorrente (2)

L'oggetto Recurrence Function può essere utile per prezzare i contratti derivati non standardizzati.Ne è un esempio il contratto derivato Colar Reef Swap (letteralmente Swap Barriera Corallina –figura 3.17) i cui payoff richiamano la forma di un rachet cap. Un rachet cap implica una serie diregole per la determinazione del tasso cap per ciascun caplet. Generalmente esso è uguale al tassoLIBOR rilevato alla precedente data di reset con l'aggiunta di uno spread. Nel contratto derivato Colar Reef Swap la parte A paga il valore positivo del prodotto fra il tassoEURIBOR a 3 mesi (rilevato in corrispondenza di certe date di reset) ed una funzione chiamataOption (t). Quest'ultima, evidenziata nella figura con un bordo rosso, è una funzione ricorrente il cuivalore al tempo t è definito come: Option (t) = Option (t -1) + RDove R è così determinato:

– se il tasso EURIBOR a 3 mesi è minore del 4,35%, allora sarà uguale a -0.20;– se il tasso EURIBOR a 3 mesi è maggiore-uguale del 4,35%, allora sarà uguale a 1,50;

59

Page 75: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.17: Colar Reef Swap - Determinazione del payoff)

L'editor della funzione definita da un'espressione ricorrente (ossia da un vettore) ha un nuovocampo chiamato Array Reference, ossia il campo nel quale deve essere esplicitato il vettore dei datiai quali la funzione si riferisce (figura 3.18). In questo secondo esempio che stiamo discutendo ilvettore di riferimento è il vettore delle date di pagamento (ossia Pdu). Il dato iniziale (Op[1]) è pari a R0 più il risultato del seguente costrutto di selezione: iif(rate(Rd[1], maturity, @V1)<4,35%;-0.2;1.5)

(Figura 3.18: Recurrence Function Opt, Tab Editing)

R0 è una costante che esprime il valore della funzione Opt al tempo 0. L'altra parte dell'espressioneè, invece, il codice Fairmat per esprimere la funzione R. Se il tasso variabileRate(Rd[1];maturity;@V1) – il quale è una Interest Rate Function che esprime il tasso EURIBORcon scadenza 3 a mesi, osservato al tempo Rd[1] e la cui dinamica è descritta attraverso un processostocastico V1 – è minore del 4,35% allora il payoff sarà uguale a -0.20, altrimenti sarà uguale a1.50.

60

Page 76: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.19: Recurrence Function Opt, Tab Preview)

La “Update Expression” è la stessa espressione Opt[X – 1] + iif(rate(Rd[X]; maturity;@V1)<4,35%; -0.2; 1.5) con la sola eccezione che l'indice del vettore delle date di reset, ossia ilvettore Rd, è X, mentre l'indice della funzione Opt è X – 1. In altre parole, la “Update Expression” assumerà ricorsivamente i valori: Opt[1] + iif(rate(Rd[2]; maturity; @V1)<4,35%; -0.2; 1.5) all'istanza X = 2; Opt[1] + iif(rate(Rd[3]; maturity; @V1)<4,35%; -0.2; 1.5) all'istanza X = 3; e così via fino ad arrivare a: Opt[lenght(@Pdu) - 1] + iif(rate(Rd[lenght(@Pdu)]; maturity; @V1)<4,35%; -0.2; 1.5) all'istanzafinale;

Infine, come la funzione ricorrente on time steps vista con il primo esempio, anche la funzionericorrente Opt vista con questo secondo esempio può essere utilizzata come un semplice vettoreentro la modellazione del contratto oggetto di analisi.

(Figura 3.20: Recurrence Function Opt, Tab Timing and Payoff)

61

Page 77: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Transformations: un'introduzione

Solitamente un Vector Date (ovvero un vettore di date) può avere diversi significati: a) Gli elementi del vettore sono le “payment dates” (date di pagamento): in questo caso, se una

“payment day” cade in un giorno non lavorativo, occorrerà un date rolling, ossia –letteralmente – uno scorrimento di date, in base ad una data “business day convention”(convenzione del giorno lavorativo) relativa ad uno specifico calendario;

b) Gli elementi del vettore sono le “payment dates” utilizzate per calcolare le date di reset: inquesto caso è necessario definire la “fixing convention” (convenzione fissante) diriferimento – in particolare se il fixing si riferisce all'inizio del periodo, la convenzione saràdi tipo Advanced; se, invece, il fixing si riferisce alla fine del periodo, la convenzione sarà ditipo Arrears – e il numero di giorni lavorativi precedenti la data alla quale far riferire il reset(ad esempio l'espressione “Advanced 2 business days before” significa due giorni lavorativiprecedenti l'inizio del periodo). Infine se la data di reset cade in un giorno non lavorativo,occorrerà un date rolling in base ad una data “business day convention” relativa ad unospecifico calendario;

c) Gli elementi del vettore vengono utilizzati, al pari di elementi adiacenti, per quantificare unperiodo di tempo durante il quale maturano gli interessi. Ciò determina il numero di giorniintercorrenti fra due “payment dates”, l'una immediatamente successiva all'altra, in basa aduna data “business day metric” (metrica dei giorni lavorativi). Infine, se la data utilizzata percalcolare la maturazione degli interessi cade in un giorno non lavorativo, occorrerà un daterolling in base ad una certa “business day convention” relativa ad uno specifico calendario;

La “business day convention” impostata di default sulle “payment dates” è Unadjusted (ossia nonaggiustata, non corretta, letteralmente), mentre la “business day metric” è Actual/actual. Ilcalendario impostato di default è Italy (figura 3.21). Possiamo sempre e comunque modificare manualmente la metrica implicita nel motore disimulazione, il calendario e le convenzioni selezionando il percorso Settings → Project Preferences→ Simulation Date and Conventions. Il tab Simulation Dates and Conventions ci permette anche di definire le date temporali piùimportanti quali: la Trading Date, o Simulation Start Date, (ossia la data di negoziazione o dipartenza della simulazione) – la quale si può modificare non solo dal tab in questione ma anche dalmenù della barra degli strumenti – e la Contract Initial Date, o Effective Date, (ossia la data diinizio contratto).Con Fairmat, inoltre, è possibile creare un nuovo Vector Date, vettore di output, modificando unvettore già esistente preso come riferimento (utilizzando quindi un vettore in input). A tal fine, inpossiamo, in particolare, utilizzare le seguenti funzioni di trasformazione delle date:

– Date Vector Adjustment con la quale possiamo trasformare il Vector Date iniziale, il vettorein input avente un numero costante di date, al fine di creare, note le “payment dates”, unVector Date avente le date fissate con la convenzione Advanced, allo scopo di regolare igiorni non lavorativi relativi ad uno specifico calendario;

– Date Vector Differences con la quale possiamo creare un nuovo vettore computando ledifferenze fra gli elementi di un Vector Date iniziale già esistente e preso a riferimento. Contale funzione di trasformazione possiamo, inoltre, specificare una “day count convention”(convenzione per il conteggio dei giorni) e regolare le differenze per i giorni non lavorativirelativi ad uno specifico calendario;

Prima di vedere in modo dettagliato ed approfondito le funzioni di trasformazione delle date appena

62

Page 78: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

descritte, è necessario esplicitare bene il concetto appena accennato di “day count convention” e lerelative componenti, visto che queste “conventions” vengono create ed utilizzate da Fairmat proprionel momento in cui si ricorre a tali funzioni di conversione.

(Figura 3.21: Project Preferences – Business Day Convention)

Day Count Convention: uno sguardo generale

Le Day Count Conventions (letteralmente, come già accennato più sopra, le convenzioni per ilconteggio dei giorni – figura 3.22) di Fairmat ci permettono di determinare come viene calcolatol'accumulo degli interessi nel tempo. Queste “conventions” vengono create da Fairmat nel momentoin cui ricorriamo all'utilizzo delle funzioni di trasformazione delle date (e quindi in particolare lefunzioni Date Vector Differences Transformation) applicate ad un dato Vector Date.

(Figura 3.22: Day Count Conventions – Uno sguardo generale)

63

Page 79: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Le Day Count Conventions si possono suddividere in due componenti principali: 1) il Date Metrics Counter il quale specifica come i giorni debbano essere computati fra una

data di inizio ed una di fine;2) la Date Metrics Convention che ci occorre nel caso in cui un “payment day” o, più in

generale, una data contrattuale utilizzata per calcolare l'accumulo degli interessi, cada incorrispondenza o di un giorno non lavorativo o di una festività;

Generalmente è possibile un “melting-pot”, un miscuglio, fra queste due opzioni di convenzioni, percui, ad esempio, Actual/360 Unadjusted rappresenta l'accumulo degli interessi fra due date le qualipossono cadere in corrispondenza di una festività, ma il cui flusso di cassa (o i cui flussi di cassa)relativo(i) viene (vengono) pagato(i) in corrispondenza di un giorno lavorativo.

Day Count Conventions: Date Metrics Counter

Le Date Metrics Counter utilizzabili in Fairmat (riepilogate nella figura 3.23) sono le seguenti:

• Thirty360: è una Day Count Convention del tipo 30E+/360. Se definiamo una sequenza dianni, mesi e giorni di ciascuna data (inizio e fine) come, rispettivamente, triple del tipo Ys,Ms, Ds, per la data di inizio, e Ye, Me, De, per la data di fine, il fattore viene così calcolato:

360

)()(*30)(*360 DsDeMsMeYsYeFattore

dove: Ye corrisponde all'anno della data di fine;Ys corrisponde all'anno della data di inizio;Me corrisponde al mese della data di fine;Ms corrisponde al mese della data di inizio;De corrisponde al giorno della data di fine;Ds corrisponde al giorno della data d inizio; con le seguenti regole di aggiustamento, di correzione: - se Ds è 31, allora Ds cambia e diventa pari a 30; - se De è 31, allora Me cambia e passa al mese successivo mentre De cambia e diventa pari a

1; Ad esempio, se la data di inizio è 28/02/2010 e la data di fine è 31/08/2010, si avranno allorale seguenti triple Ys, Ms, Ds = 2010, 02, 28 e Ye, Me, De = 2010, 08, 31. Seguendo le regoledi aggiustamento delle date, De e Me cambiano e diventano pari, rispettivamente, a 01 e 09e il fattore allora sarà il seguente:

508333333,0360

237

360

27)7(*30)0(*360

360

)2801()0209(*30)20102010(*360

Fattore

• Actual365Fixed: è una Day Count Convention che computa al numeratore della frazione ilnumero di giorni intercorrenti fra la data di inizio e la data di fine. Il denominatore dellafrazione è fisso e pari a 365.

365

)( DataInizioDataFinenumFattore

dove: Edate indica la data di fine;

64

Page 80: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Sdate indica la data di inizio; e dove num (…) indica il numero di giorni intercorrenti fra le due date. Come possiamonotare, il primo giorno del periodo in questione è incluso mentre l'ultimo giorno delmedesimo è escluso. Ad esempio, se la data di inizio è 28/02/2010 e la data di fine è 31/08/2010, il fattore sarà:

5041095890,0365

184

365

)2010/02/282010/08/31(

numFattore

• Actual/Actual: è una Day Count Convention del tipo ISDA. Tale convenzione richiede didividere il periodo di tempo fra i giorni compresi in un anno bisestile e i giorni non compresiin un anno bisestile (se il periodo di tempo non è incluso in un anno bisestile la convenzioneActual/Actual equivale precisamente alla convenzione Actual365Fixed). Il fattore sarà:

366

)___(

365

)__( bisestilenonannoGGnumbisestileannoGGnumFattore

Come nel caso della convenzione Actual365Fixed, anche la convenzione Actual/Actualinclude il primo giorno del periodo in questione ma ne esclude l'ultimo. Vediamo ora alcuniesempi per comprendere meglio il funzionamento del meccanismo relativo a taleconvenzione.

Primo esempio (il primo anno non è un anno bisestile, il secondo sì)Se la data di inizio è 30/06/2007 e la data di fine è 30/06/2008 e se si definisce la soglia fral'anno 2007 e l'anno 2008 come la data del 31/12/2007. Il fattore sarà:

366

1)2007/12/312008/06/30(

365

1)2007/06/302007/12/31( numnumFattore

001384842,14945355191,05068493150,0366

)1182(

365

)1184(

Secondo esempio (il primo anno è un anno bisestile, il secondo no) Se la data di inizio è 30/06/2008 e la data di fine è 30/06/2009 e se si definisce la soglia fral'anno 2008 e l'anno 2009 come la data del 31/12/2008, il fattore sarà:

365

1)2008/12/312009/06/30(

366

1)2008/06/302008/12/31( numnumFattore

998615158,04931506849,05054644809,0365

)1181(

366

)1184(

Terzo esempio (entrambi gli anni, sia il primo che il secondo, non sono bisestili) Se la data di inizio è 30/06/2009 e la data di fine è 30/06/2010 e se si definisce la soglia fral'anno 2009 e l'anno 2010 con la data 31/12/2009, il fattore sarà:

1365

365

365

)2009/06/302010/06/30(0

numFattore

Si noti come in quest'ultimo esempio la convenzione Actual/Actual equivale allaconvenzione Actual365Fixed.

• Actual360: è una convenzione che computa al numeratore della frazione il numero di giorniintercorrenti fra la data di inizio e la data di fine. Il denominatore della frazione è fisso e paria 360.

65

Page 81: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

360

)( DataInizioDataFinenumFattore

dove num(...) indica il numero di giorni intercorrenti fra le due date. Come si può vedere ilprimo giorno del periodo in questione è incluso mentre l'ultimo giorno del medesimo èescluso. Ad esempio, se la data di inizio è 28/02/2010 e la data di fine è 31/08/2010, il fattore sarà:

5111111111,0360

184

360

)2010/02/282010/08/31(

numFattore

• Business252: è una convenzione che computa al numeratore della frazione il numero digiorni intercorrenti fra la data di inizio e la data di fine. Il denominatore della frazione èfisso e pari a 252.

252

)( DataInizioDataFinenumFattore

dove num(...) indica il numero di giorni intercorrenti fra le due date. Come possiamo notareil primo giorno del periodo in questione è incluso mentre l'ultimo giorno del medesimo èescluso.

• SimpleDayCounter: tale convenzione ha lo scopo di assicurare che le distanze temporali checoprono un mese intero siano restituite come un semplice rapporto (ad esempio 1 annocorrisponde a 1.0, 6 mesi corrispondono a 0.5, 3 mesi corrispondono a 0.25 e così via). Se sidefinisce la sequenza di anni, mesi e giorni di ciascuna data come triple del tipo Ys, Ms, Ds eYe, Me, De rispettivamente per la data di inizio e la data di fine, il fattore viene cosìcalcolato:

12

)()(

MsMeYsYeFattore

solo, però, se: - Ds è uguale a De; oppure- Ds è maggiore rispetto a De e, al tempo stesso, De è un giorno di fine mese; oppure- Ds è minore rispetto a De e, al tempo stesso, Ds è un giorno di fine mese; Altrimenti la convenzione SimplyDayCounter equivale alla convenzione Thirty360.

Ad esempio, se la data di inizio è 30/08/2000 e la data di fine è 28/02/2001, si avranno allorale due triple Ys, Ms, Ds = 2000, 08, 30 e Ye, Me, De = 2001, 02, 28, il fattore sarà

50,050,0112

)6(1

12

)0802()20002001(

Fattore

66

Page 82: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.23: Day Count Conventions – Date Metrics Counter)

Date Metrics Conventions

Le Date Metrics Conventions sono convenzioni di aggiustamento, correzione, delle date specificateo determinate con riferimento alla transazione. Questi aggiustamenti sono necessari qualora ilgiorno cada in corrispondenza di un giorno non lavorativo. Tali convenzioni vengono createnell'ambiente Parameters & Functions attraverso le funzioni di conversione delle date Date VectorAdjustment Transformation applicate ad un dato Vector Date. Le Date Metrics Conventions (riepilogate nella figura 3.24) utilizzabili in Fairmat che sono, inparticolare, le seguenti:

• Following: in base alla quale la data di riferimento sarà il primo giorno lavorativosuccessivo. Ad esempio, la data del 28/02/2009 cade di Sabato (sesto giorno della settimana,considerando Lunedì come primo giorno della settimana, e che non è un giorno lavorativo).Il primo giorno lavorativo dopo i giorni del fine settimana (o di festività) è Lunedì02/03/2009, per cui in base a tale convenzione la data di riferimento sarà, appunto, Lunedì02/03/2009.

• Modified Following: in base alla quale la data di riferimento sarà il primo giorno lavorativosuccessivo (come avviene con la convenzione Following che abbiamo appena visto), a menoche il primo giorno lavorativo successivo non sia un giorno del mese di calendariosuccessivo; in quest'ultimo caso la data di riferimento sarà, invece, il primo giornolavorativo precedente. Ad esempio, la data del 28/02/2009 cade di Sabato (sesto giorno dellasettimana, considerando Lunedì come primo giorno della settimana, e che non è un giornolavorativo). Il primo giorno lavorativo successivo dopo i giorni del fine settimana (o difestività) è Lunedì 02/03/2009. Ciò implica però il cambio del mese (in quanto, infatti, sipassa da Febbraio a Marzo), perciò la data di riferimento in base in tale convenzione nonsarà Lunedì 02/03/2009 ma Venerdì 27/02/2009 (che è un giorno lavorativo).

• Preceding: in base alla quale la data di riferimento sarà il primo giorno lavorativoprecedente. Ad esempio, la data del 28/02/2009 cade di Sabato (sesto giorno della settimana,

67

Page 83: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

considerando Lunedì come primo giorno della settimana, e che non è un giorno lavorativo).Il primo giorno lavorativo precedente ai giorni del fine settimana (o di festività) è Venerdì27/02/2009, per cui in base a tale convenzione la data di riferimento sarà, appunto, Venerdì27/02/2009 (che è un giorno lavorativo).

• Modified Preceding: in base alla quale la data di riferimento sarà il primo giorno lavorativoprecedente (come avviene con la convenzione Preceding, precedentemente descritta), ameno che il primo giorno lavorativo precedente non sia un giorno del mese di calendarioprecedente; in quest'ultimo caso la data di riferimento sarà, invece, il primo giornolavorativo successivo. Ad esempio, la data del 28/02/2009 cade di Sabato (sesto giorno dellasettimana, considerando Lunedì come primo giorno della settimana, e che non è un giornolavorativo). Il primo giorno lavorativo precedente ai giorni del fine settimana (o di festività)è Venerdì 27/02/2009. In questo caso non vi è stato il cambio del mese, perciò la data diriferimento in base a tale convenzione resterà Venerdì 27/02/2009. Altro esempio: la data del 01/03/2009 cade di Domenica (settimo ed ultimo giorno dellasettimana, considerando Lunedì come primo giorno della settimana, e che non è un giornolavorativo, bensì festivo). Il primo giorno lavorativo precedente ai giorni del fine settimana(o di festività) è Venerdì 27/02/2009. Tuttavia in questo caso si andrebbe al mese dicalendario precedente (indietreggiando, infatti, da Marzo a Febbraio), per cui, comespiegato, in questo caso non si dovrà considerare il primo giorno lavorativo precedente,bensì il primo giorno lavorativo successivo e perciò la data di riferimento in base a taleconvenzione sarà Lunedì 02/03/2009.

• Unadjusted: in base alla quale non verrà applicata alcuna correzione, alcun aggiustamento,al Vector Date di riferimento.

(Figura 3.24: Day Count Conventions – Date Metrics Conventions)

68

Page 84: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Transformations: Date Vector Adjustment

La funzione di trasformazione Date Vector Adjustment è una funzione di conversione delle date checi permette di ottenere, partendo da un Vector Date in input (ossia partendo da un Vector Reference)un altro vettore di date aggiustate (ovvero il vettore Name). L'aggiustamento può essere riferito:

– alla scelta della “fixing convention” (in tal senso le scelte possibili sono: Arrears, Set diDefault o Advance);

– alla trasformazione di un vettore in input avente un numero costante di date; – alla correzione per i giorni non lavorativi relativi ad un specifico calendario (“Date Metric”);

Nella finestra di editing della funzione di conversione delle date Date Vector Adjustment (figura3.25) gli unici campi richiesti e da compilare sono “Name” e “Vector Reference”. La conversione utilizza di default la funzionalità Inherit Project Date Metrics (letteralmente,“ereditare le metriche del progetto per le date”), qualora il check-box relativo sia flaggato, in base aquanto da noi impostato nel tab Simulation Dates and Conventions. Nell'esempio riportato nellafugura 3.25, il numero di giorni da aggiungere, o da sottrarre, (da riportare nel campo “Add/SubDays”) al Vector Reference è nullo (ovvero pari a 0) mentre il tipo di reimpostazione delle date, direset, (da specificare valorizzando il campo “Reset Type”) selezionato è di tipo Arrears.

(Figura 3.25: Transformations, Date Vector Adjustment 1)

69

Page 85: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Come possiamo notare osservando la figura 3.26, il Vector Reference è mostrato nella colonna“Expression”, mentre la colonna “Values” mostra le date del vettore Name, ovvero del vettoreiniziale, di input, trasformato. E' importante poi notare che il campo “Add/Sub Days” (aggiungere o togliere dei giorni) puòcontenere solo valori numerici e di tipo costante, mentre il campo “Reset Type” può contenere, oltreche dei caratteri alfabetici, anche un valore logico per definire la “fixing convention” (in particolareil valore 0 equivale a stabilire la convenzione Advance, mentre il valore 1 equivale a stabilire laconvenzione Arrears). Ma possiamo anche impostare un'altra “fixing convention”, un diversonumero di giorni da aggiungere (se il valore inserito nel campo “Add/Sub Days” è positivo) o dasottrarre (se il valore inserito nel campo “Add/Sub Days” è negativo) al Vector Reference e,disabilitando la funzionalità Inherit Project Date Metric (levando il flag dal relativo check-box),un'altra “business day convention”. Notiamo poi che nel caso in cui il Reset Type impostato sia di tipo Advance (o, in modo equivalente,impostato sul valore logico corrispondente, ovvero 0), il fixing avverrà all'inizio del periodo diriferimento. In tal modo, con riferimento al k-esimo elemento del vettore di output (ovvero delvettore Name), Fairmat si riferirà al k-esimo – 1 elemento del vettore in input (ovvero del VectorReference). Per cui per il primo elemento del vettore Name (corrispondente alla posizione k=1 delvettore stesso in quanto l'indice del vettore parte da 1), l'elemento di riferimento sarà, di default, laContract Initial Date, impostata nel tab Simulation Dates and Conventions.

(Figura 3.26: Transformations, Date Vector Adjustment 2)

Un esempio ci permetterà di comprendere meglio quanto finora esplicitato e la differenza fra ilfixing Advance e quello Arrears. Supponiamo di detenere un'obbligazione con data di negoziazione (Trade Date) 16/06/2010, data diinizio contratto (Effective Date) 27/06/2010, durata 5 anni e frequenza di pagamento semestrale.Supponiamo poi che il fixing del tasso variabile sia in Arrears di 2 giorni (ovvero arretrando nel

70

Page 86: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

calendario di 2 giorni lavorativi) e segue una precedente “business day convention”. Il risultato della trasformazione del Vector Date alle convenzioni di fixing supposte è il vettoreName (figura 3.27).

(Figura 3.27: Transformations, Date Vector Adjustment 3)

Vogliamo ora ottenere, partendo da un Vector Date (Pdu) ed utilizzando una costante (Rday), ilvettore delle date di reset. Dall'ambiente Parameters & Functions, cliccando sul comando “Add” e selezionando l'oggettoDate Vector Adjustment, facendo doppio click sullo stesso oggetto, apriremo la finestra di editing,(figura 3.28). A questo punto dovremo riempire i campi “Name” (scrivendovi Rd) e “Vector Reference”(scrivendovi Pdu). Nel campo “Add/Sub Day” dovremo inserire invece l'oggetto scalar Rday(ricordiamo, infatti, che tale campo deve contenere un valore costante, uno scalare). Dovremo poitogliere il flag dal check-box relativo alla funzionalità Inherit Project Date Metrics, in modo dadisabilitare tale funzionalità, ed impostare le metriche locali per le date (nello specifico la “businessday convention” Preceding).

71

Page 87: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Infine, dovremo selezionare, dal menù a tendina il “Reset Type”, la voce Arrears, o, piùsemplicemente, digitare 1, ovvero il valore logico corrispondente (figura 3.28). Qualora si voglia stabilire il fixing Advance, si dovrà allora impostare il “Reset Type”, valorizzandoil relativo menù a tendina, con la voce Advance, o più semplicemente, digitando 0, ovvero il valorelogico corrispondente. Notiamo, osservando ancora la figura 3.28, come il primo elemento del vettore Value (ovvero ilvettore Name contenente le date convertite, trasformate) si riferisce alla Contract Initial Date.

(Figura 3.28: Transformations, Date Vector Adjustment 4)

72

Page 88: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Transformations: Date Vector Differences Calculator

La funzione di conversione delle date Date Vector Differences Calculator calcola le differenze traelementi adiacenti (continui) del Vector Reference. La correzione può essere relativa:

– alla scelta del primo elemento del Vector Reference per il calcolo del primo elemento delvettore di output, diversamente che nel caso della funzione di conversione Date VectorAdjustment, per la quale, in caso di fixing Advance, il primo elemento preso comeriferimento è la Contract Initial Date specificata nel tab Simulation Dates and Conventions,come già si è avuto modo di vedere nel precedente paragrafo;

– alla correzione per i giorni non lavorativi in relazione ad uno specifico calendario (“datemetric”), prima del calcolo delle differenze fra elementi adiacenti, continui, del VectorReference;

– alla scelta del “business day metric” al fine di determinare il numero di giorni intercorrentifra due “payment days” immediatamente successivi l'uno all'altro;

Nella finestra di editing della funzione di conversione delle date Date Vector Differences Calculator(figura 3.29) gli unici campi richiesti e da compilare sono “Name” e “Vector Reference”. Laconversione utilizza di default, come dato addizionale, la Contract Initial Date e la funzionalitàInherit Project Date Metrics (flaggando il relativo check-box). Il Vector Reference è mostrato nella colonna “Reference”, mentre la colonna “Differences” mostra ilvettore Name (figura 3.29). Notiamo, osservando ancora una volta la figura 3.29, il vettore Name ha la stessa dimensione delVector Reference, nell'esempio specifico pari a 10x1. Ciò in quanto, attraverso la funzionalitàTransformation Mode, Fairmat aggiunge una data “addizionale” al Vector Reference prima delcalcolo delle differenze. Le opzioni relativa alla funzionalità Transformation Mode sono:

– “Add the Start Contract Date” (Aggiungi la data di inizio contratto): in base a questaopzione inseriamo come data addizionale la Start Contract Date (o Effective Date) comespecificata nel tab Simulation Dates and Conventions. Come notato sopra, essa è la stessadata addizionale vista nel paragrafo precedente, durante la trattazione della funzione ditrasformazione Date Vector Adjustment nel caso in cui il Reset Type sia di tipo Advance;

– “Add the Start Simulation Date” (Aggiungi la data di inizio simulazione): in base a questaopzione inseriamo come data addizionale la Start Simulation Date (o la Trading Date) comespecificata nel tab Simulation and Dates Conventions. Tale opzione è molto utile percalcolare un prezzo quotato (come avremo modo di vedere meglio con l'esempio che verràillustrato più avanti);

– “Add a custom date”: con questa opzione abilitiamo un campo nel quale possiamo inserirecome data addizionale, una data differente dalle due precedenti, ovvero differente rispettosia all'Effective Date che alla Trading Date;

– “Use only the references dates option (no additional date used – nessun utilizzo di dateaddizionali): in base a questa opzione non si aggiungiamo nessun altro elemento, nessunadata addizionale. Solo in quest'ultimo caso, il vettore di output avrà un elemento un menorispetto al Vector Reference, ovvero al vettore in input.

73

Page 89: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.29: Transformations, Date Vector Differences Calculator 1)

Vediamo ora, nel dettaglio e attraverso un esempio, il comportamento della funzione di conversionedelle date Date Vector Differences Calculator

L'esempio che segue si riferisce, in particolare, ad un vettore di dieci elementi che parte dalla datadel 20/03/2011 e termina alla data del 20/03/2020, con frequenza annuale. La convenzione per il conteggio dei giorni è Actual/360, Unadjusted. Nel primo caso (figura 3.30), la data addizionale (ovvero 20/03/2010) è inferiore, è più remota,rispetto al primo elemento del Vector Reference. Per cui, come possiamo notare, Fairmat compieuna fusione ordinata fra la costante Additional Date e il Vector Reference prima di determinare ilVector Differences (ovvero il vettore delle differenze, il vettore di output). La finestra di editingdella funzione di conversione delle date Date Vector Differences Calculator mostra sia il VectorReference che il Vector Difference (figura 3.30). Nel secondo caso (figura 3.31), la data addizionale (15/12/2015) è compresa fra le date del VectorReference.

74

Page 90: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.30: Transformations, Date Vector Differences Calculator 2)

(Figura 3.31: Transformations, Date Vector Differences Calculator 3)

Un ulteriore esempio ci aiuterà a comprendere meglio e a fondo il meccanismo legato allatrasformazione delle date. Come riferimento utilizzeremo il meccanismo di calcolo del prezzo apronti e quello del prezzo quotato per un'obbligazione a tasso fisso. Il prezzo quotato, al quale i traders fanno riferimento per le loro negoziazioni e che viene anchedefinito come prezzo cosiddetto “secco”, non è esattamente identico al prezzo a pronti pagatodall'acquirente di un'obbligazione, in quanto i traders generalmente identificano tale prezzo come

75

Page 91: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

prezzo “tel quel”. In generale vale, quindi, la seguente identità: Prezzo a Pronti = Prezzo Quotato + Interessi maturati dalla data di stacco dell'ultima cedola Supponiamo che la data di stacco dell'ultima cedola sia il 09/03/2010 e consideriamoun'obbligazione con cedola pari al 6% annuo con scadenza Ottobre 2011 e che prevede unafrequenza di pagamento delle cedole semestrale. La yield curve (o curva dei rendimenti) è riportata nella tabella 3.1:

(Tabella 3.1 – Esempio Date Vector Differences Calculator, Definizione yield curve)

Vogliamo ora calcolare il prezzo di riferimento e il prezzo a pronti dell'obbligazione in questionealla Valuation Date. Per far ciò dobbiamo creare un nuovo file .fair e poi aggiornare, una voltaselezionato il percorso Settings → Project Preferences → Simulation Dates and Conventions, icampi sottostanti alla dicitura “Absolute timing dates” (figura 3.32) ovvero sia: “Simulation StartDate (o Trading Date)”, inserendovi la data corrispondente alla Valuation Date (ovvero sia la datadel 09/03/2010 nel caso preso in esame), e “Effective Date (o Contract Initial Date)”, inserendovi ladata di inizio contratto (ovvero sia la data del 23/10/2008 nel caso preso in esame). Nell'ambiente Parameters & Functions dovremo inserire poi gli oggetti necessari per costruirel'obbligazione a tasso e più precisamente sarà necessario inserire i seguenti oggetti:

– due Scalar riferiti, rispettivamente, al tasso cedolare e al valore nozionale del contratto;– una Interpolated Function la quale rappresenterà la yield curve, ovvero la curva dei

rendimenti (figura 3.33); – una Date Sequence la quale rappresenterà il Vector Dates. Per semplicità, assumiamo che

non ci siano correzioni di base alla “business day convention”; – una funzione di trasformazione delle date Date Vector Differences Calculator per calcolare i

periodi di maturazione degli interessi per ciascuna cedola;

Notiamo che, dal momento che la Valuation Date è antecedente alla data di esecuzione, i primi dueperiodi, corrispondenti a t=1 e t=2, non verranno considerati.

76

ANNO

1 3,25%2 4,25%3 4,85%4 5,25%5 5,55%

TASSO A PRONTI

Page 92: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.32: Transformations, Date Vector Differences Calculator 4)

(Figura 3.33: Transformations, Date Vector Differences Calculator 5)

Dopo di ché si dovremo entrare nell'ambiente Option Map ed inserire una Strip of Options (ovverouna serie di opzioni), la quale rappresenterà i pagamenti delle cedole periodiche, accompagnata aduna Single Option, la quale rappresenta il flusso di cassa relativo al rimborso finale del capitale allascadenza. Infine, dovremo aggiornare il tab Discounting con una funzione di attualizzazionedeterministica. La funzione esponenziale negativa utilizzerà nello specifico la funzione interpolanteZR. Nell'esempio descritto stiamo utilizzando tassi di interesse composti continui.

Come già esplicitato in precedenza, il prezzo a pronti include gli interessi maturati. Selezionandocome elemento addizionale la Contract Initial Date, il terzo elemento del vettore CVG (vettore

77

Page 93: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

derivante dalla trasformazione Date Vector Differences Calculator), ossia CVG[3], si riferisceall'intero periodo intercorrente fra PD[2] (ovvero il secondo elemento del vettore PD, VectorReference, corrispondente nel caso specifico preso in esame alla data del 22/10/2009), incluso, ePD[3] (ovvero il terzo elemento del vettore PD, Vector Reference, corrispondente nel caso specificopreso in esame alla data del 22/04/2010), escluso. Selezionando, invece, come elemento addizionale la Simulation Start Date, il terzo elemento delvettore CVG, ossia CVG[3], si riferisce soltanto al lasso temporale intercorrente fra la SimulationStart Date (corrispondente, nel caso specifico preso in esame, alla data del 09/03/2010), inclusa, e ilterzo elemento del vettore PD, ossia PD[3] (corrispondente, nel caso specifico preso in esame, alladata del 22/04/2010), escluso. Questo è il prezzo di riferimento. Notiamo che la differenza tra il prezzo a pronti e il prezzo di riferimento è quindi data dagliinteressi maturati dalla data di stacco dell'ultima cedola, rispetto alla Valuation Date.

(Figura 3.34: Transformations, Date Vector Differences Calculator 6)

78

Page 94: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Transformations: Zero Rate Curve Calculator

Con il calibratore ZR possiamo calcolare una yield curve (o curva dei rendimenti) partendo dai datidi mercato. I dati di mercato utilizzati come input sono i prezzi a pronti, i tassi sui contratti F.R.A.(Forward Rate Agreement, ossia gli accordi sui tassi di interesse futuri) e i tassi sui contratti Swaps,e sono rappresentati attraverso matrici di dimensione Nx2 nelle quali ogni riga indica una differentescadenza, per cui la prima colonna riporta le varie scadenze mentre la seconda colonna riporta itassi di interesse corrispondenti. Il calcolo della yield curve, e quindi la calibrazione, può essere effettuato utilizzando due metodi:

1) Metodo “Bootstrap” con il quale i nodes (i nodi), indicanti ciascuno un tasso sui zerocoupon bond e corrispondenti ai tassi a pronti e ai tassi sui contratti F.R.A., vengonocalcolati direttamente dai dati di mercato mentre gli altri nodes vengono calcolati in modoricorsivo a partire dai tassi sui contratti Swaps;

2) Metodo “Least Square” (minimi quadrati) con il quale i nodes, ciascuno corrispondente adun tasso sui zero coupon bond, vengono fissati minimizzando la somma degli scarti alquadrato fra i tassi di mercato a pronti, i tassi sui contratti F.R.A., i tassi sui contratti Swapse quelli calcolati a partire dai tassi sui zero coupon bond, ovvero le obbligazioni prive dicedola;

In entrambi i casi, i campi da compilare nel tab Edit (figura 3.35): – il “Calibration Method” (metodo di calibrazione) il quale si riferisce al metodo di

calibrazione prescelto. Le scelte possibili in tal senso sono, come già accennato sopra, o“Bootstrap” o “Least Square”;

– i “Cash Rates” (tassi a pronti) i quali si riferiscono alla matrice dei tassi a pronti; – i “F.R.A. Rates” (tassi sui contratti F.R.A.) i quali si riferiscono alla matrice dei tassi sui

contratti F.R.A.;– i “Swaps Rates” (tassi sui contratti Swaps) i quali si riferiscono alla matrice dei tassi sui

contratti Swaps; – il “Market” (mercato) il quale si riferisce al mercato di riferimento; – il “Number of Swap coupon payed every year” (numero di cedole sui contratti Swaps pagate

ogni anno) il quale si riferisce al numero di cedole pagate attraverso contratti Swaps i cuitassi sono ricavabili dalla matrice dei tassi sui contratti Swaps (ovvero la matrice “SwapsRates”);

(Figura 3.35: Zero Rate Curve Calculator)

79

Page 95: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

L'ambiente Stochastic Processes

Quando al modello aggiungiamo un processo stocastico, Fairmat genera in automatico dei simboliin modo tale da avere un riferimento al processo stocastico generato, o per far sì che possiamoacquisirne i valori delle realizzazioni. In particolare, se nel modello vi sono N processi stocastici inseriti, Fairmat genererà in automatico iseguenti simboli: V1, V2, …, VN e @V1, @V2, …, @VN. Vi rappresenta il valore dell'i-esima attività sottostante, valutata nella corrente realizzazione delleincertezze e alla data corrente, mentre @Vi è un riferimento all'i-esima attività sottostante. Questo linguaggio algebrico ci aiuta a scrivere complesse espressioni dei payoff he dipendono, sibasano, (appunto) su processi stocastici. Per esempio, se V1 è un processo stocastico e K è una costante, possiamo scrivere una sempliceopzione call scrivendo semplicemente la seguente espressione: Max(V1-K; 0). In alcune circostanze potremmo poi essere interessati non tanto al processo stocastico nella suainterezza, ovvero nella sua totalità, ma soltanto ad alcune sue componenti. Come, ad esempio,potrebbe accadere qualora utilizzassimo come processo stocastico di riferimento il modello Jarrow-Yildrim, per il quale, nel caso specifico, la componente V1a potrebbe identificare la componenterelativa al tasso nominale di interesse, la componente V1b potrebbe identificare la componenterelativa al tasso reale di interesse e, infine, la componente V1c potrebbe identificare l'indice deiprezzi dei beni al consumo. I processi stocastici disponibili in Fairmat sono diversi e suddivisibili in due grandi categorie:“Interest Rate Processes” (ovvero Processi relativi ai Tassi di Interesse) e “Other Processes” (ovveroAltri Processi). Più nel dettaglio fra gli “Interest Rate Processes” rientrano i seguenti processi stocastici:

1) Cox-Rubinstein Ingersoll;2) Dai-Sigleton Interest Rate Model; 3) Hull&White 2 Factors (modello a due parametri);4) Jarrow-Yildrim;5) LIBOR Market Model;6) Pelsser-Squared Gaussian Model;

Fra gli “Other Processes” rientrano invece i seguenti processi: 1) Custom Dynamic;2) Generic Itô Process (semplice);3) Generic Log-Itô Process (logaritmico); 4) Geometric Brownian Motion Process;5) Heston;6) Heston with time dependent drift; 7) Log-Mean Reverting Process;8) Mean-Reverting Process; 9) Multivariate Geometric Brownian Motion Process; 10) Poisson Arrival;

Una descrizione dettagliata riguardante i principali modelli appena elencati (e, in particolare, iprocessi Geometric Brownian Motion, Mean-Reverting, Log-Mean Reverting, Generic Itô, GenericLog-Itô e Poisson Arrival) verrà fornita nel Capitolo 5 dedicata alla modellazione dei contrattifinanziari, nel quale, appunto, esamineremo da un punto di vista formale e dettagliato i vari modellifinanziari disponibili in Fairmat per la modellazione dei contratti finanziari.

80

Page 96: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Per inserire un processo stocastico in Fairmat dobbiao cliccare sul tab Stochastic Processes postosul lato sinistro della finestra generale di Fairmat e scegliere il comando Add S.Process (figura3.36). Si tenga presente che, nel caso dei modelli stocastici “Interest Rate” (ossia quelli basati sui tassi diinteresse), dobbiamo associare al processo una struttura per scadenze dei tassi di interesse. Nel momento in cui selezioniamo il comando “Add S. Process”, Fairmat in automatico crea unanuova Zero Rate Function, a meno che non indichiamo una curva alternativa (ossia un oggettodenominato Function defined by value interpolation) già caricata nell'ambiente Parameters &Functions.

(Figura 3.36: Inserimento di un processo stocastico in Fairmat)

81

Page 97: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.37: Inserimento di una Interpolated Function nell'ambiente Stochastic Processes)

(Figura 3.38: Elenco dei modelli stocastici disponibili in Fairmat)

Cliccando sul comando “Add Asset Set” possiamo inserire un gruppo di processi stocastici fraquelli inseriti in precedenza (ad esempio, possiamo inserire il gruppo di processi denominato Asset1e comprendente i processi V1 e V2 – figura 3.39). L'editor del comando “Add Asset Set” ci permettedi creare un nuovo gruppo di processi da un box contenente una lista iniziale che, a sua volta,contiene tutti i processi che abbiamo inserito in precedenza.

82

Page 98: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.39: Inserimento di gruppi di processi stocastici, comando “Add Asset Set”)

Il comando “Remove” ci permette di rimuovere un processo stocastico (o un gruppo di processistocastici, o meglio un Asset Set di processi stocastici) dalla lista dei processi stocastici inseriti. Il comando “Correlations” (figura 3.40), invece, permette di mettere in mostra le correlazioni tradue o più processi stocastici. Si noti che se un processo stocastico è composto da due o piùcomponenti, la matrice delle correlazioni mostra anche le correlazioni fra le componenti delmedesimo. Per esempio, se selezioniamo come processo stocastico di riferimento il processoHull&White 2, a due parametri, la matrice delle correlazioni ci mostrerà, oltre che le possibilicorrelazioni con altri processi stocastici eventualmente selezionati ed inseriti, anche le correlazionifra la componente primaria del processo Hull&White e la sua componente secondaria.

(Figura 3.40: Correlazioni fra processi stocastici, comando “Correlations”)

83

Page 99: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Un esempio di inserimento di un processo stocastico: Geometric Brownian Motion

Vediamo ora mostrato un esempio di inserimento in Fairmat di un processo stocastico (figura 3.41). Supponiamo di voler inserire il processo stocastico Geometric Brownian Motion. Per inserire tale processo stocastico, dobbiamo selezionare il seguente percorso: StochasticProcesses → Add S. Process → Geometric Brownian Motion (GBM) → OK. Dopo di ché dobbiamo fare doppio click sul processo stocastico V1 appena creato, selezionare il tabGBM e compilare i seguenti campi:

– “Base Value” (o “Starting Value”) che si ipotizza, nell'esempio riportato, pari a 100;– “Volatility” (ipotizzata, nell'esempio, pari a 74);– è necessario poi scegliere la combinazione dei “Control Parameters” e le scelte possibili in

tal senso sono, in particolare, o “Dividend Yield” e “Growth Rate; Risk Premium”. Sisupponga di voler scegliere quest'ultima combinazione e di porre un valore per il “GrowthRate” pari al 5%;

(Figura 3.41: Esempio di inserimento di un processo stocastico: GBM)

I valori preimpostati, di default, per i campi “Preview Paths” e “Preview Steps”, presenti sotto il tabPreview e visibili dopo aver selezionato il percorso Settings → Fairmat Preferences → CorePreferences → Preview, sono 500 e 25. Tuttavia possiamo impostare valori differenti, qualora lo siritenga necessario ed opportuno. Il tab Preview della finestra di editing del processo stocastico (figura 3.41) ci permette divisualizzare un'anteprima della dinamica del medesimo (selezionando il sotto-tab Dynamic) e la suadistribuzione (selezionando il sotto-tab Distribution) lungo un dato orizzonte temporale (fissabilecon lo slider posto sotto il grafico della distribuzione stessa).

84

Page 100: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.42: Impostazione dei parametri di un processo stocastico)

Il Tab Data Source

Qualora si utilizzasse la versione Professional di Fairmat, è disponibile il tab Data Source (figura3.43). Tale tab ci permette di specificare come i dati di un processo stocastico sono connessi ad unospecifico mercato (o ad una specifica attività finanziaria) mediante l'indicazione del loro mercato diriferimento e del loro ticker, ovvero sia del loro codice, alfanumerico e di tipo arbitrario, diriconoscimento. Di conseguenza, Fairmat calibrerà i parametri del processo stocastico utilizzando idati di mercato disponibili dal Market Data Provider prescelto (quale può essere, ad esempio,Bloomberg Professional). Rispetto alla versione Academic, la versione Professional di Fairmat dispone quindi di un tabaggiuntivo, il tab Data Source per l'appunto.

(Figura 3.43: il Tab Data Source)

85

Page 101: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Dal tab Data Source dell'editor dell'ambiente Stochastic Processes, possiamo selezionare evalorizzare, attraverso una serie di menù a tendina, i seguenti campi (figure 3.44, 3.45 e 3.46):

– “Market” (ossia il mercato di riferimento);– “Ticker”: è un campo che contiene il codice Bloomberg Professional per lo specifico indice

di mercato borsistico (o specifico titolo o specifica attività finanziaria) a cui il processostocastico deve riferirsi. Nell'esempio riportato nella 3.43, il codice SX5E si riferisceall'indice EURO STOXX 50;

(Figura 3.44: Il Tab Data Source – Campo “Market”)

– “Calibration Strategy” (strategia di calibrazione): la quale dipende dal modello stocasticoprescelto. Nell'esempio mostrato attraverso le figure 3.43 e 3.45, è stato scelto, inparticolare, il modello Heston;

(Figura 3.45: il Tab Data Source – Campo Calibration Strategy 1)

Dopo aver valorizzato questi campi ed inserite queste impostazioni (ipotizziamo, per esempio, diaver valorizzato nel seguente modo i campi appena illustrati: “Market” → EU; “Ticker” → SXE5Index → “Calibration Strategy” → Heston Estimator.CallEstimator), possiamo procedere con lacalibrazione del modello semplicemente cliccando il tasto destro del mouse una volta selezionato lostesso e poi selezionando il comando “Calibrate Model Using Data Provider”. A questo punto Fairmat aggiornerà automaticamente i parametri del modello (figura 3.46).

86

Page 102: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.46: il Tab Data Source – Campo Calibration Strategy 2)

I dati di input utilizzati per la calibrazione sono mostrati nel Market Data Manager. Nel form Plug-ins Preferences del sottomenù Fairmat Preferences possiamo impostare econtrollare, in ogni minimo dettaglio, la calibrazione dei processi stocastici inseriti.

87

Page 103: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

L'ambiente Discounting

Nell'ambiente Discounting possiamo utilizzare due sistemi che, si precisa, non sono affattoalternativi fra loro ma che, anzi, possono coesistere al tempo stesso nell'ambito del medesimoprogetto, come avremo modo di precisare meglio più avanti. Tali sistemi sono, in particolare:

– il sistema Global (Project) Discounting;– il sistema Option Dependent Discounting;

Il sistema Global (Project) Discounting

Nell'ambito del sistema Global (Project) Discounting possiamo scegliere fra tre differenti modi perimpostare il modello di discounting (o di attualizzazione):

1) Use Constant Risk Free Rate (Utilizzo di un tasso di interesse privo di rischio – figura 3.47):si tratta di un modello di discounting (o di attualizzazione) da utilizzare quando il tasso diinteresse annuo risk free, ossia il tasso di interesse annuo privo di rischio, è costante; unasituazione del genere avviene, per esempio, nel caso della valutazione delle Real Options. In questo caso dobbiamo semplicemente inserire il valore del tasso risk free nel campo“Risk Free Rate (RF =)”;

(Figura 3.47: Sistema Global (Project) Discounting, Use Constant Risk Free Rate)

2) Use Deterministic Expression (Utilizzo di un'espressione deterministica – figura 3.48): si

tratta di un modello di discounting da utilizzare quando la struttura per scadenze dei tassi diinteresse non è piatta o quando si vuole utilizzare un'espressione personalizzata perattualizzare i payoff del contratto. Se si sceglie di utilizzare tale modello dobbiamo inserirenel campo “Discounting Expression (f(t) =) un'espressione di attualizzazione (nell'esempioriportato in figura l'espressione inserita è exp(-zr(t)*t) dove zr è una funzione con variabile

88

Page 104: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

indipendente t). In particolare, la variabile t, definita dal simulatore, rappresenta il tempo(espresso in frazioni d'anno) trascorso dalla Simulation Date;

(Figura 3.48: Sistema Global (Project) Discounting, Use Deterministic Expression)

3) Use Dynamic Term Structure (Utilizzo di una struttura per scadenze dinamica – figura 3.49):si tratta di un modello di discounting da utilizzare quando il tasso risk free viene modellato,determinato, da un qualche modello stocastico, quali possono essere ad esempio i modelliHull&White o Dai-Singleton. In questo caso Fairmat sceglierà automaticamente un modellodi discounting coerente con il modello stocastico specificato. Se scegliamo di utilizzare tale modello di discounting, dobbiamo scrivere nel campo“Stochastic Processes Reference (e.g. @V1)” un riferimento appunto al processo stocasticosottostante per la modellazione del tasso risk free;

(Figura 3.49: Sistema Global (Project) Discounting, Use Dynamic Term Structure)

89

Page 105: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Qualora dovessimo utilizzare un tasso di interesse costituito da una componente risk free più unacomponente spread, si possono anche immettere due modelli stocastici @V1; @V2. In questo casoFairmat automaticamente sceglierà un modello di discounting coerente con i processi inseriti e ilfattore di sconto dipenderà quindi da entrambe le variabili (tasso risk free e spread). Quindi questo modello di discounting può essere molto utile quando la valutazione utilizza un tassocostituito da un tasso risk free più una componente, uno spread, che esprime il merito creditizio diuno dei contraenti. Qualche volta il credit spread può essere modellato sulla base di una funzione di ripartizione (o disopravvivenza statistica) del tipo f(t). In questo caso possiamo scrivere @V1; @f (si veda ancorauna volta la figura 3.49) e Fairmat prenderà in considerazione la corretta composizione dei fattori disconto. In particolare, il fattore di sconto (dato da f(t)), riferito al lasso temporale che va dal tempot1 fino al tempo t0 (con t1 > t0), sarà calcolato con il rapporto f(t1)/f(t0).

Il sistema Option Dependent Discounting

I modelli di discounting appena descritti possono essere fissati nell'ambito o di una specificaStandard Option o nell'ambito di una specifica Strip of Options semplicemente selezionando lalinguetta Custom Discounting presente nella scheda del form dell'opzione creata nell'ambienteOption Map (accessibile facendo doppio click sul form dell'opzione stessa) e modificandone leimpostazioni (figura 3.50). Con questa configurazione “locale”, ovvero riferita non alla globalità del progetto bensì ad unasingola opzione, o solo ad una serie di opzioni, possiamo specificare un differente modello didiscounting per ciascuna opzione creata. In particolare, una volta selezionato il tab Custom Discounting della finestra di editing dell'Optioncreata nell'Option Map, possiamo compiere due scelte alternative:

A) Inherit discounting structure from parent node or project (ereditare il modello di discountingo da un nodo iniziale o dal progetto): selezionando questa funzionalità Fairmat utilizzerà ilmodello di discounting definito in precedenza per l'opzione corrente; oppure

B) Use custom discounting (utilizzare un modello di discounting personalizzato): selezionandoquesta funzionalità Fairmat ci permetterà di definire un modello di discountingpersonalizzato per l'opzione corrente (e per le sue opzioni successive nel caso in cui non cisiano ulteriori specificazioni);

(Figura 3.50: Sistema Option Dependent Discounting)

90

Page 106: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Più nel dettaglio, il sistema Option Dependent Discounting funziona nel seguente modo: se un nodoè stato dichiarato come un modello di discounting personalizzato, Fairmat compirà i seguentipassaggi:

– se l'opzione inserita è un'opzione di tipo Americano (ovvero esercitabile in un qualunquemomento precedente la data di scadenza), per determinare il valore attuale del suo valore dicontinuazione verrà utilizzato un modello di discounting adatto per questo tipo di opzione(laddove specificato);

– se un'opzione A è seguita, collegata, da un'opzione B di tipo composto, per l'attualizzazionedei payoff composti, ovvero derivanti dalla combinazione delle due opzioni A e B, verràutilizzato il modello di discounting dell'opzione composta (ovvero dell'opzione B);

– se nell'ambiente Option Map abbiamo inserito degli operatori funzionali, quali ad esempioSum, Average o Functional (che vedremo più nel dettaglio in seguito, nei paragrafi dedicati,appunto, agli operatori funzionali), tali operatori utilizzeranno i modelli di discounting delleopzioni successive (laddove specificato);

Come già anticipato in precedenza, i sistemi Global (Project) Discounting e Option DependentDiscounting non sono l'uno alternativo all'altro in assoluto, ma possono coesistere nell'ambito delmedesimo progetto. A livello generale, il sistema Global (Project) funziona, si applica, sull'interoprogetto, sull'intera Option Map del progetto, a meno che non impostiamo uno specifico sistemaOption Dependent Discounting su uno dei branch (dei rami) della Option Map, ovvero su una Stripof Options o su una singola Standard Option. In questo caso, allora, il sistema Global (Project)Discounting funziona, si applica, sull'intero progetto, sull'intera Option Map del progetto con leeccezioni legate a quel specifico branch, o a quella specifica Strip of Options, o a quella specificaStandard Option, a cui il sistema di discounting “locale”, ovvero il sistema Option DependentDiscounting, fa riferimento.

L'ambiente Discounting e le funzioni ricorrenti

L'ambiente Discounting di Fairmat supporta anche le funzioni ricorrenti. In questo caso dovremodefinire una funzione ricorrente (quale può essere, ad esempio, la funzione Disc – figura 3.51) ecollegare il modello di discounting a tale funzione mediante il simbolo @ (inserendo nell'appositocampo “Stochastic Processes (e.g. @V1), ad esempio @Disc).

(Figura 3.51: Ambiente Discounting e funzioni ricorrenti)

91

Page 107: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

L'Ambiente Option Map

Con Fairmat possiamo descrivere l'iterazione fra pagamenti e decisioni di pagamento mediante unapposito ambiente Option Map (figura 3.52) il quale ci permette di modellare, con uno stile grafico,le decisioni e le dipendenze dalle decisioni.

(Figura 3.52: Ambiente Option Map)

Vedremo ora nel dettaglio: 1) Come inserire e comporre nell'ambiente Option Map le Standard Options e le Strip of

Options;2) Come utilizzare nell'ambiente Option Map gli operatori funzionali disponibili; 3) Come modellare le decisioni nell'ambiente Option Map utilizzando i branches (ovvero i

rami della struttura decisionale); 4) Come creare degli scenari per l'ambiente Option Map e gestirli (in realtà quest'ultimo

aspetto verrà esplicitato non nel corso del presente paragrafo ma nel paragrafo dedicatoall'ambiente Manage Scenarios);

92

Page 108: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Come inserire e comporre nell'ambiente Option Map le Standard Option o le Strip ofOptions

Molte delle opzioni tipiche, più conosciute, diffuse o note, possono essere modellate con Fairmat. Ilblocco delle Standard Options, ovvero delle opzioni di tipo standard, è la base del bloccocostruttore dell'ambiente Option Map e, utilizzandolo, è possibile modellare moltissime opzionistile Europeo, Americano o Asiatico. Gli altri tipi di opzioni, quali ad esempio i pagamenti ricorrenti o le opzioni ricorrenti, possonoinvece essere modellati utilizzando il blocco costruttore Strip of Options. Per inserire un'opzione in Fairmat dobbiamo cliccare, sulla tavolozza grafica della Option Mappresente sotto il menù principale, l'oggetto che si vuole creare, trascinarlo e lasciarlo cadere nellaschermata grafica dell'ambiente Option Map.

Le Standard Options

Una Standard Option è generalmente caratterizzata da: – un payoff, il quale dipende dal valore delle variabili di stato; e– una data di esercizio, o più date d'esercizio (“Excercise Date/s”), la quale indica il tempo

della data della decisione, che viene definita dalle caratteristiche dell'investimento. In talsenso, a proposito della data di esercizio di un'opzione, distinguiamo in genere fra opzioni ditipo Americano, le quali possono essere esercitate in un qualunque momento intercorrentefra la Start Date e la End Date, o Maturity Date, e opzioni di tipo Europeo, le quali possonoessere esercitate solo a scadenza e quindi solo in corrispondenza della End Date;

Dopo aver selezionato, nell'ambiente Option Map, una Standard Option, facendo doppio clicksull'oggetto creato, apriremo una finestra con tre tab: General, Timing and Payoff e CustomDiscounting (figura 3.53).

(Figura 3.53: Creazione di una Single Option, tabs della finestra di editing)

93

Page 109: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Il tab General (riquadro di sinistra della figura 3.53) ci permette di valorizzare i seguenti campi: – “Description” (Descrizione): nel quale possiamo inserire informazioni utili di tipo

descrittivo. Dopo aver chiuso la finestra di editing ciò che è contenuto nel campo“Description” verrà visualizzato in basso a destra dell'opzione creata nell'ambiente OptionMap;

– “Name” (Nome): nel quale possiamo attribuire un nome univoco (e senza spazi) all'opzionecreata nell'ambiente Option Map. Per attivare tale attributo dobbiamo flaggare il relativocheck-box;

– “Type” (Tipo): col quale possiamo selezionare il tipo dell'opzione scegliendo fra le seguentipossibilità (figure 3.54 e 3.55): Custom or Committed Option (European), StandardEuropean o American Type Option;

(Figura 3.54: Creazione di una Single Option, Scelta del “Type” - 1)

(Figura 3.55: Creazione di una Single Option, Scelta del “Type” - 2)

Per quanto riguarda il tab Timing and Payoff (riquadro di destra della figura 3.53), invece: A) Nel caso in cui l'opzione creata attraverso il tab General sia del tipo American type option,

si attiverà il menù a tendina “American timing type”, il quale ci permetterà di compiere unafra le seguenti scelte possibili (zona contrassegnata dalla lettera A nel riquadro di destradella figura 3.53 e figura 3.56): – “Continuos”: qualora sia previsto che l'esercizio dell'opzione possa avvenire in qualsiasi

momento fra la Start Date e la End Date. In questo caso dovremo soltanto specificare laEnd Date, o Maturity, in quanto la Start Date sarà automaticamente supposta uguale a 0;

– “Bermudan” (Uniform Steps): qualora sia previsto che l'esercizio dell'opzione possaavvenire in corrispondenza di specifiche date, dette anche “step dates”, e definite da unapposito “exercise step”, fra la Start Date (supposta anche in questo caso uguale a 0) e laEnd Date;

– “Bermudan Date's Vector Reference”: qualora sia previsto che l'esercizio dell'opzionepossa avvenire in corrispondenza di specifiche date definite da un apposito “exercisedate's reference vector”;

– “Inherited (from another option's exercise)”: qualora si voglia, per l'opzione creata,ereditare da un'altra opzione la relativa politica di esercizio attraverso un'apposita

94

Page 110: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

“Master Option”;

(Figura 3.56: Creazione di una Single Option, tab “Timing and Payoff”)

B) Nel caso in cui l'opzione creata attraverso il tab General sia di tipo European Standardoppure di tipo Custom o Committed (European), si attiverà il solo campo “Continuos” ilquale ci permetterà di specificare la End Date dell'opzione stessa (zona contrassegnata dallalettera B nel riquadro di destra della figura 3.53);

C) Il gruppo di box “Relative Time” include, fra gli altri, il check-box relativo al campo“Timing relative to exercise of option” e un menù a cascata conseguente. Ciò serve aspecificare l'opzione cui il tempo di esercizio si riferisce (zona contrassegnata dalla lettera Cnel riquadro di destra della figura 3.53);

D) E' possibile poi flaggare il check-box “Export Payoff”, attivando la relativa funzionalità(zona contrassegnata dalla lettera D nel riquadro di destra della figura 3.53);

E) E' possibile, infine, valorizzare il check-box “Payoff Expression” per poter inserire ipayoff dell'opzione creata nell'ambiente Option Map (zona contrassegnata dalla lettera E nelriquadro di destra della figura 3.53);

Un esempio sulle Standard Options

Consideriamo un'espressione per i payoff data da Max(V1-3%; 0%) uguale a V1-3%. Questo è ilpayoff di un'opzione di tipo call scritta su un sottostante descritto attraverso il processo stocasticoV1 e con uno strike rate pari al 3%. A seconda del momento nel quale tale opzione dovrà esserevalutata e a seconda del tipo dell'opzione stessa, nei tab General e Timing and Payoff dovremocompiere delle scelte ben precise; in particolare:

– se l'opzione è di tipo Americano e dovrà essere valutata in un qualsiasi istante di tempo frala Start Date e la End Date, nel tab General dovremo valorizzare il campo “Type”(selezionando la voce “American type option”) mentre nel tab Timing and Payoff dovremovalorizzare il campo “American timing type” (selezionando la voce “Bermudan date's vectorreference”);

– se l'opzione è d tipo Standard European o Custom o Committed e dovrà essere valutata aduna specifica data d'esercizio, ovvero alla sua scadenza, nel tab General dovremovalorizzare il campo “Type” (selezionando la voce “Custom or Committed European” o lavoce “Standard European”, a seconda dei casi), mentre nel tab Timing and Payoff dovremovalorizzare il campo “Continuos” (specificandovi soltanto la End Date, o Maturity Date). Inquest'ultimo caso il payoff sarà semplicemente pari a V1-3% con esercizio in corrispondenzadella End Date;

Le Strip of Options

95

Page 111: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Oltre che le Single Standard Options, Fairmat ci permette anche di inserire un'intera strip (serie) diopzioni attraverso il blocco Strip of Options. Tale blocco ci permette di modellare una serie diopzioni composte. La serie di opzioni (e dei relativi pagamenti) viene parametrizzata sia nella voce“Exercise Date” che nella voce “Payoff”. Utilizzando un ambiente apposito, possiamo creare facilmente una sequenza composta da molteopzioni o da molti pagamenti. Fairmat crea una serie di opzioni sostituendo al simbolo incognito # ivalori attuali dei cicli di iterazione presi dai campi “From”, “Step” e “To” presenti nel tab Timingand Payoff (figura 3.58). Così come avviene nel caso della creazione di Single Standard Options, dopo aver selezionato unaStrip of Options, facendo doppio click sull'oggetto creato nell'ambiente Option Map, si aprirà unafinestra con due tab: General e Timing and Payoff (figure 3.57 e 3.58).

Il tab General (figura 3.57) ci permette di valorizzare i seguenti campi: – “Name” (Nome): nel quale possiamo attribuire un nome univoco (e senza spazi) all'opzione

creata nell'ambiente Option Map. Per attivare tale attributo dobbiamo flaggare il relativocheck-box;

– “Description” (Descrizione): nel quale possiamo inserire altre informazioni utili di tipodescrittivo. Dopo aver chiuso la finestra di editing ciò che è contenuto in questo campo verràvisualizzato in basso a destra dell'opzione creata nell'ambiente Option Map;

– “ID”: nel quale possiamo inserire un codice in grado di identificare univocamente l'opzione; – “Type” (Tipo): il quale è una combinazione di box attraverso cui possiamo scegliere il tipo

di opzione. Le scelte possibili in tal senso sono: Standard European Option o CommittedOption. Di default il tipo di opzione impostato è Custom, o Committed Option;

– “Strip Type” (Tipo di strip): con il quale possiamo definire il tipo di collegamento fra leoperazioni comprese nella Strip of Options. L'utente può scegliere fra due alternative:“Sequence Compound Option” o “Sum of Independent Options”;

(Figura 3.57: Creazione di una Strip of Options, tab General)

Il tab Timing and Payoff (figura 3.58 ci permette, invece, di valorizzare i seguenti campi: – “From” (Da), “Step” (Passo), “To” (A): parametri che servono a definire i valori “Start”,

96

Page 112: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

“Step” e “End” dei cicli di iterazione (ad esempio, ponendo i parametri nel seguente modo:“From” = 2, “Step” = 1 e “To” = 6, richiederemo al simbolo incognito # di assumere nelcorso dei vari cicli di iterazione i valori 2, 3, 4, 5 e 6. Ponendo, invece, i parametri nelseguente modo: “From” = 2, “Step” = 2 e “To” = 6, richiederemo al simbolo incognito # diassumere nel corso dei vari cicli di iterazione i valori 2, 4 e 6). Premendo il tasto “View”possiamo visualizzare in dettaglio i parametri “Date Expression” e “Payoff Expression”collegati con i valori assunti dal simbolo incognito # durante lo svolgimento delle varieiterazioni in modo da poter, utilmente, verificare se gli input che abbiamo inserito per ipayoff di un'opzione siano corretti o meno;

– “Parametric Exercise Date (#)”: con il quale possiamo definire le date di esercizio delleopzioni comprese, appartenenti, alla strip (ad esempio, il parametro Pd[#] significa che ledate di pagamento, le “payment dates”, del Vector Date, Pd, sono definite dai parametriinseriti nei campi “From”, “Step” e “To”);

– “Parametric Payoff (#)”: nel quale possiamo inserire i payoff delle opzioni; – “Callability (Redimibilità)”: nel quale possiamo inserire maggiori informazioni riguardo alla

callability dell'opzione, e quindi informazioni inerenti alla possibilità che la stessa possaessere rimborsata, o estinta, prima della sua naturale scadenza e quindi in via anticipata, lequali sono visibili nella relativa sottosezione. Un menù a tendina, presente all'interno di questo campo, ci permetterà di scegliere fra trepossibilità: 1) “No Callability” (Nessun rimborso od estinzione anticipata): scegliendo questa alternativanon poniamo alcuna possibilità di uscita preventiva dal contratto; 2) “Callability” (Redimibilità possibile in quanto prevista): scegliendo questa alternativaponiamo una possibilità di uscita preventiva dal contratto coincidente con una delle dateimpostate nel campo “Parametric Payoff (#)”; 3) “Callability with different exit payoff” (Redimibilità con un differente payoff d'uscita):scegliendo questa alternativa poniamo una possibilità di uscita preventiva dal contrattocoincidente con una delle date impostate attraverso il parametro “Parametric AlternativePayoff (#)”;

(Figura 3.58: Creazione di una Strip of Options, tab “Timing and Payoff”)

Vedermo ora tre esempi su come creare e gestire, attraverso Fairmat, delle Strip of Options e su

97

Page 113: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

come gestire la relativa clausola di callability, laddove eventualmente prevista. I primi due esempi hanno carattere del tutto generale; il terzo esempio ha un taglio più specifico ecostituirà anche un modo assai utile per rivedere e ripassare tutte le funzionalità e le caratteristichedi Fairmat che abbiamo finora trattato in modo da fissarne meglio i relativi concetti.

Un esempio di Strip of Options (1): Opzioni senza clausola di callability

Supponiamo di detenere un coupon bond che prevede il pagamento, fra le “payment dates”comprese fra il tempo 5 e il tempo 9 (estremi dell'intervallo inclusi) una cedola aggiustata per ledate's metric conventions ed impostata sulla base delle date relative ai vettori CVG[] (vettore delledate aggiustate) e N[] (vettore dei valori nozionali). La figura di riferimento è la 3.59. Il simbolo incognito # assumerà quindi i valori 5, 6, 7, 8 e 9 per ciascuna opzione appartente allaStrip. Nel caso esaminato con questo esempio numero 1, i parametri e i relativi valori saranno quelliriassunti nella tabella 3.2:

(Tabella 3.2 – Esempio 1, Definizione parametri e valori)

(Figura 3.59: Esempio 1 – Definizione dei payoff)

98

Parametro ValoreFrom 5Step 1To 9Parametric Payoff (#) coupon[#]*Cvg[#]*N[#]Parametric Exercise Date Pd[#]

Page 114: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Un esempio di Strip of Options (2): Opzioni con clausola di callability (esempio generico)

Possiamo anche attivare un callability flag direttamente per ciascuna delle opzioni incluse nellaStrip (figura 3.60). A proposito della clausola di Callability vedremo due esempi: uno generico,ossia l'esempio numero 2 – proposto in questo paragrafo –, l'altro più specifico che verrà riportatoimmediatamente dopo).

Nel caso dell'esempio numero 2 il callability flag rappresenta la caratteristica di callability (ovverodi redimibilità) della Strip of Options nel suo complesso. Il menù a tendina accanto alla voce “Callability” del tab Timing and Payoff ci permette di regolarela possibilità (per un ente emittente) di chiudere anticipatamente, estinguendolo, il contratto(possibilità in genere esercitabile dopo però un determinato periodo di tempo, detto anche di lock-out, durante il quale la stessa possibilità resta preclusa). Come abbiamo già visto in precedenza, dal menù a tendina “Callability” sono selezionabili tre vocidistinte che sono le seguenti:

– “No Callability”: scelta con la quale escludiamo qualunque possibilità per l'emittente di unrichiamo anticipato;

– “Callability”: scelta con la quale attiviamo la previsione di un'uscita anticipata, rispetto allascadenza, dal contratto, la quale coinciderà (nel caso della scelta specifica in questione) conuna delle date impostate nel campo “Parametric Payoff (#)”;

– “Callability with different exit payoff”: scelta con la quale attiviamo la previsione diun'uscita anticipata, rispetto alla scadenza, dal contratto, la quale coinciderà (nel caso dellascelta specifica in questione) con una delle date impostate attraverso il parametrodenominato “Parametric Alternative Payoff (#) (figura 3.60);

Riprendiamo il coupon bond che abbiamo visto con l'esempio numero 1. Come detto, tale bondpaga, fra le “payment dates” comprese fra il tempo 5 e il tempo 9 (estremi inclusi) o una cedola ouna coupon call, nel caso in cui venga esercitato il diritto di callability da parte dell'emittente. Nel caso esaminato con questo esempio numero 2, i parametri e i relativi valori saranno quelliriassunti nella tabella 3.3:

(Tabella 3.3 – Esempio 2, Definizione parametri e valori)

Notiamo che nel caso in cui il diritto di callability venga esercitato, il valore dell'opzionesuccessiva, all'interno della Strip, sarà pari a 0.

99

519

Parametro ValoreFromStepToParametric Payoff (#) Coupon[#]*Cvg[#]*N[#] Payoff nel caso di non esercizio del diritto di callability Parametric Alternative Payoff ( #) (CouponCall[#]*Cvg[#]*N)+N Payoff nel caso di esercizio del diritto di callabilityParametric Exercise Date (#) Pd[#]

Page 115: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.60: Esempio 2 – Definizione dei payoff)

Un esempio di Strip di Opzioni (3): Opzioni con clausola di callability (esempio specifico)

Abbiamo già accennato più volte, in precedenza, che la clausola di callability (o di redimibilità) diun'attività finanziaria consente all'emittente della stessa di redimerla, ovvero di rimborsarla ad unacerta data antecedente rispetto a quella fissata per la scadenza richiamandola oppure imponendo alpossessore del relativo titolo di rivenderlo. Normalmente è previsto comunque un periodo cosiddetto di lock-out, ovvero un periodo (delladurata di qualche anno in genere) durante il quale l'opzione redimibile non può essere esigibile orichiamabile per l'emittente; in altre parole, un periodo di blocco durante il quale l'emittente nonpuò esercitare la clausola di redimibilità né può richiamare in via anticipata l'attività emessa.

Ipotizziamo ora di trattare un semplice coupon bond fixed-floating (ovvero fisso contro variabile) ilquale prevede un tasso cedolare fisso per il primo anno, un tasso variabile dal secondo anno finoalla scadenza naturale del titolo e che abbia incorporata una clausola di callability.

Con la tabella 3.4 riassumiamo i dati fondamentali del problema in esame: • Principal (Capitale): 1.000,00; • Trade Date (Data di negoziazione): 13/10/2010;• Effective Date (Data inizio): 29/10/2010;• Termination Date (Data di scadenza): 29/10/2020;• Leg A frequency of payments (frequenza dei pagamenti della parte A): -; • Leg B frequency of payments (frequenza dei pagamenti della parte B): Semestrale;

100

Page 116: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Tabella 3.4 – Esempio 3, Definizione parametri e valori)

Il file in versione .fair di questo esempio è disponibile e scaricabile direttamente dal sito web diFairmat (www.fairmat.com).

La rilevazione del tasso Euribor a 6 mesi (Eur6M), dal secondo anno in poi, avviene, in particolare,due giorni prima dell'inizio del periodo di maturazione degli interessi (pertanto la fixing conventionper il computo delle date di reset e di tipo Advance). Nel dettaglio, durante il primo anno il tasso cedolare è fisso ed è uguale al 6%. Dal secondo anno inpoi il tasso cedolare è, tuttavia, variabile ed indicizzato al tasso Euribor a 6 mesi, più uno Spreaddell'1,25%, con un tasso minimo garantito del 2%. La frequenza dei pagamenti è semestrale. Dal secondo anno in poi, l'emittente del bond può richiamarlo, riacquistandolo ad un prezzopredeterminato, generalmente pari al valore nominale, in corrispondenza di ciascuna “paymentdate”. Il possessore del titolo ha quindi venduto all'emittente un'opzione call con strike price pari alprezzo predeterminato. Questo diritto, generalmente, non può essere esercitato durante i primissimianni di vita del titolo (periodo di lock-out period, o periodo di blocco). Il premio relativo all'opzioneredimibile (o callable option) si riflette in un minor prezzo per il bond o, in maniera equivalente, inun maggior tasso di rendimento rispetto a quello riconosciuto su un titolo avente caratteristichesimili ma privo di clausola di callability.

Nella tabella 3.5 riproponiamo lo stesso quadro riassuntivo proposto in precedenza con la tabella3.4, in termini però diversi, ovvero in termini parametrici e quindi utilizzando gli oggetti disponibilinell'ambiente Parameters & Functions.

• Principal (Capitale): N; • Trade Date (Data di negoziazione): Valuation Date (Data di valutazione);• Effective Date (Data inizio): Effective Date (Data inizio);• Termination Date (Data di scadenza): Pda[end];• Leg A frequency of payments (frequenza dei pagamenti della parte A): -; • Leg B frequency of payments (frequenza dei pagamenti della parte B): Matfl;

101

- 6,00%--

--

Scambi Parte A Parte BPrimo anno Dal secondo anno in poi Max[2%; (Eur6M+125bps)] *Alla scadenza 1000 (Principal) *

Lock period =

1 anno

* Titolo riscattabile dall'emittente un anno dopo la data di regolamento (esclusa) e dopo di che con frequenza semestrale. Si noti che il pagamento del valore di rimborso avviene o contestualmente alla data dell'estinzione anticipata (se ciò accade) o alla scadenza (ossia alla Termination Date).

Convenzioni Parte A Parte BDrivers rates reset Advance, 2 daysDay Count Conventions 30/360, Unadjusted

Page 117: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Tabella 3.5 – Esempio 3, Definizione parametri e valori)

Vedremo ora come procedure dal punto di vista operativo in Fairmat. Nel dettaglio: prima di tutto dovremo aprire un nuovo progetto. Selezionando poi il percorso Settings → Project Preferences → Tab Simulation Dates andConventions dobbiamo specificare la Valuation Date e la Effective Date, che come possiamoevincere dalle tabelle 3.4 e 3.5, corrispondono rispettivamente alla Trade Date e alla Effective Datedel contratto. Dopo di che dobbiamo entrare nell'ambiente Parameters & Functions nel quale andremo ad inseriretutti gli oggetti necessari per la modellazione del contratto, che nel dettaglio sono quelli elencati conla tabella 3.6 riportata nella pagina successiva (gli oggetti elencati sono ordinati in base al loro“Type” ovvero sia in base al loro tipo).

(Figura 3.61: Esempio 3 – Riepilogo oggetti inseriti nell'ambiente Parameters & Fucntions)

102

-

--

--

Scambi Parte A Parte BPrimo anno Fix

Dal secondo anno in poiMax[K; (EuriborMatfl+Spd/1000)]

Funzione Float CN *Alla scadenza 1000 (Principal) *

Lock period =

1 anno

* Titolo riscattabile dall'emittente un anno dopo la data di regolamento (esclusa) e dopo di che con frequenza semestrale. Si noti che il pagamento del valore di rimborso avviene o contestualmente alla data dell'estinzione anticipata (se ciò accade) o alla scadenza (ossia alla Termination Date).

Convenzioni Parte A Parte B

Drivers rates reset Reset Type: Advance;

Add/Sub Days: RdayDay Count Conventions Cvg

Page 118: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Tabella 3.6 – Esempio 3, Descrizione analitica oggetti ambiente Parameters & Functions)

103

N

K

Nome Tipo Categoria DescrizioneScalar Parameters Ammontare del nozionale del derivato.

LO Period Scalar ParametersNumero di periodi di lock-out, durante i quali l'emittente non può esercitare il diritto di callability.

Matfl Scalar ParametersScadenza del tasso variabile espressa in frazioni d'anno (0,5 equivale, quindi, a sei mesi).

Rday Scalar ParametersNumero di giorni da togliere alle reset dates.

Fix Scalar ParametersTasso cedolare fisso, valido durante il lock-out period.

Scalar ParametersFloor Strike Price (prezzo minimo d'eserczio). Si utilizza nella funzione definita dall'utente Float CN.

Spd Scalar ParametersSpread aggiunto al tasso variabile espresso in punti base. Si utilizza nella funzione definita dall'utente Float CN.

Float CN Analytic Function Parameters

Funzione definita dall'utente che esprime i payoff corrisposti dall'emittente al detentore del titolo. Se il tasso variabile è inferiore al tasso K, l'emittente pagherà almeno il tasso K, altrimenti pagherà il tasso variabile più uno spread (Spd). Max è una funzione incorporata.

Pdu Date Sequence ParametersVettore delle date di pagamento unadjusted (non aggiustate).

Pda Date Vector Adjustment Parameters

Vettore delle date di pagamento (ottenuto a partire dal vettore Pdu) e aggiustate per la Modified Following Date Rolling Convention.

Rd Date Vector Adjustment Parameters

Trasformazione del vettore delle date (Date's Vector Transformation) ottenuta a partire dal vettore Pdu utilizzando l'oggetto Rday e selezionando la Date Rolling Convention Preceding. Il reset type da impostare è Advance.

CvgDate Vector Differences

CalculatorParameters

Date's Vector Differences Transformation ottenuta a partire dal vettore Pdu selezionando l'oggetto Thirty 360 nel menù a tendina Day Count Conventions e l'oggetto Unadjusted nel menù a tendina Date Rolling Convention.

Zr Disc Interpolated Function Parameters Curva di sconto.

Page 119: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Una volta completato l'inserimento di tutti gli oggetti necessari nell'ambiente Parameters &Functions (figura 3.61), dobbiamo definire il processo stocastico sottostante attivando cosìl'ambiente Stochastic Processes. Con il comando “Add S. Process” possiamo inserire un modellostocastico fra quelli disponibili e presenti nella lista. La lista dei modelli stocastici disponibili puòessere, tuttavia, estesa mediante dei plug-ins. Una volta inserito il processo stocastico, dovremo aprire la finestra di editing e selezionare il tabData Source al fine di attivare il data link - nello specifico dovremo valorizzare il campo “BindingType” e selezionare la voce “Bind Project to specific data - e, quindi, il mercato di riferimento - percui, in altre parole, dovremo valorizzare il campo “Market” - e gli strumenti sui quali la calibrazioneverrà eseguita - valorizzando, infine, il campo “Calibration Strategy” (riquadro di sinistra dellafigura 3.62). Nell'esempio specifico in questione utilizzeremo un ben noto e diffuso modello per ladeterminazione dei tassi di interesse a breve, ovvero sia il modello Hull&White 1 (ad un parametro)e la calibrazione verrà eseguita utilizzando come riferimento swapoptions di tipo europeo.

(Figura 3.62: Esempio 3 – Definizione processo stocastico sottostante)

Dopo aver chiuso la finestra di editing, bisognerà premere il tasto destro del mouse per aprire ilmenù a tendina relativo alla calibrazione e selezionare la voce “Calibrate model using dataprovider” (riquadro di destra della figura 3.62) Per quanto attiene alla scelta del market data provider, si deve selezionare il seguente percorsoSettings → Fairmat Preferences → Tab Core Preferences → Tab General → Menù a tendinaMarket Data Provider.

104

Page 120: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Una volta definito il processo stocastico sottostante, il passo successivo sarà quello di impostare ilmodello di discounting più opportuno. In questo caso dovremo utilizzare un processo stocastico peril quale si deve definire un modello di discounting riferito al processo stocastico medesimo (@V1 –riquadro di sinistra della figura 3.63).

(Figura 3.63: Esempio 3 – Impostazione del modello di Discounting)

In aggiunta, dovremo poi definire lo stile di simulazione e il numero di percorsi della SimulazioneMonte Carlo (riquadro di destra della figura 3.63). Queste impostazioni vengono specificateselezionando il seguente percorso: Settings → Numerical Settings e valorizzando i campi “# ofdiscrete time steps” e “# of simulated paths” (per esempio, se 2000 è il numero dei giorni dicalendario intercorrenti fra la Simulation Date e la Termination Date, allora 10000 potrebbe essereil numero dei percorsi simulati; per cui, in definitiva si avrà che “# of discrete time steps” = 2000 e“# of simulated paths” = 10000);

105

Page 121: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

A questo punto siamo pronti per la modellazione del contratto nell'ambiente Option Map. Dallatavolozza grafica della Option Map, con un semplice drag&drop (letteralmente, “prendi e lascia”),dovremo inserire due Strip of Options e, infine, una Single Option (figura 3.64).In particolare, la prima Strip of Options si riferisce al periodo di lock-out, durante il qualel'obbligazione paga un tasso cedolare fisso; la seconda Strip of Options si riferisce ai semestrisuccessivi, durante i quali l'obbligazione paga un tasso cedolare variabile e l'emittente potrebberiscattare il titolo in corrispondenza di una qualunque “payment date”; l'ultima Single Option, che èdi tipo Standard, include sia il pagamento dell'ultima cedola prevista che il rimborso finale delcapitale, il quale avviene appunto alla scadenza.

(Figura 3.64: Esempio 3 – Modellazione contratto nell'ambiente Option Map)

Al fine di sfruttare le caratteristiche di callability, dovremmo inserire i payoff rispettando il punto divista del possessore dell'opzione (ovvero sia il punto di vista dell'acquirente della callability optione quindi dell'emittente dell'obbligazione, nel caso specifico in esame). Ma siamo interessatimaggiormente ad una valutazione dal punto di vista del possessore del bond (che nel caso specificopreso in esame è anche il venditore della callability option) e quindi il punto di vista di colui che loha sottoscritto e acquistato.A tal fine utilizziamo il Functional Operator - del quale al momento facciamo solo un accenno mache vedremo nel dettaglio nei paragrafi successivi dedicati agli Operators disponibili in Fairmat -ponendolo prima di tutti gli altri oggetti delineati in precedenza (figura 3.64).Con la figura 3.67 proponiamo il dettaglio relativo la funzione definita Float CN, creatanell'ambiente Parameters & Functions come y=f(x1) - dove x1 è la variabile indipendente e y è ilrisultato della funzione - e richiamata nell'ambiente Option Map o, meglio, nella finestra di editingdella Strip of Options. x1, in particolare, è una variabile di tipo Scalar e, in quanto tale, può essere o la componente di unvettore (quale ad esempio Rd[end]), o il risultato di una funzione incorporata (quale, ad esempio, lafunzione RATE, utilizzata in questo esempio specifico per la determinazione del tasso cedolare) ouna semplice costante (quale, ad esempio, è Matfl che è una variabile di input per la funzione RATE,appena accenata). K e Spd sono anche essi Scalar e come tali possono essere invocati direttamentenella finestra di editing della funzione. Possiamo definire la funzione Float CN come una funzione di tre variabili indipendenti (y=f(x1, x2,x3) = max(x2; x1+x3/1000)) richiamandola nell'ambiente Option Map, nella finestra di editing dellaStrip of Options, come Float CN(Rate(Rd[end]; Matfl; @V1); K; Spd). Con la figura 3.66 mostriamo la finestra di editing della Strip of Options relativa al periodo duranteil quale l'obbligazione paga un tasso variabile e l'emittente può esercitare il diritto di callability.

106

Page 122: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Partendo dal 3° semestre (e quindi scrivendo nel campo “From” LOper+1, dove LOper assumevalore 2 poiché il lock-out period nel caso specifico in esame copre un periodo della durata di duesemestri) fino ad arrivare al 19° Semestre (e quindi scrivendo nel campo “To” Lenght(@Pda) – 1,dove Lenght(@Pda) assume valore pari a 20) l'emittente paga il tasso Float CN (ossia il tassoEuribor a 6 mesi maggiorato di uno spread dell'1,25% con un tasso minimo garantito del 2%)moltiplicato per Cvg, ovvero il periodo di riferimento, coperto dal tasso.

(Figura 3.65: Esempio 3 – Inserimento operatore Functional e definizione ValSide)

(Figura 3.66: Esempio 3 – Definizione payoff durante il periodo di esercitabilità del diritto di callability)

(Figura 3.67: Esempio 3 – Definizione Analytic Function FLOATCN)

107

Page 123: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Teniamo presente che, semplificando, nel caso specificato preso in esame: x1 → Tasso Euribor a sei mesi, incognita del modello; x2 → tasso variabile minimo → K; x3 → Spread applicato al tasso Euribor a sei mesi → Spd

La possibilità relativa all'estinzione anticipata del contratto viene abilitata attraverso il menù atendina Callability, del quale ne abbiamo già parlato in precedenza descrivendone le scelte possibili:

– “No Callability”: per cui la caratteristica di callability resta disabilita. Questa èl'impostazione di default;

– “Callability”: per cui la caratteristica di callability viene abilitata. Nel caso in cui lacondizione di uscita occorra alla i-esima data, il contratto prevederà il pagamento dell'i-esimo payoff;

– “Callability with different exit payoff”: per cui la caratteristica di callability viene abilitata.Nel caso in cui la condizione di uscita occorra alla i-esima data, il contratto prevederà ilpagamento di un payoff alternativo, il cui valore viene specificato nel campo “ParametricAlternative Payoff (#)”;

Quando attiviamo la caratteristica di callability, una volta chiusa la finestra di editing, sopra a destradell'opzione appena creata nell'ambiente Option Map apparirà una C di colore rosso, proprio persegnalare la presenza di tale caratteristica per l'opzione in questione (figura 3.64).

108

Page 124: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Gli Operators dell'ambiente Option Map: come inserirli ed utilizzarli

Gli Operators che possiamo utilizzare in Fairmat sono i seguenti:

• Functional Operator;

• Decisional Operator;

• AND Operator;

• OR Operator;

Altri Operators sono disponibili con l'installazione di appositi plug-ins.

Il Functional Operator

Il Functional Operator (figura 3.68) serve per modellare una decisione relativa ad un dato istante(decisione modellata come il risultato della valutazione di una funzione) o per modellare unatrasformazione dei flussi di cassa generati da una sequenza di nodes nell'ambito di una strutturadecisionale. Il Functional Operator ci permette di fare operazioni sui valori dei child nodes di una strutturadecisionale (ai quali faremo riferimento con le variabili x1, x2, …, xn).

(Figura 3.68: Functional Operator)

Facendo doppio click sull'Operator creato nell'ambiente Option Map si aprirà la finestra di editingrelativa allo stesso (figura 3.69).Nella finestra di editing possiamo fornire una breve descrizione formale relativa all'Operator creatoe darne un nome. Nell'esempio illustrato con la figura 3.69, in particolare, i child nodes successivial Functional Operator sono A e B, mostrati rispettivamente con le nomenclature x1 e x2. Nel casospecifico, i nodes portano avanti, in particolare, delle differenze fra A e B.

109

Page 125: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.69: Functional Operator – Finestra di editing)

Il Decisional Operator

Il Decisional Operator (figura 3.70) ci consente di inserire delle condizioni sulle opzioni di scelta,quindi dei costrutti di selezione lungo la struttura decisionale.

(Figura 3.70: Decisional Operator)

Facendo doppio click sull'Operator creato nella Option Map si aprirà la finestra di editing relativaallo stesso (figura 3.71). Una volta aperta la finestra di editing, dovremo fare doppio click sulla voce If[ ], per poter inserireil costrutto di selezione, ovvero la condizione legata alla If, e poi doppio click sulla voce “Select”,in modo da selezionare o l'opzione A o l'opzione B attraverso un apposito menù a tendina. Si noti che affinché questo Operator abbia un senso da un punto di vista logico, esso necessita dialmeno due “leaf” (ovvero di almeno due foglie, letteralmente, della struttura decisionale) e quindi

110

Page 126: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

di almeno due possibilità, due nodes, fra le quali scegliere per la prosecuzione all'interno dellastruttura decisionale.

(Figura 3.71: Decisional Operator – Finestra di editing)

L'AND Operator

L'AND Operator (figura 3.72) esprime la possibilità di esercitare due o più opzioni nonesclusivamente reciproche fra loro. Tale Operator ci permette di calcolare la somma di opzioni fra loro indipendenti.

(Figura 3.72: AND Operator)

111

Page 127: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

L'OR Operator

L'OR Operator (figure 3.73 e 3.74) seleziona la migliore successione di nodes utilizzando variemetriche di riferimento (ad esempio o massimizzando, oppure minimizzando, il valore di unasuccessione di nodes). L'OR Operator ci permette di calcolare il massimo valore all'interno di una serie di Strip of Options(esclusive fra loro), o di impegni di pagamento, e ne sceglie la migliore. L'Operator in questione modella la seguente situazione: il decision maker esercita la miglior Stripof Options e attendendo fino al momento in cui le stesse opzioni saranno esercitabili. Il decision maker ha anche la possibilità della scelta di non esercitare nessuna delle opzioniappartenenti alla successione restituendo un valore di ritorno pari a 0. Quest'ultima caratteristicadell'Operator può essere disabilitata flaggando il check-box accanto alla voce relativa allafunzionalità “Exercise at least one of the subsequent nodes” detta anche “Excluding not-exercisingoption”. In questo caso il decision maker sarà obbligato a scegliere almeno una delle Strip ofOptions, o di impegni di pagamento. In altre parole: l'OR Operator si comporta come un'opzione che, nella determinazione della politicadi ottimizzazione, considera anche la possibilità di non esercitare nessuna delle Strip of Options. Se,però, viene flaggato il check-box “Exercise at least one of the subsequent nodes”, la possibilità dinon fare nessuna operazione non sussisterà.

(Figura 3.73: OR Operator)

(Figura 3.74 – OR Operator – Finestra di editing)

112

Page 128: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

I Branches

Un branch (ossia un ramo – figura 3.75) è una connessione fra due o più elementi. Se due opzioni(oppure un Operator e un'opzione) sono collegate fra loro attraverso un branch nella direzione dasinistra verso destra, lungo la Option Map, allora l'elemento (opzione o Operator che sia) che sitrova a sinistra rappresenta la causa per l'elemento (opzione o Operator che sia) che si trova adestra. Ciò significa che qualunque elemento che si trova, lungo la Option Map, a destra potrebbeaccedere solo dopo che l'elemento che si trova a sinistra è stato eseguito (ovvero a causadell'esecuzione relativa all'elemento che si trova a sinistra). In un senso ricorsivo a ritroso, implicitonella programmazione dinamica, potremmo quindi affermare che il valore dell'elemento che si trovaa sinistra dipende dal valore dell'elemento che si trova a destra. Prima di inserire i dati in Fairmat dobbiamo costruire la corretta Option Map del progettofinanziario che stiamo analizzando. Questo è il punto di partenza fondamentale per affrontare almeglio il problema della valutazione di un progetto finanziario.

(Figura 3.75: Esempio di utilizzo dei branches)

In particolare, nell'esempio riportato con la figura 3.75, l'esercizio dell'opzione Opt_1 consentirà dipoter decidere la miglior scelta possibile fra l' opzione Opt_2 e l'opzione Opt_3. L'esercizio dell'opzione Opt_2 comporterà l'esercizio delle opzioni Opt_4 e Opt_5; il payoff che nederiverà sarà dato dalla media aritmetica dei payoff derivanti, appunto, dalle stesse opzioni Opt_4 eOpt_5.D'altra parte, invece, l'esercizio dell'opzione Opt_3 comporterà, dopo un flusso di cassaaddizionale (il quale dovrà essere pagato oppure ricevuto), l'esercizio sia dell'opzione Opt_6 chedell'opzione Opt_7.In buona sostanza, quindi, il valore dell'opzione Opt_1 dipende sia dai suoi payoff che dai valoridelle opzioni Opt_2 e Opt_3 e avrà come componente il valore massimo generato o dall'eserciziodell'opzione Opt_2 o dall'esercizio dell'opzione Opt_3. A sua volta, il valore dell'opzione Opt_2dipende, oltre che dai suoi payoff, anche dai valori delle opzioni Opt_4 e Opt_5 e avrà comecomponente la media dei payoff derivanti appunto dalle opzioni Opt_4 e Opt_5. Il valoredell'opzione Opt_3, invece, dipende, oltre che dai suoi payoff, sia dall'ammontare del flusso di cassaaddizionale che dai payoff derivanti dalle opzioni Opt_6 e Opt_7, sicché essa avrà comecomponente la somma dell'ammontare dei payoff derivanti appunto dalle opzioni Opt_6 e Opt_7.

113

Page 129: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

L'ambiente Manage Scenarios

Fairmat ci permette di creare differenti Scenarios (scenari o configurazioni), nell'ambito delprogetto finanziario che stiamo analizzando, mediante l'utilizzo dell'apposito ambiente ManageScenarios (figure 3.76 e 3.77). Dopo aver creato un form nell'ambiente Option Map, attraverso il tab Manage Scenarios possiamoaggiungere allo scenario di default, premendo il comando “Add New”, uno o più scenari (figura3.76). Possiamo scegliere quale configurazione utilizzare selezionandola dalla lista di gestione degliscenari (figura 3.77).

(Figura 3.76: L'ambiente Manage Scenarios - 1)

(Figura 3.77: L'ambiente Manage Scenarios - 2)

In ciascun scenario, le seguenti proprietà delle opzioni possono assumere valori differenti: – “Type” (American/European/Committed): in una data configurazione un'opzione potrà

essere di tipo Americano mentre in un'altra potrà essere invece di tipo Committed Decision;– “Callability” (Redimibilità): una Strip of Options potrà avere o non avere la clausola di

callability a seconda dello scenario; – “Enable/Disable”: un'opzione o un operatore funzionale può sussistere o meno a seconda

dello scenario;

La funzionalità Scenarios può essere utilizzata per creare uno scenario od una serie di scenari e/oper fare un'analisi del tipo What If (“Cosa accadrebbe se …).

114

Page 130: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Il Tab Info

Come già si è avuto modo di accennare all'inizio di questo capitolo, i due tab principali che sitrovano alla sinistra della schermata iniziale del programma sono i tab Structure e Info (figura 3.78).Il tab Structure è stato già trattato nel corso dei precedenti paragrafi, per cui vedremo ora neldettaglio il tab Info.

(Figura 3.78: Schermata iniziale di Fairmat – il tab Info messo in evidenza)

Il tab Info contiene al suo interno due campi distinti da poter riempire: 1) il campo “Notes” (Note) nel quale è possibile aggiungere, a nostra discrezione, eventuali

informazioni aggiuntive relative al file .fair sul quale stiamo lavorando (figura 3.79);2) “il campo “Document's plug-ins dependencies” (Dipendenze del documento dai plug-ins)

nel quale vengono segnalate le eventuali dipendenze da plug-ins del documento inversione .fair sul quale stiamo lavorando e che, quindi, sono segnalati come mancanti enecessari e che dovremo scaricare ed installare per il file medesimo (figura 3.79);

Fairmat include, infatti, in tutti i suoi modelli una lista di plug-ins che sono necessari per farfunzionare un qualsiasi modello stocastico sottostante. Qualora manchi uno o più plug-ins didipendenza e necessari per il file con estensione .fair sul quale stiamo lavorando, Fairmatprovvederà prontamente a suggerirci di installare i plug-ins necessari e quindi da installare(nell'esempio riportato nella figura 3.79, il file .fair in corso di elaborazione necessita di quattroplug-ins ed in particolare dei seguenti plug-ins: “Fairmat Core”, “Dates Generator”, “Fairmat CoreExtension” e “Plain Vanilla”). Premendo il tasto “OK” verremo reindirizzati al form degli Available on-line plug-ins, ossia al formrelativo ai plug-ins disponibili on-line (figura 3.80). Alcuni file in versione .fair necessitano di unlink ad un database modello. Quest'ultima caratteristica, tuttavia, è disponibile soltanto con laversione Professional di Fairmat.

115

Page 131: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.79: Il Tab Info)

(Figura 3.80: Finestra di alert per le dipendenze dai plug-ins del documento .fair)

116

Page 132: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

La Toolbar

La Toolbar (figura 3.81) ci permette di fissare le principali impostazioni ai fini dell'analisi cheintenderemo condurre.

(Figura 3.81: Toolbar)

Attraverso l'utilizzo di una serie di menù a cascata attraverso la Toolbar potremo impostare:

• il Current Scenario (Scenario corrente, attuale) al quale l'analisi, che intenderemo condurre,deve riferirsi;

(Figura 3.82: Toolbar – Selezione del Current Scenario)

• il tipo di Analysis (Analisi) che intediamo condurre;

(Figura 3.83: Toolbar – Analysis)

• il Starting Node (Nodo di partenza) a partire dal quale la Simulation (Simulazione) debbapartire;

(Figura 3.84: Toolbar – Starting Node)

117

Page 133: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

L'informazione di default per identificare un node è il codice Id, un codice univoco cheidentifica un oggetto (ad esempio Optio, id=1). Qualora aggiungessimo delle informazioninel campo “Description”, queste ultime saranno visualizzabili (ad esempio 1_year);

• La Effective Date, ovvero sia la data a partire dalla quale il contratto inizierà o è già iniziato.Per vedere come impostare la Effective Date in Fairmat si riveda la funzionalità ProjectPreferences del tab Settings, già analizzata nel dettaglio nel corso del Capitolo 1;

• La Simulation Date, ovvero sia la data alla quale l'analisi che intendiamo condurre fariferimento. Anche per quando riguarda la Simulation Date, vale quanto sopra scritto per laEffective Date, ovvero sia che si raccomanda di rivedere la funzionalità Project Preferencesdel tab Settings, già analizzata nel dettaglio nel corso del Capitolo 1;

(Figura 3.85: Toolbar – DatePicker)

(Figura 3.86: Toolbar – Lancio di un'analisi, prima possibilità)

118

Page 134: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.87: Toolbar – Lancio di un'analisi, seconda possibilità)

Il comando “Run Analysis”, evidenziato nel riquadro rosso della figura 3.87, è una scorciatoia perpoter lanciare un'analisi in Fairmat. Il medesimo risultato si ottiene comunque cliccando con il tastodestro del mouse sul comando “Analysis” (figura 3.86).

119

Page 135: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Lo Status Panel e i suoi tab

Lo Status Panel (figura 3.88) si riferisce a tutti quei tab che si trovano nella parte bassa dellaschermata principale.

(Figura 3.88: Status Panel)

I tab che compongono lo Status Panel sono i seguenti: – Valuation;– Errors; – Parameters;– Log; – Fairmat Console;

Analizzeremo ora nel dettaglio, uno per uno, i tab sopra elencati.

Il Tab Valuations

Il tab Valuations visualizza, in ogni istante e seguendo, in particolare, un ordine decrescente (ovveropartendo dall'ultima analisi effettuata, partendo dall'analisi effettuata più recentemente), leinformazioni riguardo le analisi effettuate fra cui:

– lo “Starting Node” di riferimento;– il “Expected Value” (ossia il valore atteso del contratto oggetto di analisi o del progetto

oggetto di analisi); – la “Standard Deviation” (o “Std. Dev.”, Deviazione Standard); – lo “Standard Error” (o errore standard relativo all'analisi); – il metodo di valutazione adottato (nell'esempio riportato nella figura 3.89, in particolare, la

Simulation numero 8, evidenziata dal cursore in blu, supporta la simulazione Monte Carlo); – il “Time” della valutazione (ossia l'istante nel quale è stata effettuata l'analisi richiesta); – lo “Scenario” di riferimento;

Nell'esempio riportato nella figura 3.88, l'analisi numero 8, evidenziata dal cursore in blu, è unaSensitivity Analysis (Analisi di Sensibilità) sul parametro α (alfa), riferita allo “Starting Node”IRS_KO, con lo Scenario_B come “Scenario” di riferimento e condotta utilizzando la simulazioneMonte Carlo. Facendo doppio click sulla valutazione selezionata verremo reindirizzati ad una finestra contenentei dettagli relativi alla valutazione stessa. Il tab Errors

120

Page 136: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Come l'etichetta stessa suggerisce, il tab Errors si riferisce ad un errore occorso durante l'utilizzo diFairmat. Gli avvisi di errore possono essere di tre tipi distinti (figure 3.89, 3.90 e 3.91):

1) “Error Type 1”: è un tipo di errore che ci viene segnalato durante l'editing di un file .fair equindi può apparire, ad esempio, qualora avessimo editato una Analytic Function utilizzandotre variabili senza provvedere a modificare il campo “# of indipendent variables” nelcombo-box menù relativo all'editing delle funzioni. Tale tipi di errori vengono segnalati inquanto Fairmat controlla i codici durante l'editing da parte dell'utente;

2) “Error Type 2”: è un tipo di errore che normalmente occorre qualora lanciassimo un'analisisu un file .fair contenente un errore che deve essere necessariamente corretto prima di poterprocedere con l'esecuzione dell'analisi stessa;

3) “Error Type 3”: è un tipo di errore che viene evidenziato per segnalarci la presenza dipotenziali bug che potrebbero occorrere durante l'esecuzione del programma Fairmat.Possiamo aggiungere un commento a tali eventuali bug, qualora occorrano, e decidere se siail caso o meno di inviare un report allo staff di Fairmat, facendo così una segnalazione in talsenso. Possiamo avvisare lo staff di Fairmat attraverso il form Fairmat's Error Report(figura 3.93) oppure postando un bug sul reporting Fairmat's Bug;

(Figura 3.89: Tab Errors, Error Type 1)

(Figura 3.90: Tab Errors, Error Type 2)

(Figura 3.91: Tab Errors, Error Type 3)

121

Page 137: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.92: Fairmat's Error Report)

Il tab Parameters

Il tab Parameters (figura 3.93) fornisce informazioni derivanti dall'ambiente Parameters &Functions. E' assai utile dare un'occhiata e verificare quali sono i parametri contenuti nell'ambienteParameters & Functions e, per alcune tipologie di oggetti, le funzionalità eventualmente attivate(come ad esempio il range impostato per la Sensitivity Analysis oppure l'attivazione dell'export flagper la Impact Analysis).

(Figura 3.93: Tab Parameters)

Dalla colonna “Par. Name”, facendo doppio click sulla riga alla quale l'oggetto selezionato fariferimento, possiamo accedere alla finestra di editing dell'oggetto medesimo e modificarne leimpostazioni. Dalla colonna “Export”, facendo doppio click sulla riga alla quale l'oggetto selezionato fariferimento, possamo, direttamente dal tab Parameters, attivare (selezionando la voce “True”) odisattivare (selezionando la voce “False”) l'export flag relativo all'oggetto medesimo.

122

Page 138: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Il tab Log

Il tab Log (figura 3.94) fornisce informazioni riguardo ai processi software di background diFairmat in corso mentre lo stesso programma è in fase di esecuzione.

(Figura 3.94: Tab Log)

Nota solo per gli sviluppatori di plug-ins per Fairmat. Tutti i metodi di programmazione di Fairmat, ovvero Console.Write e Console.Write.Line sonoreindirizzati al tab Log di Fairmat. Per ulteriori informazioni si veda la sottosezione How to PublishFairmat Plug-ins presente nella sezione “Developers” del sito web del programma(www.fairmat.com).

Il Tab Fairmat Console

Il tab Fairmat Console (figura 3.95) è uno strumento che utilizza variabili e funzioni in modoiterativo, come se fosse un calcolatore.

(Figura 3.95: Fairmat Console)

123

Page 139: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Supponiamo di voler costruire un semplice contratto derivato di tipo Collar, dato da unacombinazione fra una posizione lunga su una floor otion (per cui il venditore dovrà pagareun'eventuale payoff derivante da tale opzione di tipo put) e una posizione long su un'opzione call(per cui l'acquirente dovrà ricevere un'eventuale payoff derivante da tale opzione di tipo call,appunto). La funzione fl si può esprimere come segue:

• Se X ≤ Tfloor → X + Max( Tfloor – X; 0); • Se Tfloor < X ≤ Tcap → X; • Se X > Tcap → X – Max(X – Tcap; 0);

Con Tfloor = 3% e Tcap = 6%.

Nella command line del tab Fairmat Console (contraddistinta con il segno >) possiamo inserire ledichiarazioni di variabili (e quindi possiamo insrire, ad esempio, l'input della funzione fl allo scopodi verificare che il suo comportamento sia coerente e corretto). Nel tab Fairmat Console possiamo utilizzare le caratteristiche di auto-complete (ovvero di auto-completamento). In partcolare, mentre si stanno editando delle espressioni, premendo CTRL +SPACE, apparirà un box di auto-complete il quale ci permetterà di visualizzare tutte le possibilitàdi completamento disponibili e attraverso le quali possiamo completare più rapidamentel'espressione che stavamo editando, o che volevamo editare. Possiamo continuare, comunque, a scrivere, ad editare; in questo caso la lista delle “completations”disponibili verrà aggiornata di conseguenza; oppure potremo scegliere uno fra le “completations”suggerite dal programma mediante l'utilizzo delle frecce presenti sulla tastiera e premendo il tastoENTER (Invio).

124

Page 140: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

Le funzionalità di auto-complete

Fairmat possiede una serie di strumenti che ci consentono di scrivere ed editare più velocemente. Inparticolare:

• il testo delle espressioni note (e riconosciute dal programma) vengono colorate; diconseguenza vedremo i simboli e le espressioni note, riconosciute, da Fairmatcontrassegnate rispettivamente con il colore arancione e con il colore rosso (mentre glioperatori e i numeri rimangono contrassegnati con il colore nero). Inoltre, al fine diagevolarci nella creazione delle espressioni, il programma evidenzia le coppie di parentesiinserite (tonde, quadre, graffe);

• Le espressioni possono essere auto-completate premendo CTRL + SPACE;• I simboli creati possono essere rinominati dall'utente in qualunque momento;

L'Autocomplete box aiuta a risparmiare tempo nell'editing delle espressioni, mostrandoci quali sonole funzioni e i simboli definiti nel progetto e/o disponibili in Fairmat. L'Autocomplete box funziona nel seguente modo:

• In ogni textbox di Fairmat durante l'editing delle espressioni, possiamo premere il comandoCTRL + SPACE. Questo comando ci mostrerà un form nel quale possiamo completarel'espressione che stavamo scrivendo;

• Una volta che appare il form di autocomplete, possiamo comunque continuare a scrivere (inquesto caso la lista dei possibili completamenti conosciute dal programma verrà aggiornata)oppure può scegliere l'oggetto di completamento desiderato e selezionarlo utilizzando ilmouse e i tasti direzionali della tastiera UP e/o DOWN. Premendo poi il tasto ENTERsceglieremo e completeremo l'espressione che stavamo scrivendo;

• Contrariamente al caso di selezione di una variabile costante o di uno Scalar, se l'oggettoche abbiamo selezionato è una funzione, la lista delle possibili differenti forme funzionaliapparirà sul lato destro del pannello. Le forme funzionali selezionabili possono essere scelteutilizzando i tasti direzionali della tastiera LEFT e/o RIGHT;

• Per il simbolo selezionato viene fornito un link al sistema di aiuto, accessibile cliccandosulla voce “More Help”. Tale link attiverà Fairmat nella ricerca del sistema di supporto per ilsimbolo selezionato appunto;

Per comprendere appieno il funzionamento delle funzionalità di Autocomplete, diamo un'occhiataall'esempio riportato nella figura 3.96. In particolare, dopo aver editato “Ma”, premendo il comandoCTRL + SPACE, Fairmat mostra un box con il quale possiamo vedere tutte le funzioni contenenti lelettere “ma” (oppure tutti gli oggetti creati e presenti nell'ambiente Parameters & Functionscontenenti le lettere “ma”, i quali vengono contrassegnati con il colore verde). La funzionalità di Autocomplete non è case sensitive; in altre parole non è sensibile alle differenzetra i caratteri maiuscoli o minuscoli della tastiera. Di conseguenza, nell'esempio della figura 3.96,risulta che a contenere le lettere “Ma” siano sia la funzione vettoriale AMax che l'oggetto MatEur.Dando rilievo all'oggetto selezionato con il cursore a forma di freccia, verrà mostrata una brevedescrizione dell'oggetto stesso (ad esempio Amax calcola il massimo dell'espressione expr valutataper tutti gli elementi degli vettore arr). Se l'oggetto è stato creato nell'ambiente Parameters &Functions, la breve descrizione si sovrapporrà a quanto inserito nel campo “Description”(Descrizione).

125

Page 141: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 3 – IL WORK SPACE DI FAIRMAT

(Figura 3.96: La funzionalità di Autocomplete)

Il Renaming

Il comando Rename ci permette di rinominare un oggetto presente nell'ambiente Parameters &Functions. Per procedere con il renaming è necessario, in particolare, selezionare l'oggetto darinominare, selezionarlo cliccando il tasto destro del mouse e premere il comando “Rename”. La funzionalità di renaming include anche una possibilità di re-factoring (si veda in tal senso ilcheck-box “Change also all the occurences of this symbol in the project” - ovvero, cambiare anchetutte le occorrenze di questo simbolo nel progetto – figura 3.97) la quale ci permette di rinominare ilsimbolo in tutte le volte, in tutte le occasioni, che esso compare all'interno del progetto. Con quanto riportato nella figura 3.97, si mostra un esempio di renaming (e di re-factoring) di unacostante il cui nome originariamente è N e che dopo il renaming viene rinominata Noz.

(Figura 3.97: Il Renaming)

126

Page 142: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4

LE ANALISI E

GLI OUTPUT

Page 143: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

I tipi di analisi effettuabili

Come abbiamo già avuto modo di vedere nel Capitolo 1, a proposito in particolare del MenùAnalysis, selezionando, appunto, il menù stesso Fairmat ci consente di effettuare un'analisi su unfile .fair. Più nel dettaglio, le analisi che possiamo effettuare sono le seguenti:

– la Bivariate Sensitivity Analysis (Analisi di sensibilità effettuata congiuntamente su coppiedi parametri);

– la Univariate Sensitivity Analysis (Analisi di sensibilità univariata);– la Dynamic and Volatility Analysis (Analisi sulla dinamica e la volatilità);– la Impact Analysis (Analisi degli impatti), la Risk Analysis (Analisi del rischio);– la Scenario (What if) Analysis (Analisi degli scenari possibili);– la Valuation (Valutazione);– la Greek Analysis (Analisi delle greche);

In particolare: • La Bivariate Sensitivity Analysis ci permette di calcolare come varia il valore del Mark to

Market del contratto oggetto di analisi al variare di coppie di specifici parametri; • La Univariate Sensitivity Analysis ci permette di calcolare come varia il valore del Mark to

Market del contratto oggetto di analisi al variare di uno specifico parametro alla volta; • La Dynamic and Volatility Analysis ci permette di calcolare la dinamica di andamento del

valore del contratto oggetto di analisi e di calcolare la media delle varianze dell'evoluzionedel valore del contratto o del progetto;

• La Impact Analysis ci permette di calcolare l'impatto sul valore del Mark to Market delcontratto oggetto di analisi di una specifica variazione intervenuta contemporaneamente nelvalore di due o più parametri;

• La Risk Analysis ci permette di determinare il livello di rischio sia della distribuzione deifuturi flussi di cassa sia del valore residuo del contratto oggetto di analisi;

• La Scenario Analysis ci permette di comparare il valore del Mark to Market del contrattooggetto di analisi sotto differenti scenari ipotetici;

• La Valuation ci permette di calcolare il valore del Mark to Market del contratto oggetto dianalisi;

• La Greek Analysis ci permette di determinare le greche del contratto oggetto di analisi. Legreche sono i coefficienti di sensibilità di un contratto finanziario derivato;

Nei paragrafi che seguiranno vedremo nel dettaglio la Valuation, la Risk Analysis, la SensitivityAnalysis, la Impact Analysis, la Scenario Analysis e la Greek Analysis;

Valuation

127

Page 144: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

La Valuation restituisce il Mark to Market del contratto oggetto di analisi. Per lanciare una Valuation dobbiamo entrare nell'ambiente Option Map, selezionare un Operator,cliccare il tasto destro del mouse e selezionare il percorso Analysis → Valuation (figura 4.1). Prima ancora di procedere con la Valuation di un contratto dobbiamo però impostare le preferenzeselezionando il percorso Settings → Project Preferences. Alternativamente, si può utilizzare la Toolbar posta in alto nella schermata principale (figura 4.2).

(Figura 4.1: Valuation – Primo metodo di lancio)

(Figura 4.2: Valuation – Secondo metodo di lancio)

Una volta lanciata la Valuation e terminata la sua elaborazione, il programma restituisce una riga

128

Page 145: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

sotto il tab Valuations dello Status Panel posto in basso a sinistra della schermata principale nelquale vengono mostrati – come abbiamo già avuto modo di vedere nel Capitolo 3 e piùprecisamente nel paragrafo che tratta proprio lo Status Panel – i principali risultati della Valuationstessa ovvero:

– lo Starting Node di riferimento;– l'Expected Value (ossia il valore atteso del contratto oggetto di analisi); – la Standard Deviation (o St. Dev., Deviazione Standard); – lo Standard Error (o errore standard relativo all'analisi); – il metodo di valutazione adottato (nell'esempio riportato nella figura 4.2, in particolare, la

Simulation numero 6 supporta la simulazione Monte Carlo); – il Time della valutazione (ossia l'istante nel quale è stata effettuata l'analisi richiesta); – lo Scenario di riferimento;

Con un doppio click con il tasto sinistro del mouse sulla riga sotto il tab Valuations, Fairmat mostraanche un grafico con una distribuzione di probabilità (ovvero una distribuzione delle probabilitàattese – figura 4.3) e il valore attuale netto del progetto stesso (ovvero il Net Project Value o(E)NPV o il Mark to Market nel caso specifico degli strumenti finanziari). Nell'esempio mostrato con la figura 4.3 la parte colorata di blu della distribuzione si riferisce aiflussi di cassa positivi, mentre la parte colorata di rosso della distribuzione si riferisce a flussi dicassa negativi. Sotto il grafico viene mostrato un prospetto riassuntivo che fornisce i valori relativial valore atteso, l'errore standard e il valore atteso condizionato dal valore del Mark to Marketpositivo del contratto (indicato con E[MTM|MTM>=0]) e il valore atteso condizionato dal valoredel Mark to Market negativo del contratto (indicato E[MTM|MTM<0]) in relazione alle loroprobabilità di realizzazione. Per quanto attiene l'analisi dei percentili essa va letta, nel caso di flussi di cassa negativi, come laprobabilità di perdere più del valore atteso; nel caso, invece, di flussi di cassa positivi, essa va lettacome la probabilità (pari al 100% meno le relative probabilità) di guadagnare più del valore atteso. Sempre nell'esempio della figura 4.3, il fair value del contratto oggetto di analisi è pari a -1.018.52euro. Vi è una probabilità relativa del 100% - 80% = 20% di guadagnare più di 1.368,68 euro e,dall'altro lato, vi è la stessa probabilità (ovvero il 20% di probabilità) di perdere di più di -3.396,94euro.

(Figura 4.3: Valuation – Esempio di distribuzione di probabilità)

Qualora volessimo modificare la percentuale dell'intervallo della massa di distribuzione impostando

129

Page 146: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

il nuovo valore sotto il tab Distribution si dovrà selezionare il seguente percorso (figura 4.4):Settings → Project Preferences → Analysis Preferences → Distribution → Campo Show theinterval containing the x% of mass distribution.

(Figura 4.4: Valuation – Modifica percentuale dell'intervallo della massa di distribuzione)

Possiamo ripetere la Valuation sul contratto oggetto di analisi quante volte lo riteniamo opportuno. Irisultati delle analisi vengono mostrati da quella più recente a quella più vecchia (più precisamente,e per migliore comprensione, la prima riga del tab Valuations dello Status Panel si riferisceall'ultima analisi lanciata). Spesso è utile impostare la funzione Repeated Analysis – attraverso la selezione del percorsoSettings → Repeated Analysis – la quale ci permette di implementare l'esecuzione dell'analisi sulcontratto oggetto di analisi per il numero di volte impostato mediante la selezione del percorsoSettings → Fairmat Preferences → Repeated Analysis: number of replications. In quest'ultimo caso,Fairmat mostra sul tab Log dello Status Panel anche il valore medio e un valore per la deviazionestandard della popolazione statistica oggetto dell'analisi.

Risk Analysis

La Risk Analysis ci permette di determinare il livello di rischio sia della distribuzione dei futuriflussi di cassa (selezionando il percorso Risk Profile → Cash Flows of the contract) sia del valoreresiduo del contatto derivato oggetto di analisi (selezionando il percorso Risk Profile → Value of theContract) in corrispondenza delle payment dates. Per avviare la Risk Analysis dobbiamo entrare nell'ambiente Option Map, selezionare un Operator(OR o AND oppure una funzione quale può essere ad esempio la funzione Sum – Somma), cliccare iltasto destro del mouse e selezionare il percorso Analysis → Risk Analysis (figura 4.5). In alternativa, possiamo avviare la Risk Analysis utilizzando la Toolbar posta in alto nella schermataprincipale (figura 4.6). In via opzionale, possiamo poi determinare il livello di rischio dei flussi di cassa futuri e del valoreresiduo del contratto oggetto di analisi riferito ad uno specifico vector date. In questo caso verrannoprese in considerazione ai fini dell'analisi solo le date posteriori a quella della valutazione.

130

Page 147: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

(Figura 4.5: Risk Analysis – Primo metodo di lancio)

(Figura 4.6: Risk Analysis – Secondo metodo di lancio)

Possiamo ripetere la Risk Analysis sul contratto oggetto di analisi quante volte riteniamo opportuno.I risultati delle analisi vengono mostrati da quella più recente a quella più vecchia.Spesso è utile impostare la funzione Repeated Analysis – attraverso la selezione del percorsoSettings → Repeated Analysis – la quale ci permette di implementare l'esecuzione dell'analisi sulcontratto oggetto di analisi per il numero di volte impostato mediante la selezione del percorsoSettings → Fairmat Preferences → Repeated Analysis: number of replications. In quest'ultimo caso,Fairmat mostra sul tab Log dello Status Panel anche il valore medio e un valore per la deviazionestandard della popolazione statistica oggetto dell'analisi.

131

Page 148: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

(Figura 4.7: Risk Analysis – Esempio di distribuzione di probabilità 1)

(Figura 4.8: Risk Analysis – Esempio di distribuzione di probabilità 2)

Sensitivity Analysis

La Sensitivity Analysis ci permette di studiare come la variazione (incerta) nel risultato, nell'output,di un modello matematico possa essere rapportata, da un punto di vista qualitativo o da un punto divista quantitativo, a differenti fonti di variazione nell'input (o negli input) del modello. Una volta creato un file .fair i passi che dovremo seguire, compiere, per l'implementazione dellaSensitivity Analysis sono i seguenti:

1) Primo Passo (figura 4.9): selezionare nell'ambiente Parameters & Functions il parametro (o

132

Page 149: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

i parametri) che dovrà variare (o che dovranno variare) durante la Sensitivity Analysis, faredoppio click su esso (o su essi) e valorizzare i campi Expression (tramite tale valorizzazione,in particolare, imposteremo il valore a partire dalla quale inizierà la Sensitivity Analysis) eRange (tramite tale valorizzazione, invece, imposteremo l'intervallo entro il quale lavariabile potrà subire variazioni).Si noti che se Range è impostato come uno Scalar, la Sensitiviy Analysis verrà condottasull'intervallo [Valore base – Range; Valore base + Range] dove Valore base indica il valoreattuale, corrente, del parametro; se, invece, Range è impostato come un vettore di dueelementi, espresso nella forma a1; a2, l'intervallo utilizzato sarà [a1; a2];

2) Secondo Passo: ripetere il passo indicato nel precedente punto 1) per tutti i parametriinteressati alla Sensitivity Analysis. La scelta di due parametri può essere utile sia percondurre una Univariate Sensitivity Analysis (ovvero un'analisi di sensibilità univariata,condotta su un solo parametro di riferimento alla volta) sui due parametri consideraticiascuno singolarmente, sia per condurre una Bivariate Sensitivity Analysis (ovveroun'analisi di sensibilità bivariata, effettuata congiuntamente su coppie di parametri) suientrambi i parametri considerati in maniera congiunta, contemporaneamente;

3) Terzo Passo (figura 4.10): per avviare la Sensitivity Analysis dobbiamo entrare nell'ambienteOption Map, selezionare un Operator (OR o AND oppure una funzione quale può essere adesempio la funzione Sum – Somma), cliccare il tasto destro del mouse e selezionare ilpercorso Analysis → Univariate/Bivariate Sensitivity Analysis;

In alternativa (figura 4.11) possiamo avviare la Sensitivity Analysis utilizzando la Toolbar posta inalto nella schermata principale.

(Figura 4.9: Sensitivity Analysis – Primo metodo di lancio, passi 1 e 2)

133

Page 150: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

(Figura 4.10: Sensitivity Analysis – Primo metodo di lancio, passo 3)

(Figura 4.11: Sensitivity Analysis – Secondo metodo di lancio)

Possiamo ripetere la Sensitivity Analysis sul contratto derivato quante volte riteniamo opportuno. Irisultati delle analisi vengono mostrati da quella più recente alla più vecchia. Spesso è utileimpostare la funzione Repeated Analysis (attraverso la selezione del percorso Settings → RepeatedAnalysis) la quale ci permette di implementare l’esecuzione dell’analisi sul contratto per le volteimpostate con il percorso Settings → Fairmat Preferences →Repeated Analysis: number ofreplications. In quest’ultimo caso, Fairmat mostra sul tab Log dello Status Panel anche il valoremedio e un valore per la deviazione standard della popolazione statistica oggetto dell’analisi.

Impact Analysis

La Impact Analysis mostra l'impatto sul Mark to Market del contratto oggetto di analisi di unaspecifica variazione intervenuta contemporaneamente nel valore di uno o più parametri. Qualora laImpact Analysis venga effettuata su due o più parametri al termine dell'elaborazione i parametriverranno mostrati in ordine crescente, ovvero in base alla capacità di ciascuno di essi di impattaresul valore del Mark to Market. I passi che dobbiamo compiere per poter lanciare una Impact Analysis sono i seguenti:

1) Primo passo (figura 4.12): entrare nell'ambiente Parameters & Functions e scegliere ilparametro, o i parametri, il cui impatto sul Mark to Market del contratto oggetto di analisi

134

Page 151: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

dovrà essere valutato, cliccandoci sopra due volte verificando poi se la voce Impact del tabAnalysis sia flaggata o meno; nel caso non fosse flaggata, flaggarla;

2) Secondo Passo: ripetere il passo indicato nel precedente punto 1) per tutti i parametriinteressati dalla Impact Analysis. Diversamente che nel caso della Sensitivity Analysisdovremo poi definire il range di riferimento non compilando direttamente il relativo box maselezionando il seguente percorso: Settings → Project Preferences → Analysis Preferences→ tab Impact (figura 4.13);

3) Terzo Passo: nell'ambiente Option Map, selezionare un Operator (AND, OR oppure unafunzione, quale può essere ad esempio Sum – Somma; in ogni caso, normalmente, si scegliel'Operator che si trova più a sinistra), cliccare il tasto destro del mouse e selezionare ilseguente percorso: Analysis → Impact Analysis;

In alternativa, possiamo avviare la Impact Analysis utilizzando la Toolbar posta in alto nellaschermata principale (figura 4.14).

(Figura 4.12: Impact Analysis – Primo metodo di lancio)

(Figura 4.13: Impact Analysis – Definizione del range di riferimento)

135

Page 152: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

(Figura 4.14: Impact Analysis – Secondo metodo di lancio)

Ad ogni lancio della Impact Analysis Fairmat restituisce come una riga sotto il tab Valuations delloStatus Panel. Con un doppio click su ogni riga presente nel tab Valuations l’applicativo mostra unafigura che traccia il gap nel Mark to Market del contratto oggetto di analisi, causato dall’incremento(o dal decremento) nel valore del parametro inserito come input (o dei parametri inseriti comeinput). Il programma pone in ordine decrescente i parametri coinvolti nella Impact Analysis ovveroin base alla loro capacità di impatto sulla variazione del Mark to Market del contratto oggetto dianalisi. Un esempio di grafico relativo al gap nel Mark to Market viene mostrato con la figura 4.15 nellaquale il parametro maggiormente significativo è σ (sigma), seguito da α (alfa). Questo implica chenel contratto oggetto di analisi, prezzato con il processo stocastico Hull & White ad un parametro, ilparametro σ è il più importante e significativo. Questa informazione ci può essere utile per unamigliore calibrazione dei parametri. Sempre analizzando attentamente ed ancora una volta la figura4.15, si può notare anche una barra verticale nera che rappresenta il valore atteso del contrattooggetto di analisi (Expected Project Value), valore che funge da benchmark di riferimento per lavalutazione.

(Figura 4.15: Impact Analysis – Esempio di grafico relativo al gap nel Mark to Market)

136

Page 153: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

Scenario Analysis

Come abbiamo già avuto modo di vedere nel corso del Capitolo 3, nel paragrafo dedicatoall'ambiente Manage Scenarios, il medesimo ambiente ci permette di creare differenti scenari (oconfigurazioni) nell'ambito di un progetto di natura finanziaria (figura 4.16). Di base viene impostato uno scenario di "Default", ma possiamo aggiungerne uno nuovo orimuovere uno già esistente entrando appunto nell'ambiente Manage Scenarios e selezionando icomandi "Add New" o "Remove". Dopo aver creato uno scenario, possiamo scegliere qualeconfigurazione utilizzare selezionandola dal combo box Current Scenario.

(Figura 4.16: Scenario Analysis)

In ogni scenario, le seguenti caratteristiche fondamentali dei contratti derivati possono assumeredifferenti valori:

a) Contratti derivati American-Style o European-Style o Custom Tag: un contratto derivato puòessere un’opzione American-Style, ossia di tipo americano, in un dato scenario, ma in un altroscenario può essere o European-Style, ossia di tipo europeo, o Custom Tag;

b) Callability (ossia esigibilità): una Strip of Option può avere (o non avere) la clausola diesigibilità, a seconda dei vari scenari;

c) Enabled/Disabled (Abilitato/Disabilitato): un’opzione o un Operator può essere consideratoo meno a seconda dei vari scenari;

d) Il simbolo di Fairmat Scenario assume la valenza di un’indice degli scenari selezionabilinella lista degli scenari possibili. Il simbolo Scenario assume valori da 1 fino al numero discenari definiti e possibili. Ciò migliora la flessibilità nella definizione di come uno scenariodifferisca da un altro in quanto uno scenario può essere condizionato sulla base di un altrodato scenario attraverso espressioni logiche (come ad esempio la seguente: iif(Scenario==1;do this; do that) – ossia se lo scenario selezionato è lo scenario 1, allora deve essere eseguitauna determinata operazione, altrimenti deve essere eseguita un’altra operazione). Anche levariabili dipendenti di uno scenario possono essere definite allo stesso modo, ossia sulla base

137

Page 154: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

di un altro dato scenario attraverso espressioni logiche. Ad esempio se volessimo definire unavariabile dipendente di un dato scenario A, la quale assume differenti valori in tutti gliscenari possibili, basta creare un vettore chiamato A ed utilizzare il simbolo Scenario comeindice. Quindi per esempio possiamo scrivere A[Scenario];

La Scenario Analysis ci permette di lanciare le analisi Scenario o What – if (Cosa succede se ...) perpoter stimare l’impatto di cambiamenti strutturali intervenuti nel modello. Quando gli scenari sonodefiniti nel modello, anche la Sensitivity Analysis utilizza le informazioni di configurazionegenerando tante linee quanti sono gli scenari (figura 4.17, nel cui esempio vengono presi in esamedue scenari diversi: un'opzione con la clausola di callability ed una senza la clausola di callability).

(Figura 4.17: Scenario Analysis - Esempio)

Possiamo ripetere la Scenario Analysis sul contratto derivato quante volte riteniamo opportuno. Irisultati delle analisi vengono mostrati da quella più recente alla più vecchia. Spesso è utileimpostare la funzione Repeated Analysis (attraverso la selezione del percorso Settings → RepeatedAnalysis) la quale ci permette di implementare l’esecuzione dell’analisi sul contratto per le volteimpostate con il percorso Settings → Fairmat Preferences →Repeated Analysis: number ofreplications. In quest’ultimo caso, Fairmat mostra sul tab Log dello Status Panel anche il valoremedio e un valore per la deviazione standard della popolazione statistica oggetto dell’analisi.

Greek Analysis

Solitamente il prezzo di un contratto derivato viene calcolato utilizzando un modello statistico ingrado di simulare l'andamento dell'attività finanziaria sottostante, sicchè il prezzo può essere visto,facilmente, come una funzione di un modello parametrico. Le greche sono derivate parziali di tale funzione e vengono prese in considerazione per testare la

138

Page 155: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

sensibilità del prezzo in relazione ai cambiamenti intervenuti nelle condizioni di mercato. Oltre aimodelli parametrici, un'altra variabile che può essere presa in considerazione per questo tipo dianalisi è il flusso temporale, il passare del tempo. Se prezziamo, ad esempio, un contratto Equity Derivatives (ovvero un tipo di contratto derivatoavente come sottostante un titolo azionario o un paniere di titolo azionario) utilizzando comeriferimento il modello di Black e Scholes allora possiamo ipotizzare, realisticamente, che ilsottostante segua un GBM (Geometric Brownian Motion).

Per cui: )()()()( tdWtSdttStS [4.1]

Con S(0) = S0 (ovvero lo "Starting Value") e con i flussi di cassa che vengono scontati, attualizzati,ad un tasso di interesse costante privo di rischio. In questa modellazione il prezzo del contratto è una funzione V che dipende dai parametri μ, σ, S0, rnonché la vita residua del contratto, ovvero dal tempo mancante alla scadenza. Allora definiremo legreche come segue:

0S

V

[4.2]

20

2

S

V

[4.3]

V

[4.4]

r

V

[4.5]

t

V

[4.6]

In particolare: • Delta (Δ) – formula [4.2] – è la derivata prima del prezzo del contratto derivato rispetto al

prezzo dell'attività sottostante. Misura le variazioni attese del prezzo del contratto derivato alvariare del prezzo dell'attività sottostante;

• Gamma (Γ) – formula [4.3] – è la derivata seconda del prezzo del contratto derivato rispettoal prezzo dell'attività sottostante. Misura le variazioni del delta del contratto derivato alvariare del prezzo dell'attività sottostante;

• Vega (υ) – formula [4.4] – è la derivata prima del prezzo del contratto derivato rispetto allavolatilità del titolo sottostante, e quindi rispetto alla sua deviazione standard (la quale comeè noto misura il grado di rischiosità del sottostante medesimo). Misura quindi quanto varia ilvalore del contratto derivato al variare del parametro σ (sigma, ovvero appunto la deviazionestandard dell'attività sottostante);

• Theta (Θ) – formula [4.5] – è la derivata prima del prezzo del contratto derivato rispetto a T.Misura quindi quanto varia il valore del contratto derivato al variare del tempo a scadenza,della maturità. Spesso tale greca viene espressa con un valore negativo;

• Rho (ρ) – formula [4.6] – è la derivata prima del prezzo del contratto derivato rispetto altasso di interesse privo di rischio. Misura quindi la variazione del prezzo del contrattoderivato rispetto ad una variazione intervenuta nel tasso di interesse privo di rischio;

139

Page 156: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

Espliciteremo come poter effettuare il calcolo delle greche in Fairmat. Nell'ambiente Option Map, bisogna selezionare un Operator (AND, OR oppure un altro tipo diOperator), cliccarci sopra con il tasto destro del mouse e selezionare il seguente percorso: Analysis → Greek Derivatives (figura 4.18).

(Figura 4.18: Greek Analysis)

Una volta terminato il calcolo delle greche, cliccando sulla corrispondente linea presente sotto il tabValuations dello Status Panel, possiamo visualizzare una tabella riportante i valori delle stesse. Da un punto di vista squisitamente tecnico, le greche vengono calcolate numericamente attraversodelle differenze finite. Per ciascun rapporto incrementale da stimare, viene effettuata una nuovavalutazione con il corrispondente parametro modificato in maniera adeguata. Per esempio la grecaDelta (Δ) viene calcolata attraverso la seguente:

h

SVhSV 00 [4.7]

La greca Gamma (Γ) è una derivata seconda, sicchè sarà necessario effettuare un'ulteriorevalutazione. Di conseguenza Gamma (Γ) viene calcolata attraverso la seguente:

2

000 )(2)(

h

SVhSVhSV [4.8]

Attraverso questi calcoli viene fissata la testa di serie da simulare in modo tale da minimizzarel'errore statistico sul numeratore del rapporto. Ciascun processo stocastico fornisce delle informazioni riguardanti quei parametri da considerare ocome un punto di partenza o come parametri di volatilità da variare nei calcoli delle greche Delta(Δ), Gamma (Γ), Vega (υ). In presenza di più processi, di più contratti da valutare, le greche verranno calcolate per tutti iparametri di tali processi così che vi saranno più Delta (Δ), Gamma (Γ) e così via.

140

Page 157: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 4 – LE ANALISI E GLI OUTPUT

Le greche dei contratti derivati sui tassi di interesse

Per garantire consistenza e senso tecnico alle greche calcolate attraverso l'applicazione del modelloBlack e Scholes, nel caso di un contratto derivato sui tassi di interesse le greche Delta (Δ), Gamma(Γ) e Rho (ρ) vengono calcolate nel seguente modo:

• Delta (Δ) e Gamma (Γ): nel modello di Black tali greche vengono calcolate rispetto al valoredi partenza del tasso forward e nella valutazione il tasso di attualizzazione viene tenutocostante, invariato. Allo stesso modo, similarmente, nel caso di un processo non arbitrariosui tassi a breve, per il quale la simulazione dipende dalla struttura per scadenze dei tassi diinteresse (ovvero dalla zero rate curve) – come avviene nel caso del modello Hull & White –tali greche vengono calcolate mutando costantemente la struttura per scadenze emantenendo, invece, invariato il tasso di attualizzazione;

• Rho (ρ): nel modello di Black tale greca viene calcolata considerando il tasso di interesseprivo di rischio e mantenendo costante il valore iniziale del tasso forward. Allo stesso modo,similarmente, nel caso di un processo non arbitrario sui tassi a breve, per il quale lasimulazione dipende dalla struttura per scadenze dei tasssi di interesse (ovvero dalla zerorate curve) tale greca viene calcolata mutando il tasso di attualizzazione e mantenendo,invece, invariata la struttura per scadenze di riferimento per la simulazione;

Il cambio del metodo attualizzazione viene eseguito a prescindere dal modello di discountingprescelto (quindi indipendentemente che esso sia il modello Use Costant Risk Free Rate oppure ilmodello Use Deterministic Expression oppure il modello Use Dynamic Term Structure).

141

Page 158: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5

LA MODELLAZIONE DEI

CONTRATTIFINANZIARI

Page 159: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Ogni progetto di investimento coinvolge una o più attività finanziarie sottostanti; in più vi possonoessere numerose fonti di incertezza, valori guida e variabili di stato. Ciascuna attività sottostante può, in particolare, seguire o un processo stocastico secondo ilprocesso Geometric Brownian Motion (GBM), o secondo un Mean Reverting Process, o secondo unLog-Mean Reverting Process, o secondo Generic Itô Process o, infine, secondo un Generic Log-ItôProcess. I processi stocastici appena elencati in serie, sono tutti noti come processi di diffusione. Permodellare una variabile economica in una maniera più realistica possiao anche aggiungere unPoisson Jump Process ad uno già esistente. Vi sono poi disponibili anche i seguenti modelli stocastici più recenti: il Auto-Regressive Process, (oARMA) e il Log-Auto Regressive Process (o Log-ARMA).

Geometric Brownian Motion (GBM)

Per una variabile di stato V(t) che segue un Geometric Brownian Motion, l'equazione del suoincremento nell'intervallo temporale di durata Δt è la seguente:

ttgtV

tV )()(

)( [5.1]

dove g indica il parametro di moto, σ incida la varianza del parametro e, infine, ϵ rappresenta unadistribuzione normale standardizzata. Secondo la [5.1], il rapporto di variazione di valoredell'attività sottostante nell'intervallo temporale definito è dato dalla somma di una partedeterministica (gΔt) e di una componente stocastica (σ √ Δt ϵ ) , per cui la distribuzionedell'incremento di V(t) è di tipo log-normale. Il processo log-normale viene spesso utilizzato per modellare l'evoluzione dei prezzi delle attivitàfinanziarie o dei valori dei progetti finanziari (per cui, ad esempio tale processo può essere moltoutile per calcolare il valore attuale dei flussi di cassa prodotti dal progetto) in quanto essi nonpossono mai assumere valori negativi. La caratteristica principale di questo tipo di processi è quello per cui, appena si presta attenzione alfuturo, il range dei percorsi possibili (dei “path” possibili), soprattutto per il processo delladistribuzione log-normale, si amplifica con il tempo. Ovvero, la volatilità dell'attività sottostante,misurata dalla sua deviazione standard, cresce con la radice quadrata della lunghezza dell'orizzontetemporale di riferimento. Infatti: ttgVtV )()( [5.2] gteVtV )0()( [5.3] ttVtVVar 22 )()( [5.4] ttVtVVar 22 )()( [5.5] 122 2

)0()( tgteVtVVar [5.6]

Utilizzo del GBM in Fairmat

In Fairmat, nell'ambiente Stochastic Process, possiamo inserire un processo di Geometric BrownianMotion selezionando il seguente percorso: Add S. Process → Standard Processes: GBMAppena inserito nell'ambiente Stochastic Process un GBM, sono editabili i seguenti tab (figura 5.1):Data Source, GBM, Preview, Bounds, Jumps, Parameters e History. Analizzeremo ora nel dettaglio

142

Page 160: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

due dei tab mostrati nella figura 5.1, ovvero i tab Data Source e GBM, che sono i tab principali epiù importanti. Il tab Data Source mostra e ci richiede di compilare i seguenti campi:

• “Binding type”: con il quale possiamo decidere se collegare il progetto ad una specifica seriedi dati (tramite la selezione della voce “Bind object to specific data”, o di scollegare ilprogetto a qualsiasi data source, con la conseguenza che le informazioni eventualmenteacquisite in precedenza andranno perse (tramite la selezione della voce “Unbind object datasource (binding info will be lost”) oppure ancora, infine, di disabilitare il collegamento aidati (tramite la selezione della voce “Disable Data Binding”);

Qualora avessimo deciso di valorizzare il campo “Binding type” selezionando la voce “Bind objectto specific data” diverranno poi selezionabili e valorizzabili i seguenti campi:

• “Market”: con il quale andiamo ad indicare il mercato di riferimento; • “Foreign Market”: con il quale andiamo ad indicare il mercato estero di riferimento; • “Ticker”; • “Calibration Strategy”: con il quale specifichiamo la strategia di calibrazione da imporre al

modello stocastico generato; in tal senso le scelte possibili sono le seguenti: “Historicalseries calibration” (Calibrazione mediante utilizzo delle serie storiche), “Exchange ratehistorical calibration” (Calibrazione mediante utilizzo dei tassi di cambio storici); “Volatilitysurface calibration” (Calibrazione mediante utilizzo della volatilità apparente);

Infine, premendo sul tasto “Calibration Options” possiamo impostare per la “Calibration Strategy”scelta:

1) “Time series samples frequency” (frequenza di campionamento della serie temporale);2) “Interval in years on which the samples must be found” (intervallo di tempo, espresso in

anni, sul quale si deve effettuare il campionamento); 3) “Minimum number of observations in historical series” (Numero minimo di osservazioni

delle serie storiche); 4) “Maximum number of observations in historical series” (Numero massimo di osservazioni

delle serie storiche); 5) “Growth Rate calibration” (calibrazione del tasso di crescita): la calibrazione può avvenire

seguendo due diverse modalità: “Use Historical Price” (Utilizzo dei prezzi storici) oppure“Use Zero Rate Curve” (Utilizzo della struttura per scadenze dei tassi di interesse);

6) “Volatility calibration method” (metodo di calibrazione della volatilità): i metodi adottabilipossono essere, alternativamente, i seguenti: “Population”, “Risk Metrics”, “RiskMetricsAVG”;

7) “Risk metrics average window” (finestra Risk MetricsAVG);8) “Local currency conversion” (conversione in valuta locale); 9) “Convert to univariate process” (conversione al processo univariato);

Si noti che i campi “Market”, “Foreign Market” e “Ticker” sono esportabili mediante l'attivazionedel relativo flag “Publish”. Il tab GBM mostrerà poi i seguenti campi:

• “Base Value”: che equivale a V(0); • “Volatility”: che equivale a σ;• “Control Parameters”: che definisce, in modo alternativo, due espressioni per il parametro di

moto g, ovvero: - “Growth Rate; Risk Premium”: nella quale g equivale al Growth Rate meno il Risk

143

Page 161: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Premium (ovvero il tasso di crescita meno il premio al rischio); - “Payout Rate (Dividend Yield)”: nella quale g equivale al Payout Rate (ovvero il tasso didistribuzione) che sta al dividend yield meno il valore costante del risk free rate (ovvero iltasso privo di rischio);

Si noti che la lunghezza di Δt viene definita selezionando il seguente percorso: Settings →Numerical Settings → campo # of discrete time steps.Al momento le specificazioni sul GBM e relative all'espressione del “Payout Rate” (“DividendYield”) possono essere utilizzate solo con il metodo di attualizzazione al tasso di interesse privo dirischio (o risk free rate). Qualora necessitassimo di un altro metodo di attualizzazione dovremo, almomento, modellare i flussi di casso impostando il tasso di crescita (Growth Rate) e il tasso delpremio al rischio (Risk Premium).

(Figura 5.1a: GBM, campi da compilare)

144

Page 162: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

(Figura 5.1b: GBM, esempio di andamento grafico)

Calibrazione del MGB: opzioni di stima

Come abbiamo avuto modo di accennare in merito alle possibili strategie di calibrazioneselezionabili nel tab Data Source, la calibrazione dei parametri relativi al tasso di crescita (“GrowthRate”) e alla volatilità (“Volatility”) può essere performata utilizzando tre differenti strategie:

1) Calibrazione delle serie storiche: è una strategia di calibrazione che sfrutta le serie storichedell'indice;

2) Calibrazione dei tassi di cambio: è una strategia di calibrazione che fissa i parametri per lasimulazione di un tasso di cambio;

3) Calibrazione della volatilità apparente: è una strategia di calibrazione che fissa i parametriscaricandoli direttamente dal market data provider. Questa caratteristica è disponibile seviene utilizzato il Market Data Provider di Bloomberg;

Nel caso in cui la valuta dell'indice di riferimento sia differente dalla valuta associata al mercato nelquale il contratto viene valutato, allora viene incorporato nel tasso di crescita un aggiustamentoquantitativo calcolato sulla base delle serie storiche. Se il processo è multivariato la matrice delle correlazioni viene sempre determinata attraverso leserie storiche. Vi sono poi alcune opzioni di calibrazione che possono essere impostate per modificare laprocedura di calibrazione stessa. In particolare:

• “Time series sample frequency” (frequenza di campionamento della serie temporale):imposta la frequenza delle serie storiche utilizzate o per stimare il tasso di crescita nel casodel calcolo dei prezzi storici o per determinare l'aggiustamento quantitativo, o perdetermiare la matrice delle correlazioni, nel caso in cui esse debbano essere calcolate;

• “Growth rate calibration” (calibrazione del tasso di crescita): nel caso della strategia del

145

Page 163: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

calcolo dei prezzi storici, se impostiamo l'utilizzo della “Zero Rate Curve”, il tasso dicrescita viene calcolato attraverso la struttura per scadenze dei tassi di interesse, mentre, seimpostiamo l'utilizzo dei prezzi storici, il tasso di crescita viene calcolato attraverso le seriestoriche;

• “Volatily calibration method” (metodo di calibrazione della volatilità): imposta il metodo dautilizzare nel calcolo della volatilità: o il classico metodo sulla popolazione (“Population”)oppure le metriche del rischio (“Risk Metrics” o “Risk MetricsAVG”) laddove per le piùrecenti osservazioni sia stata calcolata la media;

• “Risk metrics average window” (finestra della media delle metriche del rischio): imposta ilnumero di elementi che devono essere considerati nel calcolo delle metriche del rischiomedie;

• “Local currency conversion” (conversione della valuta locale): nel caso del calcolo deiprezzi storici, tale opzione converte le serie storiche nella valutazione della valuta dimercato e utilizza le serie convertite per calcolare il tasso di crescita e la volatilità e perassegnare il valore di partenza del processo;

• “Convert to univariate process” (conversione al processo univariato): nel caso dellaspecificazione di ticker multipli nel campo “Ticker”, l'impostazione permette di specificarese il risultato sarà un processo multivariato (non si attiverà allora il relativo flag) o unprocesso univariato risultante dalla media ponderata delle differenti componenti (allora siattiverà il relativo flag);

• “Interval in years on which the samples must be ritrieved” (Intervallo temporale, espresso inanni, sul quale il campione debba essere recuperato): imposta quanto lontano dobbiamocercare nei dati storici passati i campioni;

• “Minimum number of observed samples” (Numero minimo di campioni osservati): fissa ilnumero minimo di osservazioni da utilizzare come serie storiche;

• “Maximum number of observed samples” (Numero massimo di campioni osservati): fissa ilnumero massimo di osservazioni da utilizzare come serie storiche;

Il GBM per la simulazione dei tassi di cambio

Quando utilizziamo la strategia di calibrazione dei tassi di cambio, il modello di riferimento èquello descritto dalle seguenti dinamiche:

)()()()()( tdWtXdttXrrtdX fd [5.7]dove rd e rf indicano, rispettivamente, il tasso di interesse a breve domestico privo di rischio e iltasso di interesse a breve estero privo di rischio, σ indica la volatilità del tasso di cambio, X indica iltasso di cambio e rappresenta il valore, espresso in valuta domestica, di una quantità unitaria dellavaluta estera. I tassi a breve vengono calcolati estrapolando nella “Zero Rate Curve”, nelle curve dei tassi a brevedei due paesi, mentre la volatilità viene calcolata sulla base delle serie storiche del tasso di cambio. La valuta domestica è quella nella quale vengono espletati, effettuati, i pagamenti e definisce lamisura del rischio neutrale da utilizzare per la valutazione. L'equazione di previsione di previsione della dinamica, viene utilizzata, ad esempio, quando ilmercato domestico è “EU” (Europa), il mercato estero è “US” (Stati Uniti, America) e il “Ticker”relativo al tasso di cambio è “USDEUR Curncy” che indica l'ammontare di euro corrispondenti adun dollaro. Se prendiamo in considerazione i medesimi mercati domestico ed estero ma volessimo prezzare ilreciproco del tasso di cambio (S = 1/X), nell'esempio come già accennato “USDEUR Curncy”, le

146

Page 164: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

dinamiche che dovremo utilizzare vengono trovate attraverso il Lemma di Itô e quindi attraverso leseguenti dinamiche:

dWtSdttSrrtX

dtdS df )()()()(

1)( 2

[5.8]

Fairmat automaticamente verifica la stringa del “Ticker” e, in dipendenza del mercato locale e delmercato estero, imposta le dinamiche in accordo con la [5.7] e con la [5.8].

I “Ticker” relativi alle valute supportati in Fairmat sono: – quelli trovati concatenando due delle seguenti stringhe di valute: “EUR”, “USD”, “GBP”,

“JPY”, “CHF”, “HKD” seguite dalla stringa di caratteri “Curncy” (ad esempio“EURUSDCurncy”, “USDCHFCurncy”, e via discorrendo);

– i tassi di cambio di riferimento della Banca Centrale Europea (BCE): indice EUCFUSD,indice EUCFGBP, indice EUCFJPY, indice EUCFCHF, indice EUCFHKD;

Mean Reverting Process

Il Mean Reverting Process più semplice (ovvero quello di Ornstein – Uhlenbeck) è il seguente: tstVVV tt )( [5.9]

dove η indica la velocità di reversione, V indica il livello di lungo termine per Vt (ovvero il livelloal quale tende Vt quando t tende a ∞, infinito), s indica il parametro per identificare la volatilità e ϵindica una distribuzione normale standardizzata. Il Mean Reverting Process è adatto per descrivere l'evoluzione dei prezzi delle materie prime o dialtre attività che sperimentano shock di breve termine muovendo i prezzi al di fuori del loro livellodi lungo termine (o del loro livello medio) e al di fuori del controllo da parte delle forze di mercato(domanda e offerta) le quali poi spingono indietro i prezzi stessi, entro i loro livelli di lungotermine, i loro livelli medi. Se Vt indica il prezzo di una materia prima, allora esso potrebbe essere il costo marginale diproduzione di tale attività nel lungo periodo. Il Mean Reverting Process è anche adatto per modellare le dinamiche dei tassi di interesse, come adesempio viene fatto dal modello di Vasicek o dal modello di Cox – Ingersoll – Ross. Al fine della definizione del modello di Vasicek o del modello di Cox – Ingersoll – Ross, s deveessere definito come di seguito:

• s [5.10]per il modello di Vasicek

• tVs [5.11]

per il modello di Cox – Ingersoll – Ross

Utilizzo del Mean Reverting Process in Fairmat

147

Page 165: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

In Fairmat, nell'ambiente Stochastic Process, possiamo inserire un Mean Reverting Processselezionando il seguente percorso: Add S. Process → Standard Processes → Mean RevertingProcess. Appena inserito nell'ambiente Stochastic Process un Processo di Reversione Media, sono editabili iseguenti tab (figura 5.2): Data Source, Mean Reverting, Preview, Bounds, Jumps, Parameters eHistory. Analizzeremo ora nel dettaglio due dei tab mostrati nella figura 5.2, ovvero i tab DataSource e Mean Reverting, che sono i tab principali e più importanti. Il tab Data Source mostra e richiede di compilare i seguenti campi:

• “Binding type”: con il quale possiamo decidere se collegare il progetto ad una specifica seriedi dati (tramite la selezione della voce “Bind object to specific data”, o di scollegare ilprogetto a qualsiasi data source, con la conseguenza che le informazioni eventualmenteacquisite in precedenza andranno perse (tramite la selezione della voce “Unbind object datasource (binding info will be lost”) oppure ancora, infine, di disabilitare il collegamento aidati (tramite la selezione della voce “Disable Data Binding”);

Qualora avessimo deciso di valorizzare il campo “Binding type” selezionando la voce “Bind objectto specific data” diverranno poi selezionabili e valorizzabili i seguenti campi:

• “Market”: con il quale andiamo ad indicare il mercato di riferimento; • “Foreign Market”: con il quale andiamo ad indicare il mercato estero di riferimento; • “Ticker”; • “Calibration Strategy”: con il quale specifichiamo la strategia di calibrazione da imporre al

modello stocastico generato; in tal senso è possibile una sola scelta ovvero “Ornstein –Uhlenbeck Historical Calibration” (calibrazione basata sui dati storici ottenuti attraversol'applicazione del modello Ornstein – Uhlenbeck);

Infine, premendo sul tasto “Calibration Options” possiamo impostare per la “Calibration Strategy”scelta:

1) “Interval in years on which the samples must be found” (intervallo di tempo, espresso inanni, sul quale si deve effettuare il campionamento);

2) “Minimum number of observations in historical series” (Numero minimo di osservazionidelle serie storiche);

3) “Maximum number of observations in historical series” (Numero massimo di osservazionidelle serie storiche);

Si noti che i campi “Market”, “Foreign Market” e “Ticker” sono esportabili mediante l'attivazionedel relativo flag “Publish”.

Il tab Mean Reverting mostrerà poi i seguenti campi:

• “Starting Value”: che equivale a V(0); • “Standard Deviation”: che equivale al parametro della volatilità s;• “Mean Reversion Rate” (tasso di reversione media): che equivale al parametro η, il quale, si

ricorda, indica la velocità media della reversione; • “Risk Premium” (premio al rischio): che indica il tasso di rendimento atteso al di sopra del

tasso di interesse costante privo di rischio; • “Long-term Mean”: che equivale a V , il livello di lungo termine di Vt;

Si noti che la lunghezza di Δt viene definita selezionando il seguente percorso: Settings →Numerical Settings → campo # of discrete time steps.

148

Page 166: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

(Figura 5.2: Mean Reverting Process, campi da compilare)

(Figura 5.2b: Mean Reverting Process, esempio di andamento grafico)

Log-Mean Reverting Process

149

Page 167: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Un altro tipo di Mean Reverting Process, ovvero il Log-Mean Reverting Process, è il seguente:

ttVVV

Vt

t

t )( [5.12]

dove η indica la velocità di reversione media, V indica il livello di lungo termine per Vt (ovvero illivello al quale tende Vt quando t tende a ∞, infinito), s è il parametro relativo alla volatilità e ϵrappresenta una distribuzione normale standardizzata.

Generic Itô Process

Il processo stocastico continuo nel tempo V(t) rappresentato dall'equazione dinamica: )),(()),(()( ttVtttVtV [5.13]

viene definito Generic Itô Process. In particolare: ϵ rappresenta una distribuzione normale standardizzata; )),(( ttV e )),(( ttV sonofunzioni note (e non di tipo casuale). La caratteristica principale del Generic Itô Process appena presentato è data dal fatto che icoefficienti relativi al flusso e alla varianza sono funzioni dello stato corrente e del tempo. La distribuzione di probabilità dell'incremento di questo processo, ovvero )(tV è di tipo normale

con media pari a )),(( ttV e varianza pari a tttV )),((2 . Il Generic Itô Process è il processo di tipo continuo (il processo stocastico di tipo continuo) piùgenerale.

Log-Itô Process

Il Log-Itô Process generalizzato per )ln(),( tt VtVF (chiamato Ft), diventa:

WtgFt

2

2

[5.14]

In altre parole, il processo per Ft è il seguente:

tt FFF 0 [5.15]

WtgVFt

2)ln(

2

0 [5.16]

Nella [5.16], la quale rappresenta un processo distribuito in modo normale con media pari a etg )2/( 2 varianza pari a T2 , in particolare, )ln( 0V indica il valore di base, di partenza,

tg )2/( 2 rappresenta il termine deterministico e W , infine, rappresenta il terminestocastico. Il processo per Vt è, invece, il seguente:

Wtgt eeVV 2/

0

2

[5.17]

La [5.17] rappresenta un processo distribuito in modo log-normale. Poisson Jump Process

150

Page 168: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Il Poisson Jump Process è un processo soggetto a salti (o eventi) di misura fissa o variabile, causale,per la quale i tempi di arrivo seguono una distribuzione casuale secondo Poisson. Premesso che λ denota il tasso medio di arrivo di un evento, durante un intervallo di tempo dilunghezza infinitesimale pari a dt, la probabilità che un evento occorra, accada, è data da λdt,mentre la probabilità che un evento non accada è data da (1 – λdt), evento complemento. L'evento è un salto di misura u(t), la quale può essere essa stessa una variabile casuale. Denotiamo con q(t) un processo poissoniano, allora l'incremento che il processo stesso hanell'intervallo ttt , , incremento denotato con Δdt, sarà pari a:

• 0 se l'evento non accade (si ricordi che la probabilità che l'evento non accade è pari a 1 –λdt;

• u(t) se l'evento accade (si ricordi che la probabilità che l'evento accade è pari a λdt;

Fairmat ci permette di combinare un Poisson Jump Process con un percorso deterministico di tipocontinuo (lo stesso processo poissoniano è disponibile solo attraverso specifici plug-ins). Questo tipo di processo ha un incremento pari a ΔV(t), per cui:

)()),(()),(()( tqttVgtttVftV [5.18]

dove )),(( ttVf e )),(( ttVg sono funzioni note (non casuali).

Tale incremento può essere anche combinato con un processo di diffusione, per cui possiamoriscrivere la precedente [5.18] nei seguenti termini:

)()),(()),(()),(()( tqttVgttVbtttVatV [5.19]Si noti che il Poisson Jump Process influenza il livello del rischio idiosincratico (così come illivello del rischio diversificabile) ma non anche il parametro di flusso.

Un esempio: GMB con Poisson Jump Process

Possiamo prendere visione, osservare, l'andamento del prezzo del petrolio come una combinazionedel Geometric Brownian Motion con un Poisson Jump Process; durante i periodi di normalità iprezzi fluttuano continuamente, ma i prezzi possono anche essere soggetti ad ampi rialzi o a pesantiribassi a causa di improvvisi cambiamenti nella condizioni politiche ed economiche. Per ottenere tale combinazione in Fairmat, dovremo innanzitutto selezionare il seguente percorso:Stochastic Process → Add S. Process → GBM. Dopo di ché, dovremo fare doppio click sul nuovo processo stocastico appena creato in modo dainserire i seguenti parametri (figura 5.3):

• “Base Value”: si supponga di inserire ad esempio il valore 100; • “Volatility”: si supponga di inserire ad esempio il valore 15%;

e poi scegliere nel box “Control Parameters” fra la funzione “Dividend Yield” o la funzione“Growth Rate, Risk Premium”. Dovremo poi aggiungere, inserire, un Poisson Jump Process avente, per ipotesi, un tasso medio diarrivo dell'evento (o Arrival Rate) pari a 135 ed un Loss of Value (Perdita di valore) pari al 75%(figura 5.4). Nell'esempio della figura 5.4, notiamo che sono stati forzati i valori di default deipercorsi e dei path, impostando, rispettivamente, i valori 1000 e 100.

(Figura 5.3: Esempio di combinazione GBM con il Poisson Jump Process 1)

151

Page 169: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

(Figura 5.4: Esempio di combinazione GBM con il Poisson Jump Process 2)

La calibrazione dei modelli

Il file XML Interest Rate Market Data

Il file XML Interest Rate Market Data contiene informazioni che descrivono i dati relativi ai tassi diinteresse per un dato mercato in corrispondenza di una determinata scadenza, o durata. Possiamo utilizzare tali dati per calibrare i modelli sui tassi di interesse. Per i campi dei vettori, i valori delle differenti componenti vengono separati attraverso il tabulatore.Per i campi delle matrici, ciascuna riga viene costruita come se fosse un vettore per cui le varielinee vengono separate dal carrello di ritorno e dalla linea di avanzamento (che corrisponde allalinea standard di terminazione nei sistemi Windows). Le scadenze, le maturities, vengono misurate in frazioni d'anno, mentre i tassi e le volatilitàvengono scritte con il loro valore corretto senza però il simbolo % (percentuale) – per cui un tassodel 3,2% viene scritto come 0.032; una volatilità del 15,2% viene scritta come 0,152. I campi contenuti nei file Interest Rate Market Data sono i seguenti:

152

Page 170: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

• Market (mercato): è una stringa che descrive il mercato al quale i dati si riferiscono; lepossibili scelte sono: EU (per il mercato europeo), US (per il mercato americano), UK (per ilmercato del Regno Unito), SW (per il mercato svizzero), GB (per il mercato britannico), JP(per il mercato giapponese);

• Date (data): indica la data alla quale i dati si riferiscono; il formato della data del tipoddmmyyyy ovvero day/month/year (gg/mm/aaaa, giorno/mese/anno);

• CashRates (tassi a breve): è un vettore contenente i valori dei tassi a breve (ovvero conscadenza minima di un giorno e massima di 6 mesi);

• CashDates (scadenze dei tassi a breve): è un vettore contenente le scadenze corrispondenticiascuna ai valori contenuti nel campo CashRates;

• FRARates (tassi F.R.A.): è un vettore contenente i valori dei tassi sui contratti F.R.A.(Forward Rate Agreement);

• FRADates (scadenze dei F.R.A.): è un vettore contenente le scadenze corrispondenticiascuna ai valori nel campo FRARates (ovvero le frazioni d'anno dopo la quale vienecorrisposto il F.R.A.);

• SwapRates (tassi Swap): è un vettore contenente i valori dei tassi sui contratti Swap; • SwapDates (scadenze dei Swap): è un vettore contenente le scadenze corrispondenti

ciascuna ai valori nel campo SwapRates; • SwapCouponYear (cedola annua dello Swap): è un numero intero che rappresenta il numero

di pagamenti all'anno relativi alla parte fissa del contratto Swap o per il quale vengonoquotati i tassi Swap;

• ZRMarket (tassi zero coupon di mercato): è un vettore contenente i valori dei tassi sui zerocoupon bond (da utilizzare, da considerare come tassi di interesse composti di tipo continuo,così che il prezzo dello zero coupon bond con scadenza al tempo T sia data da exp (-ZRMarket(T)*T);

• ZRMarketDates (yield curve): è un vettore contenente le scadenze corrispondenti ciascuna aivalori contenuti nel campo ZRMarket;

• ATMCapVolatility (volatilità degli ATMCap): è un vettore contenente le volatilità Cap delmodello di Black per lo strike at the money, ovvero alla pari, avente diverse scadenze;

• CapTenor (tenore dei Cap): indica la frazione compresa fra due pagamenti di opzioni di tipoCap per le quali siano dati il vettore ATMCapVolatility e la matrice CapVolatility;

• CapMaturity (scadenza dei Cap): è un vettore contenente le scadenze corrispondenti aciascun Cap (di riferimento sia per il vettore ATMCapVolatility che per la matriceCapVolatility);

• CapRate (tassi Cap): è un vettore contenente i strike price per le opzioni di tipo Cap e diriferimento per la matrice CapVolatility;

• CapVolatility (volatilità dei Cap): è una matrice contenente i valori relativi alle volatilità deiCap; l'elemento CapVolatility [i, j] indica la volatilità (determinata secondo il modello diBlack) del Cap con scadenza pari al valore contenuto nel campo CapMaturity [i] e strikeprice uguale, corrispondente, al valore contenuto nel campo CapRate [j];

• Swaption Tenor (tenore delle swaption): indica la frazione d'anno intercorrente fra duepagamenti relativi alla parte fissa del contratto Swap, per il quale viene data la matrice dellevolatilità delle swaption;

• OptionMaturity (scadenza opzione): è un vettore contenente le scadenze corrispondenti aciascuna swaption contenuta, a sua volta, all'interno della matrice SwaptionVolatility (ovverole scadenze in corrispondenza delle quali il detentore della swaption può decidere seacquistare o meno lo swap);

• SwapDuration (duration dello Swap): è un vettore contenente i valori per le duration dei

153

Page 171: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Swap connesse alle swaption contenute, a loro volta, all'interno della matriceSwaptionVolatility (la durata dello Swap può essere acquisita dal detentore della swaption);

• SwaptionVolatility (volatilità delle swaptions): è una matrice contenente i valori per levolatilità delle swaption; l'elemento SwapVolatility [i, j] indica la volatilità (determinatasecondo il modello di Black) della swaption che può essere esercitata al tempocorrispondente alla scadenza contenuta nel campo OptionMaturity [i] e con una durationdello swap sottostante corrispondente al valore contenuto nel campo SwapDuration [j];

L'ordine dei vari campi all'interno del file non è rilevante e, data una certa calibrazione, può essereche non tutti i campi siano necessari ai fini del calcolo. Se un valore di volatilità non è rilevabile,perché non osservabile sul mercato, il suo corrispondente valore nella matrice CapVolatility oSwapVolatility è da porre pari a 0.

Nella pagina successiva si riporta un esempio di file formato XML Interest Rate Market Data. (I valori visualizzati in questo esempio sono riportati solo per esemplificazione)

154

<InterestRateMarketData> <Market>EU</Market>

<Date>31122010</Date>

<CashRates>0.0051 0.0067 0.008 0.0094 0.0097 0.0117</CashRates>

<CashDates>0.0192 0.0833 0.1667 0.25 0.3333 0.5</CashDates>

<FRARates>0.0134 0.0153</FRARates>

<FRADates>0.5 1</FRADates>

<SwapRates>0.0124 0.0147 0.0162 0.0178 0.0194 0.0215 0.0232 0.0242 0.0259 0.0265 0.0284 0.03 0.0306 0.0305 0.0299 0.0288 0.0288 0.0285</SwapRates>

<SwapDates>1 2 3 4 5 6 7 8 9 10 12 15 20 25 30 35 40 50</SwapDates>

<SwapCouponYear>1</SwapCouponYear>

<SwaptionTenor>1</SwaptionTenor>

<ZRMarket>0.0058 0.0054 0.0059 0.0063 0.008 0.0096 0.0122 0.012 0.0129 0.0138 0.0159 0.0176 0.0194 0.0213 0.0232 0.0243 0.0261 0.027 0.0291 0.0307 0.0316 0.0305 0.0291 0.0273 0.0269</ZRMarket>

<ZRMarketDates>0.0027 0.0192 0.0384 0.0833 0.1667 0.25 0.5 0.75 1 2 3 4 5 6 7 8 9 10 12 15 20 25 30 40 50</ZRMarketDates>

<ATMCapVolatility>0.4305 0.5182 0.4666 0.4542 0.4257 0.3913 0.3613 0.3351 0.3211 0.3068 0.2812 0.2569 0.2432</ATMCapVolatility>

<CapTenor>0.5</CapTenor>

<CapMaturity>1 2 3 4 5 6 7 8 9 10 12 15 20</CapMaturity>

<CapRate>0.0175 0.02 0.0225 0.025 0.03 0.035 0.04 0.05 0.06 0.07 0.08 0.1</CapRate>

<OptionMaturity>0.0833 0.25 0.5 1 2 3 4 5 7 10</OptionMaturity>

<SwapDuration>1 2 3 4 5 6 7 8 9 10 15 20 25 30</SwapDuration>

<CapVolatility>0.0000 0.5262 0.4714 0.5135 0.5417 0.5208 0.5551 0.5698 0.5754 0.5857 0.5845 0.5984 0.0000 0.5180 0.5490 0.4939 0.5139 0.5183 0.5235 0.5311 0.5314 0.5404 0.5433 0.5429 0.0000 0.4719 0.4762 0.4695 0.4746 0.4763 0.4626 0.4689 0.4683 0.4767 0.4770 0.4784 0.0000 0.4514 0.4437 0.4355 0.4220 0.4341 0.4153 0.4225 0.4210 0.4317 0.4289 0.4402 0.0000 0.4194 0.4099 0.3993 0.3829 0.3833 0.3687 0.3703 0.3734 0.3775 0.3810 0.3909 0.0000 0.4013 0.3854 0.3712 0.3491 0.3455 0.3303 0.3303 0.3344 0.3345 0.3421 0.3477 0.0000 0.3839 0.3646 0.3468 0.3222 0.3188 0.3025 0.2932 0.2972 0.3002 0.3135 0.3198 0.0000 0.3684 0.3524 0.3395 0.3034 0.2962 0.2769 0.2773 0.2731 0.2774 0.2830 0.2925 0.0000 0.3559 0.3387 0.3276 0.2911 0.2817 0.2651 0.2601 0.2557 0.2608 0.2722 0.2766 0.0000 0.3474 0.3336 0.2607 0.2780 0.2393 0.2508 0.2424 0.2439 0.2476 0.2579 0.2652 0.0000 0.3367 0.3124 0.2994 0.2669 0.2496 0.2344 0.2229 0.2283 0.2340 0.2372 0.2437 0.0000 0.3173 0.2977 0.2643 0.2528 0.2361 0.2204 0.2074 0.2138 0.2156 0.2256 0.2357 0.0000 0.2992 0.2889 0.2585 0.2369 0.2285 0.2072 0.2025 0.2028 0.2005 0.2117 0.2211</CapVolatility>

<SwaptionsVolatility>0.4322 0.3785 0.3917 0.3999 0.4093 0.3968 0.3908 0.3901 0.3914 0.3909 0.3698 0.3714 0.3804 0.3984 0.4909 0.4149 0.4121 0.4113 0.4034 0.3780 0.3681 0.3558 0.3536 0.3480 0.3352 0.3502 0.3690 0.3967 0.4417 0.4407 0.4207 0.4057 0.3852 0.3638 0.3519 0.3355 0.3312 0.3303 0.3163 0.3298 0.3476 0.3725 0.5060 0.4332 0.3984 0.3798 0.3619 0.3453 0.3352 0.3280 0.3207 0.3150 0.3007 0.3000 0.3090 0.3304 0.4811 0.3977 0.3638 0.3320 0.3194 0.3074 0.2921 0.2935 0.2877 0.2826 0.2742 0.2737 0.2876 0.3067 0.4059 0.3278 0.3087 0.3023 0.2904 0.2842 0.2794 0.2718 0.2678 0.2639 0.2484 0.2537 0.2719 0.2881 0.3249 0.2774 0.2698 0.2629 0.2552 0.2485 0.2519 0.2403 0.2391 0.2389 0.2312 0.2379 0.2534 0.2642 0.2811 0.2503 0.2427 0.2299 0.2334 0.2310 0.2292 0.2276 0.2274 0.2256 0.2164 0.2212 0.2350 0.2503 0.2264 0.2071 0.2055 0.2038 0.2037 0.2050 0.1992 0.2085 0.2074 0.2118 0.2070 0.2145 0.2238 0.2357 0.1944 0.1852 0.1919 0.1858 0.1962 0.1936 0.1969 0.2024 0.1981 0.2022 0.2060 0.2186 0.2291 0.2282</SwaptionsVolatility> </InterestRateMarketData>

Page 172: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Il file XML Call Price Market Data

Il file XML Call Price Market Data contiene informazioni che descrivono i dati relativi alle opzioni

155

Page 173: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

scritte su un certo titolo azionario (o su un certo indice azionario) in corrispondenza di unadeterminata data. Possiamo utilizzare tali dati per calibrare il modello di Helston. Per i campi dei vettori, i valori delle differenti componenti vengono separati attraverso il tabulatore.Per i campi delle matrici, ciascuna riga viene costruita come se fosse un vettore per cui le varielinee vengono separate dal carrello di ritorno e dalla linea di avanzamento (che corrisponde allalinea standard di terminazione nei sistemi Windows). Le scadenze, le maturities, vengono misurate in frazioni d'anno. I campi contenuti nel file Call Price Market Data sono i seguenti:

• Market (mercato): è una stringa di caratteri che specifica il mercato di riferimento dell'indiceazionario sottostante o del titolo azionario sottostante;

• Ticker: è una stringa di caratteri che specifica il nome del titolo azionario sottostante odell'indice azionario sottostante;

• Date (date): è la data alla quale l'opzione si riferisce. Il formato è del tipo ddmmyyyy,ovvero day/month/year (gg/mm/aaaa, giorno/mese/anno);

• S0: indica il valore del titolo in corrispondenza della data indicata, riportata nel campo Date; • StrikeATM: indica il valore dello strike per le opzioni at the money, ovvero alla pari; • PutPriceATM (Prezzo Put ATM): è il vettore dei prezzi put per lo strike at the money, ovvero

alla pari, in corrispondenza delle differenti scadenze; • CallPriceATM (Prezzo CallATM): è il vettore dei prezzi call per lo strike at the money,

ovvero alla pari, in corrispondenza delle differenti scadenze; • MaturityATM (Scadenze ATM): è il vettore delle scadenze corrispondenti ai campi dei

vettori StrikeATM, PutPriceATM e CallPriceATM; • Maturity (Scadenze): è il vettore delle scadenze corrispondenti ai campi della matrice

CallPrice; • Strike (Prezzi Strike): è il vettore dei valori dei strike price corrispondenti ai campi della

matrice CallPrice; • CallPrice (Prezzi call): è la matrice dei prezzi; l'elemento CallPrice [i; j] è il prezzo

dell'opzione call con scadenza corrispondente al valore contenuto nel campo Maturity [i] econ strike price corrispondente al valore contenuto nel campo Strike [j];

• DividendYield: è il vettore dei dividend yield (ovvero, dei rapporti dividendo/prezzo) incorrispondenza delle differenti scadenze <tt>;

• DividendYieldMaturity: è il vettore delle scadenze corrispondenti ciascuna ai campi delvettore DividenYield;

• Volatility (volatilità, varianza): è la matrice delle opzioni call sottointese le varianze;l'elemento Volatility [i; j] è la varianza sottointesa dell'opzione call con scadenzacorrispondente al campo Maturity [i] e con strike price corrispondente al valore contenutonel campo Strike [j];

L'ordine dei vari campi all'interno del file non è importante e, data una certa calibrazione, puòessere che non tutti i campi siano necessari ai fini del calcolo. Per esempio, se la matrice CallPrice non è definita al fine di calibrare il modello di Helston, talematrice verrà definita sotto forma di altre informazioni. Lo stesso accade per il vettoreDividendYield che viene calcolata attraverso la relazione di parità put – call sfruttando il vettore diinformazioni ATM. Se il prezzo di un'opzione non è rilevabile, perché non osservabile sul mercato, il suocorrispondente valore nella matrice CallPrice viene posto pari a -1.

156

Page 174: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Si riporta di seguito un esempio di file formato XML Call Price Market Data. ( I valori visualizzati in questo esempio sono riportati solo per esemplificazione)

La modellazione del rischio di credito

Con Fairmat (Versione Professional) possiamo stimare l'impatto dei vari eventi legati al rischio dicredito in uno schema di valutazione apposito così consentendoci di prezzare, appunto, i contrattiderivati sul rischio di credito, ovvero i cosiddetti Credit Derivatives – quali sono ad esempio i

157

<CallPriceMarketData>

<Ticker>YOURINDEX Index</Ticker>

<Date>31122010</Date>

<S0>2278.19</S0>

<StrikeATM>2300</StrikeATM>

<PutPriceATM>64 104.3 133.5 170 215.8 248.7 307.5 360 420.8 453 523.8</PutPriceATM>

<CallPriceATM>26.2 50.3 71.9 106.5 138.7 164.7 158.2 192.7 199.2 219.4 245.7</CallPriceATM>

<MaturityATM>0.03013698630136986 0.1068493150684932 0.2027397260273973 0.2794520547945206 0.3753424657534247 0.4520547945205479 0.5287671232876713 0.6246575342465753 0.7013698630136986 0.7780821917808219 0.8547945205479453</MaturityATM>

<Maturity>0.08333333333333333 0.1666666666666667 0.25 0.5 1 1.5 2</Maturity><Strike>1826.472 2054.781 2168.9355 2226.01275 2283.09 2340.16725 2397.2445 2511.399 2739.708</Strike>

<DividendYieldMaturity>0.03013698630136986 0.1068493150684932 0.2027397260273973 0.2794520547945206 0.3753424657534247 0.4520547945205479 0.5287671232876713 0.6246575342465753 0.7013698630136986 0.7780821917808219 0.8547945205479453 0.9506849315068493 1.027397260273973 1.123287671232877 1.2 1.276712328767123 1.372602739726027 1.449315068493151 1.526027397260274 1.621917808219178 1.698630136986301 1.794520547945206 1.871232876712329 1.947945205479452 2.024657534246575</DividendYieldMaturity>

<DividendYield>0.3083582699107246 0.1576927250328625 0.1035512734816964 0.0857649295704567 0.06353199968140713 0.06018800926350469 0.05684401884560224 0.0526640308232242 0.0499210405675944 0.0471780503119646 0.0444350600563348 0.05099526131696908 0.05624342232547651 0.06280362358611079 0.06108838166666165 0.0593731397472125 0.05722908734790107 0.05551384542845193 0.05379860350900279 0.05165455110969136 0.05205709518318747 0.05256027527505761 0.05296281934855372 0.05336536342204984 0.05376790749554595</DividendYield>

<CallPrice>423.77483157 210.11162320 119.78575264 83.29481819 49.80012651 26.86670548 14.32315354 3.96225915 0.64832371423.56875474 222.47314901 138.70999051 104.15741296 69.65460789 44.87264704 28.17098089 9.92251465 1.21676272429.23833302 236.29677329 155.60135798 121.96691590 86.57364413 61.05213089 41.88246593 17.74412915 2.62122466450.16013959 271.51018063 195.78610592 162.61728033 129.62172641 102.40054998 79.55705517 44.87582262 11.59000226452.51392799 293.07304494 224.85747589 193.23219834 170.24391446 145.57164762 122.36514636 83.71141906 34.56883151444.26873704 296.72272759 233.56029727 202.13308815 193.50213715 172.39434010 149.85530708 110.99580551 56.55344395431.08367518 289.59312338 229.23753343 194.45350853 213.61384144 198.49451310 175.82118455 136.45687489 78.20811580</CallPrice>

<Volatility>0.42996300 0.33123400 0.29727500 0.28451800 0.25697500 0.23981300 0.23687700 0.24376300 0.292503000.36628900 0.30563000 0.27976000 0.26962100 0.24546900 0.23201800 0.22551400 0.21917000 0.227941000.34980900 0.29724400 0.27374900 0.26492600 0.24253500 0.23164200 0.22438000 0.21431700 0.210586000.32726100 0.28557400 0.26674500 0.25837200 0.24544000 0.23653900 0.22927600 0.21672100 0.201879000.29942100 0.26896300 0.25462000 0.24669400 0.24620600 0.24116500 0.23517900 0.22435600 0.207506000.28107600 0.25514100 0.24300700 0.23443800 0.24624800 0.24421000 0.23902700 0.22953700 0.214308000.26429300 0.23908400 0.22758700 0.21565700 0.24903600 0.25154400 0.24622200 0.23695200 0.22194900</Volatility></CallPriceMarketData><

Page 175: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Credit Default Swap (CDS), i First to Default (Ftd) e i Collateralized Debt Obbligations (CDO) – econsentendoci di prezzare anche i CVA (Credit Value Adjustment) e i DVA (Debt Value Adjustment). Tutte queste nuove funzionalità di valutazione utilizzano come variabile casuale di riferimento lavariabile causale time to default (tempo del default, letteralmente), la quale modellizza laprobabilità che nel tempo un dato Ente dichiari default, ovvero dichiari uno stato di insolvenza.

La variabile casuale time to default

Fairmat ci consente di calcolare esplicitamente i tempi di default di un ente emittente permettendocosì il pricing dei contratti derivati sul rischio di credito – ovvero i cosiddetti Credit Derivatives – ela stima del CVA (Credit Value Adjustment). La variabile casuale time to default può essere utilizzata sia per calcolare la probabilitàdeterministica neutrale al rischio di default sia per simulare esplicitamente i tempi di default in unasimulazione Monte Carlo. La variabile casuale time to default, denotata con il simbolo τ, è una variabile causale che può esseremodellata in vari modi. In particolare Fairmat implementa i modelli di intensità. Di default, di base,la probabilità della variabile casuale time to default può essere calcolata dalla funzione RNDP la cuisintassi è la seguente: RNDP (@randomvar; date) [5.20]dove @randomvar indica la variabile causale mentre date indica il tempo la stima della probabilitàdi default fa riferimento. Ecco un esempio per la funzione appena esplicitata: RNDP (@v1; pd[1]). Al fine di modellare l'avvento di un default, di una dichiarazione di insolvenza, o per unasimulazione deterministica o per una simulazione Monte Carlo, deve essere creata una variabilecausale time to default. Per far ciò è necessario selezionare il seguente percorso (figura 5.5):Parameters & Functions → Add → Function defined by value interpolation Nella funzione così aggiunta è possibile importare una struttura per scadenze degli spread sui CDSo una struttura per scadenze degli spread sugli Asset Swap.

Per importare gli spread sui CDS da Bloomberg, in particolare, è necessario selezionare il tab DataSource e poi specificare il mercato di riferimento (ad esempio EU, US, e via discorrendo), la radicedel ticker di Bloomberg (ad esempio ITALY CDS USD SR) e il tipo di dati (ad esempio CreditDefault Swap Curve). Dopo di ché si dovrà cliccare sul comando “Update”. In questo modo Fairmatscaricherà tutti gli spread sui CDS disponibili per lo specifico emittente (figura 5.6).

(Figura 5.5: Creazione della variabile casuale time to default, passo 1)

158

Page 176: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

(Figura 5.6: Creazione della variabile casuale time to default, passo 2)

A questo punto, dovremo passare, selezionandolo, all'ambiente Random Variables in modo dainserire il simulatore della variabile casuale time to default (selezionando Time to default simulator– figura 5.7). Nella finestra di dialogo di creazione del simulatore Time to default simulator, sarà poinecessario specificare il tasso di recupero assunto, ipotizzato (campo “Recovery Rate”), il tenoredegli spread sui CDS (campo “Tenor”), a struttura per scadenze degli spread (campo “Reference toCDS structure”) e la zero rate curve (campo “Reference to ZR spreads”) - queste ultime duevariabili devono essere precedute dal simbolo @.

159

Page 177: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Selezionando il tab Preview è poi possibile vedere i tempi di default simulati.

(Figura 5.7: Creazione della variabile casuale time to defautl, passo 3)

La variabile casuale time to default τ è il primo salto temporale di un processo poissoniano, per cuiessa ha una componente esogena che è indipendente da tutte le informazioni sul default liberamentedisponibili sul mercato. Questa famiglia di modelli è adatta a modellare i credit spreads e, nella loro formulazione base,sono facili da calibrare ai CDS.

Time Inhomogeneous Poisson Processes

Ci muoveremo ora verso i processi poissoniani a tempi disomogenei (Time Inhomogeneous PoissonProcesses) dove la probabilità del primo default (del primo salto) è una funzione dipendente daltempo. Consideriamo un'intensità deterministica variabile in base al tempo )(t , funzione positiva econtinua a destra, allora l'intensità cumulata (o funzione di Hazard) è la seguente:

t

duut0

)(:)( [5.21]

Se Mt è un processo poissoniano standard (avente intensità uno), allora il processo poissoniano atempi disomogenei Nt con intensità )(t si può descrivere attraverso la seguente:

)(tt MN [5.22]per cui N avrà il primo salto temporale in τ il che implica, a sua volta, che M avrà il primo saltotemporale in )( ; vale il viceversa.

Dalle proprietà dei processi poissoniani si ha: :)( t ~ EXP(1) [5.23]

160

Page 178: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

invertendo la [8.23] si avrà: )(1 [5.24]

con che indica la variabile casuale esponenziale standard, il che suggerisce implicitamente

come simulare la variabile casuale time to default. Avremo facilmente anche: )(exp)(exp)()(

)()()()()(

tstQsQ

tsQtsQtsQ

[5.25]

ed in particolare, la formula:

t

dssttQ0

)(exp)(exp [5.26]

La natura variabile in base al tempo di γ consente di tenere conto di una possibile struttura perscadenze dei credit spread. E' questo, in effetti, il modello che viene utilizzato per depurare leprobabilità di default dalle quotazioni dei CDS. Il processo poissoniano a tempi disomogenei, con intensità variabile in base al tempo )(t , è laforma ridotta del modello utilizzato sul mercato per depurare le probabilità di default dallequotazioni dei CDS. Considerando il tasso di azzardo, di rischio, )(t come una funzionedeterministica e costante a tratti del tipo:

)(t =γi per ii TTt ,1 [5.27]dove le Ti attraversano, indicano, le scadenze rilevanti. Notiamo che:

)(1)(

1)(

11

0

)()()()( tt

t

iiii

t

TtTTdsst

[5.28]

dove β(t) rappresenta l'indice della prima Ti a seguito di t. E' necessario fissare:

j

iiii

T

j TTdssj

11

0

)()(: [5.29]

Per calcolare le scadenze dei CDS, dove R indica il fair value, la quotazione equa, del contratto e αindica il tenore, avremo la seguente:

b

a

i

b

a

T

T

uGD

b

ai

Tii

T

T

uuGDba

eduPL

eRTP

eduTuPRLRCDS

)(),0(

),0(

)())(,0())(;,,0(

)(

1

)(

)(1)(,

[5.30]

Così che, con la costante a tratti γ, otteniamo:

161

Page 179: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

i

i

iii

i

i

i

iii

T

T

Tub

aiiGD

b

ai

Tii

T

T

iTu

GDba

duuPeL

eRTP

duTuuPeRLRCDS

1

11

1

)11

),0(

),0(

))(,0())(;,,0(

)(

1

1

)(

1(

,

[5.31]

Nel mercato si osservano Ta = 0 e Tb = 1y, 2y, 3y … con tenore α (per esempio si può ipotizzare cheTi si resetti ogni trimestre, trimestralmente) delle quotazioni al fair value R per Tb. Allora possiamorisolvere le equazioni di cui sopra così:

;0):;,,0( 143211,01,0 GDMKT

yy LRCDS [5.32]

;...0)::6;;,,0( 2875

12,02,0 GD

MKTyy LRCDS [5.33]

e così via, trovando in corrispondenza di ciascun tempo i nuovi quattro parametri di intensità.

Simulazione dei tempi di default

Assumendo di aver rilevato il tasso di azzardo, di rischio (positivo deterministico), γ dallequotazioni di mercato dei CDS possiamo simulare il tempo di default γ partendo da )(1 ,seguendo questo schema ed i seguenti passi:

1) simulare una variabile causale esponenziale standard del tipo m ,...,, 21 ;

2) per ciascun campione j , risolvere $)( jj rispetto a j ; si otterrà che le soluzioni

sono i campioni simulati m ,...,, 21 del tempo di default τ;

CDS

Un CDS (Credit Default Swap) è un contratto swap nel quale l'acquirente effettua un pagamento alvenditore ed in cambio riceve un payoff qualora l'emittente di uno strumento di credito, tipicamenteun bond, un titolo obbligazionario, dichiara uno stato di insolvenza o di default. Perciò nel caso di un default legato ad un prestito o di un qualunque altro evento legato al rischio dicredito, il venditore del CDS dovrà compensare l'acquirente della perdita occorsa. Fairmat, versione Professional, ci permette di prezzare i contratti CDS o utilizzando unasimulazione deterministica o una simulazione Monte Carlo. Entrambi i metodi richiedono ladefinizione di una variabile casuale time to default.

Di seguito vedremo nel dettaglio come prezzare il CDS, i cui dati vengono riportati nella tabella 5.1che segue, in Fairmat utilizzando sia la simulazione deterministica che la simulazione Monte Carlo.

162

Page 180: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

(Tabella 5.1 – Riepilogo dati esempio CDS)

Una volta inserita la variabile casuale time to default simulator possiamo prezzare il CDS. Lavariabile casuale è necessaria per calcolare la probabilità di default neutrale al rischio e la suadistribuzione.

Implementazione deterministica

La funzione RNDP può essere utilizzata per calcolare la probabilità di default al tempo delladichiarazione di insolvenza. La funzione richiede una variabile casuale e il tempo fino al quale deveessere stimata la probabilità di default (ad esempio RNDP (@v1; pd[1])). Il Mark to Market del CDS (che sarà negativo per il venditore, il writer, del contratto derivato) saràuguale al valore scontato, attualizzato, della perdita derivante dal default (ovvero 1 – RecoveryRate) moltiplicata per il capitale (Principal) N e per la probabilità di default neutrale al rischioosservata fra pd(t) e pd(t-1) (od osservata in pd(t) per il primo periodo). Si veda anche in tal sensola figura 5.8.

(Figura 157: CDS in Fairmat, implementazione deterministica)

163

Principal (Capital) $1.000.000,00Recovery Rate (Tasso di recupero) 40%Reference Entity (Ente di riferimento) Repubblica ItalianaStart Date (Data Inizio) 10/07/2012End Date (Data Fine) 10/07/2013Frequency (Frequenza di pagamento) TrimestraleBuyer Premium (Premio all'acquirente) $ 100.000 al 06/07/2012

Page 181: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

Simulazione Monte Carlo

In Fairmat possiamo stimare il valore di un CDS utilizzando la simulazione dei tempi di defaultMonte Carlo. Come si Il Mark to Market del CDS (negativo per il venditore, il writer, del contrattoderivato) sarà uguale alla somma dei valori attuali delle perdite derivanti dal default (ovvero 1 –Recovery Rate) moltiplicata per il capitale (Principal) N, se occorre un default, o a zero, altrimenti,in caso contrario. Si veda anche in tal senso la figura 5.9.

(Figura 5.9: CDS in Fairmat, Simulazione Monte Carlo)

CVA

Il Credit Value Adjustment (CVA) è un aggiustamento fatto al valore del contratto in considerazionedel rischio unilaterale di controparte. Questa è una simulazione nella quale si assume che soltanto launa delle due parti contraenti può dichiarare default mentre viene assunto, ipotizzato, il fatto che,dall'altra parte, dall'altro lato, l'investitore che sta effettuando il calcolo dell'aggiustamento siaimmune da rischi di insolvenza. La formula fondamentale per la valutazione del rischio di controparte è la seguente:

)(),(1),(1),( 2022020 2 NPVtDLGDETtETtE Ttt

D [5.34]

dove ),(0 TtE D indica il payoff per l'investitore immune dal rischio di insolvenza, τ2 indica iltempo di default della controparte (ovvero il momento nel quale la controparte dichiara lo stato diinsolvenza), LGD indica la Loss Given Default, ovvero la perdita determinata dal default e data da(1 – Recovery Rate), ),( 2tD indica il fattore di attualizzazione, o di sconto, e indica il valore del

),()( 2220 TENPV conratto al momento del default della controparte, al momento delladichiarazione di insolvenza della controparte. Se non vi è nell'immediato un default, il payoff si ridurrà ad un lascito libero da problemi di

164

Page 182: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

insolvenza. Nel caso in cui vi sia nell'immediato, o a breve, un default verranno ricevuti i solipagamenti corrisposti prima della data del default; in particolare, se occorrerà il default e il valoreresiduo del contratto è positivo, allora l'investitore perderà parte di questo valore (per un valoreesattamente pari a LGD, Loss Given Default); viceversa, se il valore residuo del contratto ènegativo, allora l'investitore dovrà pagare interamente tale valore. Ecco perchè il secondo terminedel membro di destra della [5.34] viene definito CVA. Nell'esempio riportato con le figure 5.10 e 5.11, trattiamo uno swap fisso contro variabile dove soloil pagatore del tasso variabile è immune al rischio di insolvenza. Una volta modellato lo swap, dal punto di vista dell'investitore immune al rischio di insolvenza,così come mostrato nella figura 5.10, si dovrà trascinare l'operatore CVA dalla barra degli strumentie farlo "cadere" nell'ambiente Option Map dietro la strip di swap inserita precedentemente.

(Figura 5.10: CVA in Fairmat 1)

Poi, con un doppio click sull'operatore CVA appena creato, appena inserito, sarà possibilespecificare il tasso di recupero (campo "Recovery Rate") e le variabili casuali che simulano i tempidi default della controparte (campo "Counterparty times to default"). Si veda anche la figura 5.11. La valutazione così condotta ci restituirà il valore aggiustato, corretto, del contratto swap oggettodella transazione fra le parti contraenti.

165

Page 183: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

CAPITOLO 5 – LA MODELLAZIONE DEI CONTRATTI FINANZIARI

(Figura 5.11: CVA in Fairmat 2)

166

Page 184: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

PARTE IIESEMPI

E APPLICAZIONI

• TUTORIAL IVANILLA INTEREST SWAP

• TUTORIAL IIFIXED – FLOAT CROSS CURRENCY

• TUTORIAL IIIACCRUAL SWAP

• TUTORIAL IV PATH DEPENDENCE

• TUTORIAL VSWAP WITH ASIAN OPTION

• TUTORIAL VIRELOAD3 BOND

• TUTORIAL VIICONVERTENDO BPM WITH WARRANT

Page 185: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I

VANILLAINTEREST

SWAP

Page 186: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I – VANILLA INTEREST SWAP

In questo tutorial vedremo un esempio di valutazione di un Vanilla Interest Swap, ovvero unaccordo fra due parti – Parte A e Parte B – di scambio dei flussi di cassa (fisso contro variabile)espressi nella stessa valuta. Si tratta quindi di un'operazione finanziaria caratterizzata dallo scambiotra due parti di flussi di interesse facenti riferimento ad importi nominali (ovvero i valori dei capitalinozionali) che non vengono trasferiti né all'inizio né alla conclusione della transazione. Inoltre, ilregolamento dei flussi di interesse fra le controparti avviene in via differenziale.

Con la tabella I.1, di seguito riportata, proponiamo la scheda tecnica del contratto derivato cheandremo ad analizzare e denominato “Plain Vanilla”:

(Tabella I.1 – Scheda tecnica contratto Plain Vanilla)

Dove tutte le payment dates vengono aggiustate, corrette, seguendo la convenzione ModifiedFollowing Business Day. Osservando ancora una volta la scheda tecnica soprariportata, possiamoosservare le principali caratteristiche del contratto:

1) la differente frequenza di pagamento per le parti: Annuale per la Parte A, Semestrale per laParte B;

2) le differenti caratteristiche del capitale nozionale di riferimento per le parti: per la Parte A ilnozionale è, infatti, di tipo Bullet, ovvero fisso, mentre per la Parte B il nozionale è inAmortizing, ovvero soggetto ad ammortamento;

3) una differente Day Count Fraction per le parti: per la Parte A verrà, infatti, applicata laconvenzione 30/360 Unadjusted; mentre per la Parte B verrà, invece, applicata laconvenzione Act/360 Adjusted;

Il modo più semplice per valutare il contratto derivato Vanilla Interest Swap, prendendo come datadi riferimento per la valutazione la Trade Date (o la Valuation Date) – ovvero la Data diNegoziazione del contratto, o la Data di Valutazione – è quello basato sui tassi di interesse forward(a lungo termine) derivanti dalla Zero Rate Curve disponibile appunto alla Valuation Date. Con iltermine Zero Rate Curve ci riferiamo alla struttura per scadenze dei tassi di interesse; il risultato delmetodo di inferenza statistica di bootstrap parte dai tassi spot (a breve termine) disponibili sul

167

-

22/03/200524/03/200524/03/2010

3,2165%

-

Up-FrontCapitale Parte A 1.000.000,00 (Bullet)Capitale Parte B 1.000.000,00 (Amortizing)Data NegoziazioneData Inizio ContrattoData di Scadenza Frequenza di pagamento Parte A AnnualeFrequenza di pagamento Parte B Semestrale

Scambio Parte A Parte BDal 24/03/2005 al 24/03/2010 Euribor a 6 Mesi

Convenzione Parte A Parte B

Date di ResetAdvance,

2 giorni

Day Count Fraction30/360,

UnadjustedAct/360 Adjusted

(Modified Following)

Page 187: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I – VANILLA INTEREST SWAP

mercato (riferendosi ai valori di chiusura). I tassi forward e i risultati del processo stocastico sottostante al contratto che andremo poi amodellare in Fairmat, ovvero Zr, seguono il regime di interesse composto continuo.

Oltre alle informazioni recuperabili dalla scheda tecnica di cui alla tabella I.1, dovremo caricare inun nuovo file Fairmat (.fair) anche i seguenti vector dates, riportati nel dettaglio attraverso la tabellaI.2, sottoriportata:

(Tabella I.2 – Vector dates da caricare per la valutazione del Plain Vanilla)

Con la figura I.1 riepiloghiamo i dati del tutorial che dovremo inserire nell'ambiente Parameters &Functions una volta aperto il file .fair in Fairmat. I vettori Pda_A, Pda_B e Rd_B (Vector's Transformation) e i vettori Cvg_A e Cvg_B (Vector'sDifference Transformation) derivano dai vettori di input Pdu_A e Pdu_B utilizzando,rispettivamente, le funzioni di conversione Date's Vector Adjustment Transformation e Date'sVector Differences Transformation. La prima data di reset (ovvero il primo elemento del vettore Rd_B) coincide esattamente con laTrade Date. Dal momento che si assume che la Trade Date coincide con la Valuation Date e che idati di mercato si riferiscono ai valori di chiusura, alla Valuation Date (ovvero alla data del22/03/2005) il primo valore dell'Euribor a 6 mesi è già noto, è già conosciuto, e quindi verrà trattatocome un dato storico di mercato.

168

Nr

1 24/03/2006 24/09/2005 1.000.000,002 24/03/2007 24/03/2006 900.000,003 24/03/2008 24/09/2006 800.000,004 24/03/2009 24/03/2007 700.000,005 24/03/2010 24/09/2007 600.000,006 24/03/2008 500.000,007 24/09/2008 400.000,008 24/03/2009 300.000,009 24/09/2009 200.000,0010 24/03/2010 100.000,00

Payment Dates Unadjusted (Parte A)

Payment Dates Unadjusted (Parte B)

Capitale Nozionale Parte B (Amortizing)

Page 188: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I – VANILLA INTEREST SWAP

(Figura I.1: Riepilogo dati di input del tutorial Vanilla Interest Swap)

(Figura I.2: Modellazione dei payoff delle parti contrattuali nell'ambiente Option Map)

Passando alla modellazione nell'ambiente Option Map dei payoff che ciascuna parte contrattuale ètenuta a corrisponde all'altra in corrispondenza delle scadenze pattuite (figura I.2), i tab daselezionare per l'editing della Single Committed Option del ramo relativo alla Parte B sono Timingand Payoff e Discounting (figure I.3 e I.4).

169

Page 189: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I – VANILLA INTEREST SWAP

(Figura I.3: Modellazione del payoff a carico della Parte B, Editing Single Option , tab Timing and Payoff)

(Figura I.4: Modellazione del payoff a carico della Parte B, Editing Single Option , tab Discounting)

Notiamo che il sistema Option Dependent Discounting è disponibile sia nell'editor della SingleOption che nell'editor delle Strip of Options. In particolare il sistema Option DependentDiscounting contiene le impostazioni puntuali della struttura di discounting (di attualizzazione)disponibile nell'ambiente Discounting in quanto esso si riferisce solo ad una specifica Single Optiono solo ad una specifica Strip of Options e alle sue opzioni conseguenti, successive. Il sistema Option Dependent Discounting ci dà una maggiore flessibilità nella costruzione di unprogetto. Per questo tutorial le due impostazioni (figure I.5 e I.6) sono del tutto equivalenti, ma l'ultima

170

Page 190: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I – VANILLA INTEREST SWAP

(figura I.7) ci consente di impostare differente impostazioni della struttura di attualizzazione (didiscounting) per ciascuna Single Option o per ciascuna Strip of Options.

(Figura I.5: Impostazioni per il sistema Option Dependent Discounting 1)

(Figura I.6: Impostazioni per il sistema Option Dependent Discounting 2)

Notiamo che per l'esempio della figura I.6, le impostazioni locali devono essere impostate sia nellaSingle Option 1_Party B (le quali verranno poi applicate automaticamente alla Strip of Options cheva dall'opzione 2_Party B fino all'opzione end_Party B) sia nella Strip of Options che vadall'opzione 1_Party A fino all'opzione end_Party A. Attraverso la figura I.7 mostriamo la successiva Strip of Options presente nel ramo relativo allaParte B.

(Figura I.7: Modellazione del payoff a carico della Parte B, Editing Strip of Options, tab Timing and Payoff)

171

Page 191: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL I – VANILLA INTEREST SWAP

Per calcolare i tassi forward si ricorre all'utilizzo della funzione interna di Fairmat FRA che è, comenoto, una Interest Rate Function. Possiamo notare, osservando attentamente la finestra di autocomplete contenuta nella figura I.7 – ecome già spiegato nel corso del Capitolo 2 della Parte I – la funzione FRA calcola i tassi forward(a lungo termine) fra due date, fra due istanti, t e d, partendo da una determinata struttura perscadenze dei tassi di interesse Zr. Ai fini del presente tutorial sono necessari, dobbiamo calcolare, i tassi forward a 6 mesi (ovvero conmaturità semestrale) per cui la funzione FRA calcolerà i tassi, nel caso preso in esame, attraverso laseguente formula:

FRA( Rd ; (Rd+ matEur); zr ref)=( exp {zr (Rd+ matEur)∗( Rd+ matEur )}

exp {zr( Rd )∗Rd }−1)∗ 1

matEur

dove Rd indica una generica data di reset, matEur è noto ed è pari a 0,5 (ovvero 6 mesi espressi intermini di frazioni d'anno) e il simbolo zrref equivale a @zr.

Passando, infine, ai payoff relativi alla Parte A, possiamo affermare che questi sono piuttostosemplici da strutturare: il capitale nozionale di riferimento per la Parte A (di tipo Bullet, ovverofisso) programma i tempi dei tassi swap secondo la Day Count Fractions 30/360 Unadjusted. L'unico tab da selezionare per l'editing della Strip of Options del ramo relativo alla Parte A è Timingand Payoff (figura I.8).

(Figura I.8: Modellazione del payoff a carico della Parte A, Editing Strip of Option s, tab Timing and Payoff)

172

Page 192: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II

FIXED-FLOATCROSS

CURRENCY

Page 193: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Il Cross Currency Interest Rate Swap (CCIRS) è un accordo fra due controparti – Parte A e Parte B– di scambio di flussi di cassa (fisso contro variabile) espressi in una differente valuta. Con unCCIRS le parti contrattuali si scambiano, quindi, dei pagamenti in base a due diverse tipologie ditassi (da una parte il tasso fisso e dall'altra parte il tasso variabile) e a due diverse valute. Rispetto al caso, che abbiamo precedentemente analizzato con il Tutorial I, ovvero il caso delsemplice contratto derivato Interest Rate Swap (IRS), nel caso del CCIRS abbiamo due capitalinozionali di riferimento, espressi in due diverse valute, che verranno scambiati all'inizio e alla finedel contratto di scambio.

Con la tabella II.1, sottoriportata, proponiamo la scheda tecnica del contratto CCIRS oggetto diquesto tutorial:

(Tabella II.1 – Scheda tecnica del Cross Currency Interest Rate Swap)

Come possiamo evincere dalla tabella II.1, il capitale inizialmente pagato dalla controparte A è paria 1.428.571,43 € (EUR) a fronte di un capitale pari a 2.000.000,00 $ (USD) ricevuti dallacontroparte B. Questo scambio, calcolato sulla base del tasso di cambio Euro/Dollaro (EUR/USD)corrente al momento dello scambio stesso, rende alla data iniziale (ovvero alla Trade Date) ilcontratto finanziariamente equo. I pagamenti aventi periodicità semestrale che la controparte A è tenuta ad effettuare sono fissi eproporzionali ad un tasso nominale annuo del 5,00% applicato al capitale nozionale espresso inDollari (USD). I pagamenti aventi periodicità semestrale che la controparte B è tenuta ad effettuaresono, invece, variabili ed indicizzati al tasso Euribor a 6 mesi rilevato all'inizio di ciascun periodocon l'aggiunta di uno spread di 90 punti base (ovvero dello 0,90%) applicato al capitale nozionaleespresso in Euro (EUR). La restituzione del capitale inizialmente scambiato dalle controparti contrattuali è previsto allascadenza mediante il pagamento di 2.000.000,00 $ (USD) da parte della controparte A e ilpagamento di 1.428.571,43 € (EUR) da parte della controparte B; in altre parole: con il contrattoCCIRS, la Parte A trasforma un capitale di debito a tasso variabile espresso in Euro, indicizzato al

173

2.000.000,001.428.571,43

1,400029/05/200901/06/200901/06/2019

€ 1.428.571,43 $2.000.000,005,00%

$2.000.000,00 € 1.428.571,43

-

Nozionale (espresso in Dollari)Nozionale (espresso in Euro)Tasso di cambio EUR/USD alla Data di NegoziazioneData NegoziazioneData Inizio ContrattoData di Scadenza Frequenza di pagamento Parte A SemestraleFrequenza di pagamento Parte B Semestrale

Scambio Parte A Parte BAll'inizio del contratto Dal 01/06/2009 al 01/06/2019 Euribor 6 Mesi + 0,90%Alla scadenza del contratto

Convenzione Parte A Parte B

Drivers rates per le Date di resetAdvance,

Il primo giorno

Day Count Fraction30/360,

UnadjustedAct/360,

Unadjusted

Page 194: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

tasso Euribor a 6 mesi con l'aggiunta di uno spread dello 0,90%, in un capitale di debito a tassofisso espresso in Dollari. Vale il viceversa per la Parte B. Ai fini di questo tutorial e dell'analisi che dobbiamo condurre sul contratto CCIRS, possiamoconsiderare la transazione appena descritta come la somma di tre strutture elementari:

1) un contratto Fixed-Float Interest Rate Swap (Interest Rate Swap Fisso contro Variabile)denominato in USD;

2) un contratto Float-Float Cross Currency Basis Swap (Cross Currency Basis Swap Variabilecontro Variabile) con valute EUR/USD;

3) un contratto Basis Swap 3M vs 6M, il quale prevede uno scambio fra un tasso a 3 mesicontro un tasso a 6 mesi, denominato in EUR;

Il vantaggio di questa scomposizione è che i prezzi di queste tre strutture elementari sono quotati suimercati ufficiali. Ciò rende la valutazione libera dai modelli relativi ai prezzi di mercato dalmomento che non dobbiamo, così facendo, ricorrere ad assunzioni riguardanti le dinamiche deifattori sottostanti. In altre parole si può scomporre il payoff principale – schematizzato attraverso latabella II.2 e la cui schematizzazione e scansione temporale dei flussi di cassa vengono basati sulpunto di vista della Parte A (per cui con il segno "+" vengono indicati i flussi di cassa positivi, inentrata, per la stessa mentre con il segno "-" vengono indicati quelli negativi, in uscita) –, ovvero ilseguente:

(Tabella II.2 – Schematizzazione payoff principale derivante dal contratto CCIRS)

nelle tre seguenti strutture elementari:

1) Tabella II.3 (la cui schematizzazione si basa sempre sul punto di vista della Parte A): ilFixed-Float Interest Rate Swap prevede il pagamento semestrale di un tasso fisso pari al5,00% espresso in EUR da parte della controparte A, a fronte del pagamento trimestrale diun tasso variabile Libor a 3 mesi espresso in USD da parte della controparte B. Il valore delcapitale nozionale della precedente struttura è pari a 2.000.000,00 USD:

(Tabella II.3 – Schematizzazione contratto Fixed-Float Interest Rate Swap)

174

Data d'esercizio Scambi Parte A Scambi Parte Bt = 0 -€ 1.428.571,43 +$2.000.000,00

-

-

-$2.000.000,00 +€ 1.428.571,43

tA

= 0.25, 0.5, …, 10-5.00% (in USD)

tB

= 0.25, 0.5, …, 10+ Euribor a 6 mesi + 0.90% (in Euro)

tA = t

B = 10

Data d'esercizio Scambi Parte A Scambi Parte Bt = 0 - -

-

-

- -

tA

= 0.5, 1, …, 10-5.00% (in Euro)

tB = 0.25, 0.5, …, 10

+ Libor a 3 mesi (in USD)

tA = t

B = 10

Page 195: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

2) Tabella II.4 (la cui schematizzazione si basa sempre sul punto di vista della Parte A): ilFloat-Float Cross Currency Basis Swap prevede il pagamento di un tasso variabile Libor a 3mesi espresso in USD da parte della controparte A, calcolato su un capitale nozionale diriferimento di 2.000.000,00 $, a fronte del pagamento di un tasso variabile Euribor a 3 mesiespresso in EUR da parte della controparte B, calcolato su un capitale nozionale diriferimento di 1.428.571,43 €:

(Tabella II.4 – Schematizzazione contratto Float-Float Cross Currency Basis Swap)

3) Tabella II.5 (la cui schematizzazione si basa sempre sul punto di vista della Parte A): ilBasis Swap 3M vs 6M prevede il pagamento di un tasso variabile Euribor a 3 mesi espressoin EUR da parte della controparte A, a fronte del pagamento di un tasso variabile Euribor a 6mesi espresso in EUR, con l'aggiunta di uno spread di 90 punti base, da parte dellacontroparte B. Il valore del capitale nozionale della precedente struttura è pari a1.428.571,43 €:

(Tabella II.5 - Schematizzazione contratto Basis Swap 3M vs 6M)

Il modo più semplice per valutare queste tre strutture elementari, ad esempio basandosi sulla TradeDate – ovvero la Data di Negoziazione – è attraverso la determinazione dei tassi di interesseforward (a lungo termine) derivanti dalla zero rates curve (la struttura per scadenze dei tassi diinteresse) disponibile a quella data.

175

-€ 1.428.571,43 +$2.000.000,00

-

-

-$2.000.000,00 +€ 1.428.571,43

Data d'esercizio Scambi Parte A Scambi Parte Bt = 0

tA

= 0.5, 1, …, 10-Libor a 3 mesi

(in USD)

tB = 0.25, 0.5, …, 10

+ Euribor a 3 mesi (in Euro)

tA = t

B = 10

- -

-

-

- -

Data d'esercizio Scambi Parte A Scambi Parte Bt = 0

tA

= 0.5, 1, …, 10-Euribor a 3 mesi

(in Euro)

tB

= 0.25, 0.5, …, 10+ Euribor a 6 mesi + 0.90% (in Euro)

tA = t

B = 10

Page 196: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Implementazione con Fairmat

Con la Tabella II.6, sottoriportata, riproponiamo ancora una volta la scheda tecnica, già mostrata inprecedenza con la tabella II.1, in termini però diversi, ovvero in termini parametrici, ossiaricorrendo all'utilizzo degli oggetti disponibili nell'ambiente Parameters & Functions:

(Tabella II.6 – Scheda tecnica del CCIRS riproposta in termini parametrici)

Con la tabella II.7 riproponiamo, invece, nel dettaglio i dati contenuti nei vector dates Pdu_6M ePdu_3M, i quali contengono le date di scadenza semestrale (6M) e trimestrale (3M) non corrette,non aggiustate, che costituiranno le date di partenza per la modellazione delle strutture elementarifin qui descritte.

(Tabella II.7 – Vector dates Pdu_6M e Pdu_3M)

176

Nozionale (espresso in Dollari) N_DNozionale (espresso in Euro) N_FTasso di cambio EUR/USD alla Data di Negoziazione FxSpotData Negoziazione Valuation DateData Inizio Contratto Effective DateData di Scadenza Pdu_6M [end] o Pdu_3M [end]Frequenza di pagamento Parte A Matfl_3MFrequenza di pagamento Parte B Matfl_6M

Scambio Parte A Parte BAll'inizio del contratto N_F N_D

Dal 01/06/2009 al 01/06/2019 FixAlla scadenza del contratto N_D N_F

Convenzione Parte A Parte B

Drivers rates per le Date di reset -

Day Count Fraction Cvg_6M_30360 Cvg_6M_Ac360

EUR Euribor Matfl_6M + Spread

Reset type =Advance, Add/Sub Days = Rday

#

1 01/12/2009 01/09/20092 01/06/2010 01/12/20093 01/12/2010 01/03/2010… … …… … …18 01/06/2018 01/12/201319 01/12/2018 01/03/201420 01/06/2019 01/06/201421 01/09/201422 01/12/201423 01/03/2015… …… …37 01/09/201838 01/12/201839 01/03/201940 01/06/2019

Pdu_6M Pdu_3M

Page 197: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Di seguito, con le tabelle II.8, II.9 e II.10, proponiamo la scomposizione dei payoff principali dei treprodotti elementari delineati precedentemente ai fini del pricing del CCIRS:

(Tabella II.8 – Schematizzazione payoff principale del contratto Fixed-Float Interest Rate Swap)

(Tabella II.9 – Schematizzazione payoff principale del contratto Float-Float Cross Curreny Swap)

177

N_DN_F

N_D N_F

Parte 2: Float-Float Cross Currency Basis Swap (USD)Nozionale (espresso in Dollari)Nozionale (espresso in Euro)Tasso di cambio EUR/USD alla Data di Negoziazione FxSpotData Negoziazione Valuation DateData Inizio Contratto Effective DateData di Scadenza Pdu_3M [end]Frequenza di pagamento Parte A Matfl_3MFrequenza di pagamento Parte B Matfl_3M

Scambio Parte A Parte BDa 1 fino a Pdu_3M [end] o Pdu_3M [end] USD Libor Matfl_3M EUR Libor Matfl_3MPdu_3M [end]

Convenzione Parte A Parte B

Drivers rates per le Date di resetReset type = Advance, Add/Sub Days = Rday

Reset type =Advance, Add/Sub Days = Rday

Day Count Fraction Cvg_3M_Ac360 Cvg_3M_Ac360

N_D

-

Parte 1: Fixed-Float Interest Rate Swap (USD)Nozionale (espresso in Dollari)Data Negoziazione Valuation DateData Inizio Contratto Effective DateData di Scadenza Pdu_6M [end] o Pdu_3M [end]Frequenza di pagamento Parte A Matfl_6MFrequenza di pagamento Parte B Matfl_3M

Scambio Parte A Parte BDa 1 fino a Pdu_6M [end] o Pdu_3M [end] Fix USD Libor Matfl_3M

Convenzione Parte A Parte B

Drivers rates per le Date di resetReset type =Advance, Add/Sub Days = Rday

Day Count Fraction Cvg_6M_30360 Cvg_6M_Ac360

Page 198: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Tabella II.10 – Schematizzazione payoff principale del contratto Basis Swap 3M vs 6M)

Dati di input e loro inserimento

A questo punto dobbiamo riepilogare, attraverso tabella II.11, ordinandoli per categoria, i dati diinput, che poi dovremo inserire nell'ambiente Parameters & Functions, alcuni dei quali siriferiscono in generale ad entrambe le controparti contrattuali, mentre altri, invece, si riferisconosolo ad una specifica controparte:

(Tabella II.11 – Riepilogo e descrizione dati di input Tutorial Fixed-Float Cross Currency)

178

N_FParte 3: Basis Swap 3M vs 6M (EUR)

Nozionale (espresso in Euro)Data Negoziazione Valuation DateData Inizio Contratto Effective DateData di Scadenza Pdu_6M [end] o Pdu_3M [end]Frequenza di pagamento Parte A Matfl_3MFrequenza di pagamento Parte B Matfl_6M

Scambio Parte A Parte B

Da 1 fino a Pdu_6M [end] EUR Euribor Matfl_3M EUR Euribor Matfl_6M +

SpreadConvenzione Parte A Parte B

Drivers rates per le Date di resetReset type =Advance, Add/Sub Days = Rday

Reset type =Advance, Add/Sub Days = Rday

Day Count Fraction Cvg_3M_Ac360 Cvg_6M_Ac360

NOME TIPO DI DATO CATEGORIA DESCRIZIONE

N_D Scalar Parametro

N_F Scalar Parametro

FxSpot Scalar Parametro

Matfl_3M Scalar Parametro

Rday Scalar Parametro

Pdu_6M Date Sequence Parametro

Indica l'ammontare del nozionale del derivato espresso nella valuta domestica (USD)Indica l'ammontare del nozionale del derivato espresso nella valuta estera (EUR)Indica il tasso di cambio alla Valuation Date (ovvero alla Trade Date). Si riferisce al tasso di cambio della valuta domestica contro la valuta esteraRappresenta la scadenza del tasso variabile espressa in frazioni d'anno (per cui 0,25 equivale a 3 mesi)Indica il numero di giorni da aggiungere (o sottrarre) alle Date di ResetRappresenta il vettore delle date di pagamento non aggiustate, non corrette (con frequenza pari a Matfl_6M, ovvero semestrale)

Page 199: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Tabella II.11 – Riepilogo e descrizione dati di input Tutorial Fixed-Float Cross Currency)

179

NOME TIPO DI DATO CATEGORIA DESCRIZIONE

Pdu_3M Date Sequence Parametro

Pda_6M Parametro

Pda_3M Parametro

Rd_3M Parametro

Parametro

ZrDisc_D Parametro

ZrDisc_F Parametro

Parametro

Fix Scalar Parte A Indica il tasso fisso del Cross Currency

Parte A

Spread Scalar Parte B

Matfl_6M Scalar Parte B

Rd_6M Parte B

Rappresenta il vettore delle date di pagamento non aggiustate, non corrette (con frequenza pari a Matfl_3M, ovvero trimestrale)

Date Vector Adjustment

Rappresenta il vettore delle date di pagamento derivante dal vettore Pdu_6M, aggiustate, corrette per la Modified Following Date Rolling Convention

Date Vector Adjustment

Rappresenta il vettore delle date di pagamento derivante dal vettore Pdu_3M, aggiustate, corrette per la Modified Following Date Rolling Convention

Date Vector Adjustment

Date's Vector Transformation derivante dal vettore Pdu_3M utilizzando l'oggetto Rday. Il Reset Type da impostare è di tipo Advance

Cvg_6M_Ac360

Date Vector Differences Calculator

Date's Vector Differences Transformation derivante dal vettore Pdu_6M selezionando l'oggetto Actual360 nel menù a tendina “Day Count Convention” e l'oggetto Unadjusted nel menù a tendina “Date Rolling Convention”

Funzione Interpolante

Rappresenta la curva di sconto del mercato domestico

Funzione Interpolante

Rappresenta la curva di sconto del mercato estero

ZrDisc_F_E3

Funzione Interpolante

Rappresenta la curva di sconto del mercato estero per i tassi Euribor a 3 Mesi

Cvg_6M_30360

Date Vector Differences Calculator

Date's Vector Differences Transformation derivante dal vettore Pdu_6M selezionando l'oggetto Thirty360 nel menù a tendina “Day Count Convention” e l'oggetto Unadjusted nel menù a tendina “Date Rolling Convention”Indica la componente positiva da aggiungere al tasso variabile Rappresenta la scadenza del tasso variabile espressa in frazioni d'anno (per cui 0,5 equivale a 6 mesi)

Date Vector Adjustment

Date's Vector Transformation derivante dal vettore Pdu_6M utilizzando l'oggetto Rday. Il Reset Type da impostare è di tipo Advance

Page 200: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Tabella II.11 – Riepilogo e descrizione dati di input Tutorial Fixed-Float Cross Currency)

A questo punto dovremo aprire un nuovo progetto in Fairmat. Selezionando il percorso Settings → Project Preferences → Tab Simulation Dates and Conventionspossiamo specificare la Valuation Date e la Effective Date. In questo caso dovremo, in particolare,impostare la Valuation Date uguale alla Trade Date (e quindi corrispondente alla data del29/05/2009). Con la figura II.1 vediamo come apparirà l'ambiente Parameters & Functions una volta cheabbiamo provveduto ad inserire in esso tutti gli oggetti necessari alla modellazione del contrattoCCIRS.

(Figura II.1: Riepilogo oggetti dell'ambiente Parameters & Functions necessari per la modellazione delCCIRS)

180

NOME TIPO DI DATO CATEGORIA DESCRIZIONE

Cvg_3M_Ac360

Date Vector Differences Calculator

Parte B

Date's Vector Differences Transformation derivante dal vettore Pdu_3M selezionando l'oggetto Actual360 nel menù a tendina “Day Count Convention” e l'oggetto Unadjusted nel menù a tendina “Date Rolling Convention”

FswapFunzione

InterpolanteParte B

Indica il tasso swap utilizzato per la determinazione della curva di sconto estera

Page 201: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Per questo tutorial utilizzeremo il plug-in Plain Vanilla. Qualora esso non sia già disponibile nellaversione installata è possibile scaricarlo (o semplicemente aggiornarlo) dal sito web di Fairmatselezionando il seguente percorso: Settings → Plug-Ins Management e quindi utilizzando il Plug-Ins Management (figura II.2).

(Figura II.2: Plug-In Plain Vanilla, Ambiente Plug-Ins Management, tab Available Online Plug-Ins)

Una volta che il plug-in Plain Vanilla è stato installato, una nuova tavolozza di icone appariràvicino alla solita tavolozza Option Map e che è la seguente:

Il prossimo passo consiste nel preparare correttamente le impostazioni relative al sistema diattualizzazione (o di discounting) globale, ovvero riferito al progetto nel suo complesso.Nell'esempio di questo tutorial utilizzeremo i tassi forward e i fattori di sconto saranno determinatiattraverso un'espressione deterministica. I tassi sono di tipo composto continuo per cui la funzionedei fattori di sconto sarà una funzione esponenziale collegata alla curva di sconto del mercatodomestico ricordandoci che nell'esempio di questo tutorial il mercato domestico di riferimento èquello americano (figura II.3). Infine, dal momento che il pricing non è ancorato ad alcun tipo di modello finanziario, dovremoimpostare il Numerical Method cambiando, modificando la valorizzazione del relativo campo, daSimulation ad Analytic Solution. Il percorso da selezionare è Setting → Numerical Method.

181

Page 202: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Figura II.3: Impostazione del sistema di discounting del progetto)

Siamo ora pronti per costruire gli strumenti finanziari finora descritti nell'ambiente Option Map. Con la figura II.4 mostraimo il contratto CCIRS, come la somma di tre derivati di base elementari,ovvero come la somma di:

1) un Fixed-Float Interest Rate Swap (IRS Fisso contro Variabile);2) un Float-Float Cross Currency Basis Swap (Cross Currency Basis Swap Variabile contro

Variabile); e 3) un Basis Swap 3M vs 6M (Basis Swap 3 Mesi contro 6 Mesi);

(Figura II.4: Modellazione nell'ambiente Option Map del contratto CCIRS)

182

Page 203: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Fixed-Float Interest Rate Swap

Il contratto Fixed-Float Interest Rate Swap (ovvero Fisso contro Variabile) consta di una parte fissa(rappresentata dal blocco –FIX_6M_D) corrisposta dalla Parte A con frequenza semestrale (e quindicon frequenza pari a @Pda_6M) con date rolling convention 30/360, e di una parte variabile(rappresentata dal blocco L3_3M_D) ricevuta dalla Parte A su base trimestrale (e quindi confrequenza pari a @Pda_3M) con date rolling convention Actual/360. L'ammontare del capitale nozionale di riferimento è espresso in dollari ed è dato dal valoredell'oggetto N_D. Per la costruzione del blocco –FIX_6M_D (figura II.5) dobbiamo compilare il solo tab ContractSpecification, mentre per la costruzione del blocco L3_3M_D (figura II.6) dovremo compilare,oltre al tab Contract Specification, anche il tab Market Data. Notiamo che la Forwarding Curve è la stessa Discounting Curve utilizzata per il global discountingdel progetto. L'operatore funzionale (IRS-FXFL-USD) è costituito dalla somma dei due blocchi datii segni impostati correttamente (ovvero impostando l'operazione algebrica -x1 + x2 – figura II.7).

(Figura II.5: Editing blocco –FIX_6M_D del Fixed-Float Interest Rate Swap)

183

Page 204: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Figura II.6: Editing blocco L3_3M_D del Fixed-Float Interest Rate Swap)

(Figura II.7: Editing operatore funzionale Function del Fixed-Float Interest Rate Swap)

184

Page 205: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Float-Float Cross Currency Basis Swap

Il contratto Float-Float Cross Currency Basis Swap (ovvero Variabile contro Variabile) è costituitoda due parti variabili. La prima (rappresentata dal blocco –L3_3M_D) corrisposta dalla Parte A, èesattamente la medesima che la Parte A riceve sul contratto Fixed-Float Interest Rate Swap, cheabbiamo visto in precedenza, con l'eccezione legata al pagamento dell'ammontare del capitalenozionale (pari a 2.000.000,00 USD) alla scadenza; la seconda (rappresentata dal bloccoE3_3M_EUR_F) viene ricevuta dalla Parte A con frequenza trimestrale (e quindi con frequenza paria @Pda_3M) con date rolling convention Actual/360 ed è collegata al mercato europeo.L'ammontare del capitale nozionale di riferimento è espresso in euro ed è dato dal valoredell'oggetto N_F. La Forwardind Curve si riferisce, quindi, al mercato europeo. Alla scadenza,ciascuna controparte paga l'ammontare del capitale nozionale (espresso in euro). Sia per la costruzione del blocco –L3_3M_D che per la costruzione del blocco E3_3M_EUR_Fdovremo compilare sia il tab Contract Specification che il tab Market Data (figure II.8 e II.9).Si noti che si stiamo utilizzando differenti strutture per scadenze dei tassi di interesse per stime dimercato coerenti dei fattori di sconto e dei tassi forward aventi differenti regimi di tasso sottostanti(quali ad esempio, l'Euribor a 3 mesi, l'Euribor a 6 mesi, ecc.). Per il calcolo dei tassi forwardricorreremo, infatti, ad una yield curve diversa (ZrDisc_F_E3) rispetto a quella utilizzata per ilcalcolo dei tassi forward Euribor a 6 mesi espressi in euro (ZrDisc_F).

(Figura II.8: Editing blocco –L3_3M_D del Float-Float Cross Currency Basis Swap)

185

Page 206: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Figura II.9: Editing blocco E3_3M_EUR_F del Float-Float Cross Currency Basis Swap)

Le funzioni interpolanti CCBS_Spread e Fswap rappresentano, rispettivamente, lo spread base delCross Currency e la struttura per scadenze dei tassi swap sul mercato estero. Utilizziamo questi oggetti al fine di effettuare correttamente la valutazione basata sulle curve disconto modificate, corrette, così come descritto e suggerito nell'articolo di W. Boenkost e M.W.Schmidt intitolato "Cross Currency Swap Valuation" del Novembre 2004, edito presso la HfbSchool of Finance & Management. Notiamo che gli scambi iniziali degli ammontari dei nozionali fra le controparti vengono omessi eche N_F è esattamente pari a N_D moltiplicato per FxSpot. L'operatore funzionale (CC-FLFL-EURUSD) è costituito dalla somma dei due blocchi dati i segniimpostati correttamente. Il blocco E3_3M_EUR_F restituisce un ammontare in euro che verrà poiconvertito in dollari (l'operatore algebrico da impostare è pertanto -x1 + x2*FxSpot – figura II.10).

(Figura II.10: Editing operatore funzionale Function del Float-Float Cross Currency Basis Swap)

186

Page 207: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

Basis Swap 3M vs 6M

Il Basis Swap 3M vs 6M consta di due parti variabili. La prima (rappresentata dal blocco –E3_3M_F) viene corrisposta dalla Parte A con frequenza trimestrale (e quindi con frequenza pari a@Pda_3M); la seconda (rappresentata dal blocco (E6+spread)_6M_F) viene ricevuta dalla Parte Acon frequenza semestrale (e quindi con frequenza pari a @Pda_6M). L'ammontare del capitalenozionale di riferimento è espresso in euro e corrisponde a N_F = N_D/FxSpot e la date rollingconvention applicata è Actual360. Sia per la costruzione del blocco –E3_3M_F che per la costruzione del blocco (E6+spread)_6M_Fdovremo compilare, oltre ai tabs Contract Specification e Market Data, anche il tab CustomDiscounting (figure II.11 e II.12), in quanto entrambi i blocchi del contratto Basis Swap 3M vs 6Msi riferiscono al capitale nozionale denominato in euro per cui dovremo anche specificare un fattoredi sconto collegato al mercato europeo (e quindi estero nell'esempio perchè ricordiamoci sempreche in questo caso consideriamo domestico il mercato americano) piuttosto che a quello americano.

(Figura II.11: Editing blocco –E3_3M_F del Basis Swap 3M vs 6M)

187

Page 208: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

(Figura II.12: Editing blocco (E6+spread)_6M_F del Basis Swap 3M vs 6M)

188

Page 209: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL II – FIXED FLOAT CROSS CURRENCY

L'operatore funzionale (BS-FLFL-EUR) è costituito dalla somma dei due blocchi dati i segniimpostati correttamente. Entrambi i blocchi si riferiscono ad un nozionale espresso in euro, per cuiil valore attuale dovrà essere convertito in dollari (l'operatore algebrico da impostare è pertanto (-x1+ x2)*FxSpot – figura II.13).

(Figura II.13: Editing operatore funzionale Function del Basis Swap 3M vs 6M)

189

Page 210: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III

ACCRUALSWAP

Page 211: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

La clausola Range Accrual (letteralmente, clausola di "intervallo di accumulazione") è una genericaforma di accumulazione degli interessi nella quale il tasso di interesse cedolare viene guadagnatosolo sui giorni nei quali esso ricade entro uno specificato range, o intervallo. Nel contratto Accrual Swap il pagamento degli interessi viene effettuato qualora il tasso di interessedi riferimento, quale ad esempio il tasso Euribor o il tasso Libor, sia superiore o inferiore rispetto adun certo livello. La ragione principale per la quale un soggetto sottoscrive questa tipologia di contratto derivato èdovuta al tentativo di ottenere un tasso di interesse fisso più basso mediante l'assunzione del rischioche il tasso di riferimento cada al di fuori del range (o intervallo) concordato.

Descrizione

La clausola Range Accrual è una generica forma di accumulazione degli interessi nella quale iltasso di interesse cedolare (denominato Rate) viene guadagnato solo sui giorni nei quali un altrotasso di interesse, dal quale il tasso di interesse cedolare deriva (denominato Driver), ricade entrouno specificato range, o intervallo. L'espressione matematica che permette di sintetizzare il concetto appena espresso è la seguente:

Coupon j=1N∑i=1

N

Ratei per j = 1, 2, ... , M [III.1]

dove Ratei viene definita come una funzione dei Driveri e quindi attraverso la seguente:

{Ratei=ValInf se Driveri≤EstrInfRatei=Ratei se EstrInf < Driveri≤EstrSupRatei=ValSup se Driveri≥EstrSup

[III.2]

dove N indica il numero dei giorni inclusi in ciascun periodo di calcolo M; EstrInf e EstrSupindicano, rispettivamente, l'estremo inferiore e l'estremo superiore dell'intervallo concordato e diriferimento (ovvero il range); Driveri indica il tasso di interesse di riferimento, ovvero il DriverRate, la cui fluttuazione può essere al di sopra dell'estremo superiore (EstrSup), al di sottodell'estremo inferiore (EstrInf) oppure fra i due estremi dell'intervallo concordato e di riferimento;Ratei indica l'accumulazione dell'interesse e può essere esso stesso un estremo inferiore o unestremo superiore. L'indice i sta a significare che la rilevazione del Driver Rate, i cui movimentidefiniscono il tasso Rate, viene effettuata giorno per giorno per i giorni inclusi in ciascun periodo dicalcolo. Per cui per valutare questo strumento derivato dobbiamo simulare l'evoluzione del Driver Rate pergli N i-giorni inclusi in ciascun periodo di calcolo M. Come avremo modo di vedere più avanti, ciòpotrebbe essere fatto attraverso la funzione incorporata di Fairmat IMean.

190

Page 212: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

Con la tabella III.1, sottoriportata, possiamo vedere la scheda tecnica del contratto Accrual Swapoggetto di questo tutorial:

(Tabella III.1 - Scheda tecnica dell'Accrual Swap)

In questo tutorial mostreremo un (semplice) esempio di contratto Accrual Swap nel quale il tassovariabile è condizionato dal numero di giorni nei quali il tasso Euribor (ovvero il tasso diriferimento) si trova ricompreso entro un range, un intervallo, concordato durante un periodopredefinito. La ragione principale per la quale un soggetto sottoscrive questa tipologia di contratto derivato èdovuta al tentativo di ottenere un tasso di interesse fisso più basso assumendosi il rischio che iltasso di riferimento cada al di fuori del range (o intervallo) concordato. Le formule generali, descritte sopra attraverso la [III.1] e la [III.2], vengono in questa sedesemplificate dal momento che Drivers e Rate coincidono e sono pari al tasso Euribor a 6 mesi, sonoequivalenti al tasso Euribor a 6 mesi, il quale costituisce il tasso di riferimento del contratto RangeAccrual.

191

Nozionale € 4.500.000,00Data Negoziazione 16/06/2010Data Inizio Contratto 27/06/2010Data di Scadenza 27/06/2015Frequenza di pagamento Parte A SemestraleFrequenza di pagamento Parte B Semestrale

Scambi Parte A Parte BSomma da i = 1 fino a N Rate(i) + 0,50%Dove Rate(i) è definito come:

Primo annose Eur6M < 2,50% 2,50% - 0,30% se Eur6M < 0,10% 0,00%

altrimenti Eur6M - 0,30% Se 0,10% <= Eur6M <= 4,70% Eur6M (i)altrimenti 0,50%

Secondo annose Eur6M < 3,50% 3,50% - 0,30% se Eur6M < 0,20% 0,00%

altrimenti Eur6M - 0,30% se 0,20% <= Eur6M <= 4,80% Eur6M (i)altrimenti 0,50%

Terzo annose Eur6M < 4,50% 4,50% - 0,30% se Eur6M < 0,30% 0,00%

altrimenti Eur6M - 0,30% Se 0,30% <= Eur6M <= 5,20% Eur6M (i)altrimenti 0,50%

N = numero di giorni di ciascun periodo

Convenzione Parte A Parte BDate di Reset Arrears, 2 giorni L'i-esimo giorno

Day Count Fraction Act/360, Unadjusted 30/360, Unadjusted

Page 213: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

Implementazione con Fairmat

Con la tabella III.2, sottoriportata, riproponiamo la scheda tecnica del contratto Accrual Swap, giàproposta con la precedente tabella III.1, in termini però diversi, ovvero in termini parametrici equindi utilizzando gli oggetti disponibili nell'ambiente Parameters & Functions.

(Tabella III.2 - Scheda tecnica dell'Accrual Swap)

Da questa riprosizione della scheda tecnica possiamo notare l'esplicazione di due diverse funzionicreate dall'utente: Convertible e Range Accrual. In base alla funzione creata dall'utente Convertible se – nel periodo che va dall'Effective Date aPda[end], ovvero alla scadenza – il tasso Euribor a 6 mesi risulta inferiore al TassoSoglia definitocontrattualmente allora la Parte A dovrà corrispondere un tasso di interesse pari a TassoSoglia – Spd(ovvero meno lo Spread); altrimenti dovrà corrispondere un tasso di interesse pari all'Euribor a 6mesi meno lo Spread (ovvero EurMatfl – Spd).In base alla funzione create dall'utente RangeAccrual, invece, se – nel periodo che va dall'EffectiveDate a Pda[end], ovvero alla scadenza – il tasso Euribor a 6 mesi risulta inferiore rispetto a EstrInf,ovvero inferiore rispetto all'estremo inferiore del range concordato, la Parte B dovrà corrispondereun tasso pari proprio a EstrInf; se il tasso Euribor a 6 mesi risulta compreso fra EstrInf e EstrSup,ovvero fra i due estremi del range concordato, e quindi risulta compreso fra l'estremo inferiore equello superiore dell'intervallo concordato, la Parte B corrisponderà un tasso pari a EurMatfl,ovvero pari allo stesso Euribor a 6 mesi; altrimenti, ovvero qualora il tasso Euribor a 6 mesi risultisuperiore rispetto a EstrSup, ovvero superiore rispetto all'estremo superiore del range concordato, laParte B dovrà corrispondere un tasso pari proprio a EstrSup.

192

Nozionale NData Negoziazione Valuation DateData Inizio Contratto Effective DateData di Scadenza Pda[end]Frequenza di pagamento Parte A MatflFrequenza di pagamento Parte B Matfl

Scambi Parte A Parte BSomma da i = 1 fino a N Rate(i) + AddDove Rate(i) è definito come:

Estr. Inf.altrimenti

altrimenti Estr. Sup.

Funzione Convertible Funzione Range Accrual

N = numero di giorni di ciascun periodo

Convenzione Parte A Parte B

Date di Reset

Day Count Fraction Cvg_A Cvg_B

Da 1 fino a Pda [end]

se Eur Matfl < TassoSoglia TassoSoglia – Spd se Eur Matfl < Estr. Inf.EurMatf – Spd se Estr. Inf <= Eur Matfl <= Estr. Sup. Eur Matfl (i)

Reset type: ArrearsAdd/Sub Days: Rday

all'interno della funzione incorporata IMean

Page 214: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

Ritornando alle formule descritte in precedenza, ovvero quelle descritte attraverso la [III.1] e la[III.2], la clausola Range Accrual – la quale rappresenta il payoff per la Parte B – può essere quindiriespressa anche come segue:

Coupon j=1N∑i=1

N

Ratei per j = 1, 2, ..., 10 [III.3]

mentre Ratei può essere ridefinita come una funzione dei tassi Euribor a 6 mesi con data di resetcorrispondente all'i-esimo giorno di ciascuna semestralità. Per cui possiamo riscrivere la [III.2]come segue:

{Ratei=0,00% se Euribor 6 Mesi i≤EstrInfRatei=Euribor 6 Mesi i se EstrInf < Euribor 6 Mesi i≤EstrSupRatei=0,50% se Euribor 6 Mesi i≥EstrSup

[III.4]

Il payoff relativo alla Parte A, invece, può essere definito come una funzione di due scenari ancorauna volta definiti dal valore del tasso Euribor a 6 mesi ma rilevato semestralmente due giorni primadella fine del periodo di rilevazione (si parla anche della cosidetta fixing convention definitaArrears, 2 giorni lavorativi).

Con la tabella III.3, sottoriporata, mostriamo, nel dettaglio, le date contenute nei vector dates Pdu eSdu e i corrispondenti valori del tasso di interesse soglia – rappresentato dall'oggetto TassoSoglia –di riferimento per la Parte A, e dell'estremo inferiore (EstrInf) e dell'estremo superiore (EstrSup) delRange Accrual di riferimento invece per la Parte B.

(Tabella III.3 – Vector Dates Pdu e Sdu e corrispondenti tassi di interesse soglia)

Per modellare il contratto Accrual Swap dobbiamo, innanzitutto, aprire in Fairmat un nuovoprogetto vuoto (New Empty Project). Selezionando il percorso Settings → Project Preferences →Tab Simulation Dates and Conventions è possibile specificare la Valuation Date (ovvero la data divalutazione) e la Effective Date (ovvero la data di inizio contratto). Dopo di chè dovremo entrare nell'ambiente Parameters & Functions nel quale sarà possibileinserire gli oggetti necessari per la modellazione del contratto, alcuni dei quali si riferiscono adentrambe le controparti contrattuali mentre altri si riferiscono soltanto ad una specifica controparte. Attraverso la tabella III.4, riportata alla pagina successiva, andiamo a riepilogare, ordinandoli percategoria, i dati di input di questo tutorial, e che dovremo inserire nell'ambiente Parameters &Functions, appunto.

193

#

1 27/12/2010 2,50% 27/06/2010 0,10% 4,70%2 27/06/2011 2,50% 27/12/2010 0,10% 4,70%3 27/12/2011 3,50% 27/06/2011 0,20% 4,80%4 27/06/2012 3,50% 27/12/2011 0,20% 4,80%5 27/12/2012 4,50% 27/06/2012 0,30% 5,20%6 27/06/2013 4,50% 27/12/2012 0,30% 5,20%7 27/12/2013 4,50% 27/06/2013 0,30% 5,20%8 27/06/2014 4,50% 27/12/2013 0,30% 5,20%9 27/12/2014 4,50% 27/06/2014 0,30% 5,20%

10 27/06/2015 4,50% 27/12/2014 0,30% 5,20%

PduTassoSoglia

Parte ASdu

Estr. Inf.Parte B

Estr. Sup. Parte B

Page 215: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

(Tabella III.4 - Riepilogo e descrizione dati di input Tutorial Accrual Swap)

194

NOME TIPO DI DATO CATEGORIA DESCRIZIONE

N Scalar Parametro

Pdu Date Sequence Parametro

Pda Parametro

Matfl Scalar Parametro

ZrDisc Parametro Rappresenta la curva di sconto

Rday Scalar Parte A

Rd Parte A

Cvg_A Parte A

TassoSoglia Vector Parte A

Spd Scalar Parte A

Convertible Funzione analitica Parte A

Add Scalar Parte B

Indica l'ammontare del capitale nozionale del contrattoE' il vettore delle date di pagamento (non corrette, ovvero unadjusted)

Date Vector Adjustment

E' il vettore delle date di pagamento ottenuto a partire dal vettore Pdu aggiustando le date per la Modified Following Date Rolling ConventionIndica la scadenza del tasso variabile espressa in frazioni d'anno (per cui 0,5 equivale a 6 mesi)

Funzione interpolante

Indica il numero di giorni da sottrarre alle date di reset

Date Vector Adjustment

Date's Vector Transformation ottenuta a partire dal vettore Pdu utilizzando l'oggetto Rday e selezionando Preceding come Date Rolling Convention. Il Reset type da impostare è Arrears

Date's Vector Differences Calculator

Date's Vector Differences Transformation ottenuta a partire dal vettore Pdu selezionando l'oggetto Actual360 nel menù a tendina “Day Count Convention” e l'oggetto Unadjusted nel menù a tendina “Date Rolling Convention”Indica la soglia oltre la quale il tasso applicato alla Parte A varia convertendosi da fisso (sottratto lo Spread) a variabile (sottratto lo Spread)Indica la componente negativa da sommare algebricamente al tasso fisso o variabile. Viene utilizzato nella funzione definita dall'utente ConvertibleE' la funzione definita dall'utente che esprime il payoff della Parte A. In particolare, se il tasso di interesse è inferiore al TassoSoglia, la Parte A pagherà un tasso fisso, ovvero il TassoSoglia sottratto lo Spread Spd, altrimenti la Parte A pagherà un tasso variabile, ovvero il tasso Euribor a 6 mesi sottratto lo Spread SpdIndica la componente positiva fissa da aggiungere algebricamente al tasso variabile applicato alla Parte B

Page 216: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

(Tabella III.4 - Riepilogo e descrizione dati di input Tutorial Accrual Swap)

195

NOME TIPO DI DATO CATEGORIA DESCRIZIONE

Sdu Date Sequence Parte B

Estr.Inf.B Vettore Parte B

Estr.Sup.B Vettore Parte B

Valnf Scalar Parte B

ValSup Scalar Parte B

RangeAccrual Funzione analitica Parte B

Cvg_B Parte B

E' il vettore delle date di pagamento (non corrette, ovvero unadjusted). Include la Effective Date ed esclude l'ultima data di pagamento (ovvero Pdu[end]). Tale vettore ha la stessa dimensione del vettore Pdu e viene utilizzato come argomento dell'Interval Function IMeanIndica l'estremo inferiore della funzione definita dall'utente RangeAccrualIndica l'estremo superiore della funzione definita dall'utente RangeAccrualIndica il valore della funzione definita dall'utente RangeAccrual nel caso di rilevamento del tasso variabile inferiore rispetto all'estremo inferiore dell'intervallo concordato (ovvero inferiore rispetto a Estr.Inf.B)Indica il valore della funzione definita dall'utente RangeAccrual nel caso di rilevamento del tasso variabile superiore rispetto all'estremo superiore dell'intervallo concordato (ovvero superiore rispetto a Estr.Sup.B)E' la funzione definita dall'utente che esprime il payoff della Parte B. In particolare, tale funzione definisce il tasso Rate

i nel caso in cui il

tasso Euribor a 6 mesi (il quale viene espresso attraverso un processo stocastico) si muova al di sopra dell'estremo superiore dell'intervallo concordato o al di sotto dell'estremo inferiore dell'intervallo concordato. Si noti che la funzione RangeAccrual verrà richiamata entro la funzione incorporata IMean

Date's Vector Differences Calculator

Date's Vector Differences Transformation ottenuta a partire dal vettore Pdu selezionando l'oggetto Thirty360 nel menù a tendina “Day Count Convention” e l'oggetto Unadjusted nel menù a tendina “Date Rolling Convention”

Page 217: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

Una volta inseriti tutti gli input sopra elencati, l'ambiente Parameters & Functions ci apparirà cosìcome mostrato attraverso la figura III.1.

(Figura III.1: Riepilogo dati di input dell'Accrual Swap Tutorial)

Dopo di chè dobbiamo definire il processo stocastico sottostante, attivando l'ambiente StochasticProcess. Cliccando sul comando Add S. Process possiamo inserire un modello stocastico da quellipresenti in lista. La lista dei modelli disponibili può essere estesa con numerosi plug-ins disponibilion-line. Una volta inserito il processo stocastico, dovremo aprire la finestra di editing e selezionare il tabData Source al fine di attivare il data-link – per cui il campo "Binding type" dovrà esserevalorizzato selezionando la voce Bind object to specific data – selezionare il mercato borsistico diriferimento – per cui si dovrà valorizzare il campo "Market" selezionando, ad esempio, conriferimento al caso specifico del presente tutorial, la voce EU – e gli strumenti sui quali lacalibrazione dovrà essere effettuata – per cui si dovrà valorizzare opportunamente il campo"Calibration Strategy" (figura III.2).Per l'esempio specifico abbiamo scelto un modello assai noto per la determinazione dei tassi diinteresse a breve, ovvero il modello Hull & White e la calibrazione avverrà utilizzando leswapoptions europee. Dopo aver chiuso la finestra di editing, dovremo aprire il menù di contesto, premendo il tasto destrodel mouse, e si dovrà selezionare la voce Calibrate model using data provider.Per la scelta del Market Data Provider dovremo selezionare il seguente percorso: Settings →Fairmat Preferences → Tab Core Preferences → Tab General; arrivati al tab General si dovràvalorizzare opportunamente il menù a cascata "Market Data Provider".

196

Page 218: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

(Figura III.2: Definizione del processo stocastico sottostante per il tutorial Accrual Swap)

Il passo successivo è quello poi di impostare il modello di discounting. Per questo esempiospecifico stiamo utilizzando un processo stocastico per il quale viene definito un modello didiscounting riferito al processo medesimo (@V1 – figura III.3).

(Figura III.3: Impostazione del modello di Discounting)

In aggiunta dovremo definire lo step di simulazione e il numero dei paths (ovvero dei percorsi)della simulazione Montecarlo. Possiamo specificare tali impostazioni selezionando il seguentepercorso: Settings → Numerical Settings e compilando i campi "# of discrete time steps" e "# ofsimulated paths" (nel caso specifico preso in esame – parte destra della figura III.3 – dovremovalorizzare i campi inserendo, rispettivamente, i valori 1837 – ovvero il numero di giorni dicalendario intercorrenti fra la Simulation Date, ovvero la data di inizio simulazione, e laTermination Date, ovvero la data di fine, di scadenza – e 5000 – ovvero il numero dei percorsisimulati (o "simulated paths").

197

Page 219: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

A questo punto siamo pronti per la modellazione del contratto nell'ambiente Option Map. Dalla tavolozza grafica della Option Map, attraverso un semplice drag&drop (letteralmente"trascina e lascia cadere") dovremo innanzitutto inserire un operator Functional al quale dovremopoi unire, attraverso due branches, due Strip of Options. Attraverso la figura III.4, possiamo vedere come appare l'ambiente Option Map una volta inseritil'operator Functional e le due Strip of Options, una relativa alla Parte A e l'altra relativa alla Parte B.

(Figura III.4: Option Map e Operatore funzionale Functional)

Nel dettaglio, la Parte A (Leg A) del contratto è caratterizzato alla funzione Convertible (figuraIII.5) creata dall'utente nell'ambiente Parameters & Functions come y = f(x1, x2) – dove x1 e x2 sonole variabili indipendenti e y è l'output della funzione stessa – e richiamata nell'ambiente OptionMap. Con l'eccezione legata all'oggetto Spread (uno scalar che può essere invocato nell'ambientedell'editor della funzione) x1 e x2 sono sempre scalar risultati di una funzione incorporata (ovveroRATE(x1, x2, x3)) come anche lo sono le componenti di un vettore, TassoSoglia[#] ad esempio, ocome anche il semplice scalar Matfl (il quale è input della funzione RATE).

(Figura III.5: Dettaglio della funzione Convertible, e del payoff della Parte A)

198

Page 220: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL III – ACCRUAL SWAP

La Parte B (Leg B) del contratto è, invece, caratterizzata dalla funzione RangeAccrual (figura III.6).Le variabili indipendenti x1, x2 e x3 vengono invocate nell'ambiente Option Map come,rispettivamente, il risultato della funzione incorporata RATE, dei componenti del vettore Estr.Inf.B edei componenti del vettore Estr.Sup.B. L'intera funzione definita dall'utente RangeAccrual viene poi ricompresa all'interno della funzioneincorporata IMean per calcolare il valore medio di ciascuna payment date. La funzione IMean(start; end; (expr); [increment]) restituisce la media aritmetica semplice (ovverocon tutti i pesi pari a 1/N, quindi equiparati, tutti identici) dei valori dell'espressione expr valutatanell'intervallo di valori compresi fra start e end campionato con un numero di step (di passi diiterazione) pari a (end – start)/increment. Si precisa che increment è un parametro opzionale cheidentifica lo spazio di incremento. Se viene omesso nella chiamata di funzione, sarà uguale allo stepdella simulazione Montecarlo (in questo caso quindi l'intervallo temporale verrà campionato inmodo daily, e quindi increment sarà pari a 1/365). Assumendo # = 1 la funzione incorporata IMeansarà per il caso specifico preso in esame con il presente tutorial: I Mean(Sdu[1]; Pdu[1]; {RangeAccrual(RATE(xa ; matfl; @V1); Estr.Inf.B[1]; Estr.Sup.B[1])};(1/365)) dove Sdu[1] è uguale a 0,03014, Pdu[1] è uguale a 0,53151 e Increment è pari a 1/365 = 0,00274per cui il numero dei passi di iterazione è pari a 183 circa. Per cui la funzione RangeAccrual verràinvocata circa 183 volte allo scopo di definire il range, l'intervallo, medio di accumulazione per laprima payment date.

(Figura III.6: Dettaglio della funzione RangeAccrual, e del payoff della Parte B)

In questo esempio abbiamo implementato come scalar elementi come N, Spread, ValInf e ValSup. Nel caso in cui il contratto in esame contenga payment dates dipendenti da una serie di parametri,può essere utilizzata la caratteristica di indicizzazione dei vettori consentita da Fairmat.

199

Page 221: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL IV

PATHDEPENDENCE

Page 222: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL IV – PATH DEPENDENCE

In questo tutorial mostriamo un esempio di valutazione di un contratto derivato con la caratteristicadel Path Dependent (letteralmente, "del percorso dipendente"). Un'opzione Path Dependent è un'opzione il cui valore a scadenza dipende non soltanto dal prezzofinale dell'attività sottostante ma anche dalla serie storica dei suoi prezzi. Con la tabella IV.I, sottoriportata, proponiamo la scheda tecnica dell'opzione Path Dependent,appena descritta.

(Tabella IV.1 – Scheda tecnica opzione Path Dependent)

Tutte le date sono corrette, aggiustate, seguendo la Modified Following Business Day Convention. La funzione CN si riferisce alla cedola immediatamente precedente. Come possiamo notare osservando nuovamente e con attenzione la scheda tecnica proposta con latabella IV.1, la caratteristica del Path Dependent è attiva a partire dal secondo anno fino allaTermination Date (ovvero fino alla data di scadenza).

Il metodo più semplice per valutare questo tipo di contratto derivato è quello di costruire unafunzione specifica Path Dependent che verrà utilizzata per il secondo e il terzo anno di contratto; lacaratteristica del Path Dependent in realtà, come già accennato in precedenza, continua a valere finoalla Termination Date (ovvero fino alla data di scadenza) ma in questa sede adottiamo unasemplificazione ed ipotizziamo che gli ultimi otto scambi – ovvero quelli che avvengono nel

200

Up-Front -Nozionale 22.000,00Data Negoziazione 11/05/2005Data Inizio Contratto 17/05/2005Data di Scadenza 17/05/2010Frequenza di pagamento Parte A TrimestraleFrequenza di pagamento Parte B Trimestrale

Scambi Parte A Parte BDal 17/05/2005 al 17/05/2006 0,600% 4,60%Dal 17/05/2006 al 17/05/2008 Max [CN -1 + 3,75*(Eur3 – X); 0]Dal 17/05/2008 al 17/05/2010 CN – 1

Payment Dates Tasso Fisso (X)17/08/2006 2,75%17/11/2006 2,95%17/02/2007 3,15%17/05/2007 3,35%17/08/2007 3,55%17/11/2007 3,75%17/02/2008 3,95%17/05/2008 4,15%

Convenzioni Parte A Parte BDate di Reset Advance -

Day Count Fraction Act/360 Act/360

Page 223: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL IV – PATH DEPENDENCE

periodo compreso tra la data del 17/08/2008 e la data del 17/05/2010 (Termination Date) – sarannofissati al 12° scambio. Con la tabella IV.2, sottoriportata, proponiamo l'elenco delle date contenute nei vector dates Pdu eExu e l'elenco dei tassi fissi Xi associati alle rispettive date d'esercizio non corrette di cui al vettoreExu.

(Tabella IV.2 – Vector dates Pdu e Exu e tassi fissi Xi associati alle date d'esercizio non corrette)

Il processo stocastico sottostante in grado di descrivere l'evoluzione temporale del driver rate, deltasso di interesse di riferimento (che nel caso specifico è rappresentato dal tasso Euribor a 3 mesi,con scadenza trimestrale), potrebbe essere uno dei processi stocastici gestibili in Fairmat. Nel caso specifico abbiamo scelto il processo Hull & White ad un parametro, i cui parametri sonocosì valorizzati alla data di negoziazione (Trade Date):

• α (alpha): 0,000000010001438; • σ (sigma): 0,0634152698142725;

dove α indica il coefficiente di reversione media (mean reversion) mentre σ indica la deviazionestandard dei tassi a breve.

A questo punto dovremo aprire un nuovo progetto in Fairmat (ovvero un New Empty Project) edovremo inserire nell'ambiente Parameters & Functions gli input del problema. Con la figura IV.1 mostriamo come apparirà l'ambiente Parameters & Functions di Fairmat una

201

17/05/2005 17/08/2006 2,75%17/08/2005 17/11/2006 2,95%17/11/2005 17/02/2007 3,15%17/02/2006 17/05/2007 3,35%17/05/2006 17/08/2007 3,55%17/08/2006 17/11/2007 3,75%17/11/2006 17/02/2008 3,95%17/02/2007 17/05/2008 4,15%17/05/200717/08/200717/11/200717/02/200817/05/200817/08/200817/11/200817/02/200917/05/200917/08/200917/11/200917/02/201017/05/2010

Pdu (Payment dates

non corrette)

Exu (Date d'esercizio

non corrette)

Xi (Tasso fisso d'esercizio)

Page 224: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL IV – PATH DEPENDENCE

volta inseriti tutti gli input e tutti gli oggetti del problema relativo a questo tutorial.

(Figura IV.1: Riepilogo oggetti dell'ambiente Parameters & Functions necessari per la modellazione deltutorial Path Dependence)

I vettori di date Pd e rdAr derivano dal vettore Pdu, ovvero il vettore di date contenente le paymentdates non aggiustate, non corrette, mediante l'utilizzo della funzione di conversione delle dateVector's adjustment function. Il vettore time si ottiene, invece, utilizzando la funzione diconversione delle date Vector's difference function. Gli ultimi quattro oggetti inseriti nell'ambiente Parameters & Functions (ovvero il vettore Exu, ilvettore Ex, il vettore Xi e la funzione CN) si riferiscono specificamente alla caratteristica del PathDependent del contratto derivato oggetto di analisi del presente tutorial. In particolare: il vettore di date Ex (Exercise Date) contiene le date d'esercizio aggiustate, corrette,ovvero le payment dates del secondo e del terzo anno di contratto; il vettore Xi contiene, invece, itassi di interesse fissi associati alle payment dates contenute nel vettore Ex. Per quanto concerne la funzione ricorrente di Fairmat CN (figura IV.2) nel dettaglio:

• il suo vettore di riferimento è dato Ex; detto altrimenti la caratteristica del Path Dependent èindicizzata allo specifico vettore Ex;

• il suo valore iniziale (ovvero il "Starting Value") deriva dalla seguente espressione max(0,60% + 3,75% * (RATE(rdAr[5]; 0,25; @v1) – Xi[1]; 0) dove: 1) 0,60% indica l'ultima cedola rilevata prima dell'inizio del periodo di validità della

caratteristica del Path Dependent; 2) il vettore rdAr è indicizzata alla posizione numero 5 (detto altrimenti e meglio, il vettore

rdAr ha l'indice che parte dal valore 5) in quanto lo stesso deriva dal vettore Pdu ma la funzione legata alla caratteristica del Path Dependent parte dalla quinta data contenuta nel vettore Pd e quindi dalla posizione 5 del vettore Pd;

3) il vettore Xi ha l'indice che parte dal valore 1 in quanto, come il vettore Ex, anche lo stesso vettore Xi rappresenta uno specifico vettore per la funzione legata alla caratteristica del Path Dependent;

• la sua "Update Expression" (ovvero l'espressione di ricorrenza) è rappresentata dallaseguente: max (CN[x-1] + 3,75% * (RATE(rdAr[x+4]; 0,25; @v1) – Xi[x]; 0) nella quale

202

Page 225: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL IV – PATH DEPENDENCE

CN[x-1] rappresenta la caratteristica base del Path Dependent (per cui il valore di CN[x]dipende dal valore di CN[x-1]). Il valore della funzione CN dipende da x. Il vettore rdAr siriferisce alle payment dates mentre il vettore Xi è direttamente collegato, indicizzato, alvettore delle date d'esercizio Ex (@ex);

(Figura IV.2: dettaglio della funzione ricorrente CN)

La funzione CN si riferisce al payoff che la Parte A è tenuta a corrispondere per il secondo e per ilterzo anno di contratto. Più nel dettaglio e formalmente vale la seguente: Coupon(i)=max [Coupon(i−1)+ 3,75∗(Eur3−X (i)); 0] per i = 1,2, ..., 8 [IV.1]La funzione ricorrente CN vale per il periodo che va dalla data del 17/08/2006 fino alla data del17/05/2008, ovvero dalla quinta payment date fino alla dodicesima payment date. Tale funzionenecessita di un valore di partenza (corrispondente nel caso specifico a CN[1], dove CN[0] indica iltasso cedolare rilevato alla data del 17/05/2006 – Trade Date o data di negoziazione contratto – eche risulta essere pari allo 0,60%) e di un'espressione di aggiornamento, di un'espressionericorrente.

203

Page 226: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL IV – PATH DEPENDENCE

Notiamo che la variabile x si riferisce alle date di esercizio, mentre il vettore rdAr si riferisce allepayment dates. Così, ad esempio, quando x è uguale a 2 si avrà: rdAr[x+4] = rdAr[2+4] = rdAr[6]Xi[x] = Xi[2] e CN[x-1] = CN[2-1] = CN[1] ovvero il valore di partenza della funzione ricorrente CN.

Per implementare correttamente la caratteristica del Path Dependent in Fairmat è anche, esoprattutto, necessaria un'impostazione preliminare attivabile selezionando il seguente percorso: Settings → Numerical Settings → Advanced Settings successivamente si dovrà valorizzare il campo"Predictors" selezionando la voce Recurrence Functions + all State Variables (forced).

204

Page 227: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V

SWAPWITH

ASIAN OPTION

Page 228: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

Le opzioni asiatiche (o Asian Options) sono contratti finanziari derivati non standardizzati il cuivalore dipende dalla media dei prezzi, dei valori, dell'attività sottostante (quale può essere, peresempio, un indice azionario o un paniere di titoli azionari) durante un determinato periodo ditempo.

Descrizione

Con questo tutorial mostreremo un esempio di contratto swap con il quale si realizza lo scambio diun tasso di interesse fisso contro un tasso di interesse variabile. Più nel dettaglio la Parte A paga trimestralmente un tasso di interesse fisso del 4,50% mentre laParte B paga, a scadenza, il payoff di una Asian Option costruita sull'indice azionario FTSE MIB(ovvero sull'indice azionario di riferimento della Borsa Valori di Milano). Con la tabella V.1, sottoriportata, proponiamo la scheda tecnica del contratto derivato oggetto diquesto tutorial, appena descritto.

(Tabella V.1 - Scheda tecnica del contratto Swap con Asian Option)

205

€ 1.000.000,0016/06/201018/06/201018/06/2015

4,50%

4,50%

18/06/201118/06/201218/06/201318/06/201418/06/2015

-

NozionaleData di NegoziazioneData Inizio ContrattoData di Scadenza Frequenza di pagamento Parte A TrimestraleFrequenza di pagamento Parte B Alla Scadenza

Scambi Parte A Parte BDalla Data di Inizio Contratto Fino alla Data di ScadenzaAlla Data di Scadenza Max [70% ((ind_f/ind_i-1)-1); 0,00%]

- ind_i rappresenta il valore dell'indice FTSE MIB alla Data di Inizio Contratto; - ind_f rappresenta la media dei valori dell'indice FTSE MIB rilevati in corrispondenza delle Date di Osservazione;

Date di Osservazione

Convenzioni Parte A Parte B

Drivers rate per le date di resetIn corrispondenza delle Date di

Osservazione

Day Count ConventionsAct/360,

UnadjustedAct/360,

Unadjusted

Page 229: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

La principale caratteristica del contratto appena descritto è che esso è collegato al payoff finale chela Parte B sarà tenuta a corrispondere. La Parte B paga, infatti, un payoff corrispondente al 70%della variazione del valore dell'indice azionario FTSE MIB (indice di riferimento per la BorsaValori Italiana) da un suo valore di partenza ad un suo valore finale (qualora la differenza tra il suovalore finale e il suo valore iniziale rilevati sia positiva). In ogni caso, è bene notare che mentre la rilevazione iniziale occorre in corrispondenza di unaspecifica data (e più precisamente la data del 18/06/2010), la rilevazione finale è data da una mediaaritmetica dei valori dell'indice rilevati in corrispondenza delle Date di Osservazione (e piùprecisamente al 18 Giugno di ciascun anno e per 5 anni a partire dall'anno 2011). E' quindi in questo modo che dobbiamo determinare il payoff derivante da una Asian Option.

Implementazione con Fairmat

Con la tabella V.2, sottoriportata, riproponiamo la scheda tecnica del contratto oggetto di questotutorial in termini però diversi, ovvero in termini parametrici e quindi utilizzando gli oggettidisponibili nell'ambiente Parameters & Functions.

(Tabella V.2 - Scheda tecnica del contratto Swap con Asian Option)

206

Nozionale NData di Negoziazione Trade DateData Inizio Contratto Effective DateData di Scadenza Pda[end]Frequenza di pagamento Parte AFrequenza di pagamento Parte B

Scambi Parte A Parte B

Fix

Fix

Funzione FTSEcn

Convenzioni Parte A Parte B

Drivers rate per le date di reset -

Day Count Conventions Cvg_A Cvg_B

Frequenza del vettore PdaIn corrispondenza di Pda[end]

Dal tempo 1 Fino a Pda[end]In corrispondenza di Pda[end] Max [Gear ((ind_f/ind_i-1)-1); K]

- ind_i rappresenta il valore dell'indice FTSE MIB alla Data di Inizio Contratto; - ind_f rappresenta il valore ottenuto applicando la funzione incorporata AMean sui valori dell'indice FTSE MIB rilevati in corrispondenza di ciascun elemento del vettore Oda;

In corrispondenza di ciascun elemento del vettore Oda

Page 230: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

Per modellare il contratto Swap con Asian Option dobbiamo, innanzitutto, aprire in Fairmat unnuovo progetto vuoto (ovvero un New Empty Project). Selezionando il percorso Settings → Project Preferences → Tab Simulation Dates and Conventionsè possibile specificare la Valuation Date e la Effective Date (ovvero la Data di Inizio Contratto). Dopo di chè dovremo entrare nell'ambiente Parameters & Functions nel quale potremo inserire glioggetti necessari per la modellazione del contratto Swap con Asian Option, riepilogati attraverso latabella V.3.

(Tabella V.3 - Riepilogo e descrizione dati di input Tutorial Swap with Asian Option)

207

NOME TIPO DI DATO CATEGORIA DESCRIZIONE

N

K

Scalar ParametroIndica l'ammontare del capitale nozionale del contratto

Pdu Date Sequence ParametroE' il vettore delle date di pagamento non aggiustate, non corrette

PdaDate Vector Adjustmet

ParametroE' il vettore delle date di pagamento corrette, aggiustate per la Following Date Rolling Convention, ottenuto a partire dal vettore Pdu

CvgDate Vector Differences Calculator

Parametro

Date's Vector Differences Transformation ottenuta a partire dal vettore di date Pdu selezionando l'oggetto Actual360 nel menù a tendina “Day Count Convention” e l'oggetto Unadjusted nel menù a tendina “Date Rolling Convention”

ZrDiscFunzione

InterpolanteParametro Rappresenta la curva di sconto

Fix Scalar Parte A Indica il tasso cedolare fisso

Gear Scalar Parte B

Indica la percentuale (o tasso) di partecipazione nel cambio dell'indice FTSE MIB. Tale variabile viene utilizzata nella funzione definita dall'utente FTSEcn

Scalar Parte B

Indica il strike floor rate, ovvero il tasso di interesse minimo di esercizio. Tale variabile viene utilizzata nella funzione definita dall'utente FTSEcn

Odu Date Sequence Parte BE' il vettore delle date di osservazione non aggiustate, non corrette

OdaDate Vector Adjustmet

Parte B

E' il vettore contenente le date di osservazione aggiustate, corrette per la Preceding Date Rolling Convention, ottenuto a partire dal vettore Oda

FTSEcn Funzione Analitica Parte B

E' la funzione definita dall'utente che esprime il payoff che la Parte B dovrà corrispondere. In particolare, tale payoff è dato dal valore massimo fra il valore della variabile K e il risultato del prodotto ottenuto moltiplicando la variabile Gear e il rapporto fra i due valori assunti dall'indice FTSE (meno 1). Max è una funzione incorporata di Fairmat

Page 231: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

Una volta inseriti tutti gli input sopra elencati e riepilogati, l'ambiente Parameters & Functionsapparirà così come mostrato attraverso la figura V.1.

(Figura V.1: Riepilogo oggetti dell'ambiente Parameters & Functions necessari per la modellazione delTutorial Swap with Asian Option)

Dopo di chè dovremo definire il processo stocastico sottostante attivando l'ambiente StochasticProcess. Cliccando sul comando Add S. Process possiamo inserire un modello stocastico da quellipresenti in lista. La lista dei modelli disponibili può essere estesa con una serie di numerosi plug-insdisponibili on-line. Una volta inserito il processo stocastico dovremo aprire la finestra di editing e selezionare il tabData Source al fine di attivare il data-link – per cui dovremo valorizzare il campo "Binding type"selezionando la voce Bind object to specific data –, selezionare il mercato borsistico di riferimento– per cui dovremo valorizzare il campo "Market" selezionando, ad esempio con riferimento al casospecifico di questo tutorial, la voce EU. In questo caso specifico l'attività sottostante alla AsianOption è un indice azionario per cui dovremo specificare anche il ticker reference – valorizzando ilrelativo campo "Ticker" con il codice FTSEMIB Index, che è il ticker che identifica appunto l'indiceFTSE MIB nella piattaforma di Bloomberg Professional – oltre che la strategia di calibrazione delprocesso stocastico inserito – per cui dovremo valorizzare opportunamente il campo "Calibrationstrategy" (figura V.2).Per l'esempio specifico abbiamo selezionato un semplice modello GBM (Geometric BrownianMotion), collegato all'indice FTSE MIB, e la calibrazione avverrà utilizzando i dati relativi ai tassi abreve di mercato.

Dopo aver chiuso la finestra di editing, dovremo aprire il menù di contesto, premendo il tasto destrodel mouse e dovremo selezionare la voce Calibrate model using data provider. Per la scelta del Market Data Provider dovremo selezionare il seguente percorso: Settings →Fairmat Preferences → Tab Core Preferences → Tab General; arrivati al tab General dovremovalorizzare opportunamente il menù a cascata "Market Data Provider".

208

Page 232: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

(Figura V.2: Editing Tab Data Source)

Il passo successivo è quello di impostare il modello di discounting (figura V.3). Per questo esempiospecifico il tasso di crescita (ovvero il Growth Rate) del modello GBM è r-d (corrispondente al riskfree rate, ovvero il tasso di interesse privo di rischio, e quindi corrispondente al tasso di interesseche giace lungo la curva di sconto, la yield curve, in corrispondenza del tempo 0 sottratto ildividend-yield). Di conseguenza dovremo impostare il tasso di sconto (ovvero il discount rate) uguale alla costanteZrDisc(0).

(Figura V.3: Impostazione del modello di Discounting)

In aggiunta dovremo definire lo step di simulazione e il numero dei paths (ovvero dei percorsi) dellasimulazione Montecarlo (parte di destra della figura V.3). Possiamo specificare tali impostazioniselezionando il seguente percorso: Settings → Numerical Settings e compilando successivamente i

209

Page 233: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

campi "# of discrete time steps" e "# of simulated paths" (nel caso specifico preso in esame i campidovranno essere valorizzati inserendo, rispettivamente, i valori 1828 – ovvero il numero di giorni dicalendario intercorrenti fra la Simulation Date, ovvero la data di inizio simulazione, e laTermination Date, ovvero la data di scadenza, termine – e 5000 – ovvero il numero dei percorsisimulati (o "simulated paths").

Siamo a questo punto pronti per la modellazione del contratto Swap with Asian Optionnell'ambiente Option Map (parte di sinistra della figura V.4). Come già accennato, la Parte A paga, su base trimestrale, una serie di flussi di cassa connessi altasso di interesse fisso concordato. La Parte B paga, invece, un unico flusso di cassa, alla scadenza, a seconda della performancedell'indice FTSE MIB nel tempo. Per cui dalla tavolozza grafica della Option Map, attraverso un semplice drag&drop (letteralmente"trascina e lascia cadere") dovremo innanzitutto inserire un operator Functional al quale dovremopoi unire, attraverso due branches, una Strip of Options (che si riferirà alla Leg A del contratto e chequindi sarà relativa alla Parte A) e una Single Option (che si riferirà invece alla Leg B del contratto eche quindi sarà relativa alla Parte B). L'operator Functional permette, in particolare, di determinare la compensazione dei flussi di cassascambiati fra le parti contraenti assumendo il punto di vista soggettivo della Parte A (parte di destradella figura V.4).

(Figura V.4: Ambiente Option Map e Operator Functional)

Esaminando nel dettaglio le dinamiche relative alle parti contrattuali interessate e ai loro payoff(figura V.5) nella finestra di editing del tab Timing and Payoff relativa alla Parte A mostriamo unaserie di pagamenti che vanno dal tempo 1 fino al tempo corrispondente al valore a lenght(@Pda),ovvero una serie di pagamenti che coprono temporalmente tutta la lunghezza del vettore Pda (nelcaso specifico pari a 20), calcolati come un tasso di interesse fisso moltiplicato per il periodo di

210

Page 234: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

accumulo degli interessi (o Accrual Period) e per l'ammontare del capitale nozionale di riferimento.Premendo il tasto View possiamo notare come nel processo di iterazione così costruito, il simboloincognito (#) assume i valori 1, 2, ..., lenght(@Pda) – parte di destra della figura V.5.

(Figura V.5: Dettaglio del payoff della Parte A)

La Parte B (Leg B) del contratto è, invece, caratterizzata dalla funzione FTSEcn, funzione definita ecreata dall'utente nell'ambiente Parameters & Functions come y = f(x1 , x2) – dove x1 e x2 sono levariabili indipendenti e y è il risultato della funzione – richiamata nell'ambiente Option Map. Con l'eccezione legata alla variabile Gear (uno scalar che può essere invocato direttamentenell'ambito dell'editor della funzione), x1 e x2 sono sempre scalar risultati della funzione incorporataAMean come anche il valore del processo GBM in corrispondenza della Effective Date (valorerappresentato dall'oggetto V1 [Effective Date]).

(Figura V.6: Dettaglio della funzione FTSEcn, e del payoff della Parte B)

La funzione AMean (@vec; {expr}; [start]; [N]) restituisce la media dei valori dell'espressione exprvalutata dall'indice della posizione di partenza del vettore vec (ovvero start) per il numero N di

211

Page 235: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL V – SWAP WITH ASIAN OPTION

elementi considerati dal vettore stesso. I parametri start e N sono parametri opzionali per cui non èsempre necessario esplicitarli nella funzione. Qualora venga omessa la dichiarazione di taliparametri nella chiamata della funzione, le impostazioni di default saranno le seguenti start = 1 e N= lenght(@vec). Nel caso specifico di questo tutorial, il vettore di riferimento è Oba (ovvero il vettore delle date diosservazione aggiustate, corrette) e la funzione calcola una media dei valori assunti dal processostocastico V1 alle date di osservazione (corrette, aggiustate).

212

Page 236: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VI

RELOAD3BOND

Page 237: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VI – RELOAD 3 BOND

Introduzione

Il Bond Reload3 è un'obbligazione strutturata che prevede il pagamento di una cedola fissaperiodica e il pagamento di una cedola aggiuntiva determinata da un evento aleatorio o azionario. Il verificarsi di tale evento è, in particolare, condizionato all'andamento di alcuni indici di borsa (nelcaso specifico si tratta dei seguenti indici: Eurostoxx50, SP500, Nikkei250, Swiss Market e HangSeng). L'evento aleatorio o azionario contemplato nel contratto consiste in questo: data la media di ciascunindice riferita a tre date, ovvero le date 23/05/2008, 24/05/2008 e 25/05/2008 (il cui valore èrappresentato dalla variabile InitMean), il valore di ciascun indice non deve essere inferiore del90% (valore di confronto e di riferimento rappresentato dalla variabile thres) rispetto al valoremedio iniziale in almeno un anno a partire dal terzo anno di vita del contratto. La media dell'indice viene calcolata, in particolare, sui valori di chiusura rilevati i giorni 23, 24 e 25del mese di Aprile per ogni anno a partire dal terzo. Tali date, di riferimento ai fini del calcolo dellamedia dell'indice, sono, in particolare, contenute nel vettore di date RevD. A seconda dell'anno in cui si verifica l'evento viene definito il piano per il tasso cedolare aggiuntivopagato dall'obbligazione negli anni successivi.

Con la tabella VI.1 riportiamo i valori relativi al piano delle (eventuali) cedole aggiuntive nel casoin cui si verifichi l'evento aleatorio, o azionario, anno per anno.

(Tabella VI.1 – Piano delle cedole aggiuntive)

Per riga leggiamo le date di pagamento residue mentre per colonna leggiamo le cedole aggiuntiveda corrispondere qualora si verifichi l'evento aleatorio, o azionario, previsto contrattualmente. Per cui: qualora l'evento aleatorio o azionario si verificasse al 4° anno, al possessore del bondverranno corrisposte alla data del 23/05/2013 e alla data del 23/05/2014 delle cedole aggiuntive del,rispettivamente, 20,00% e 6,10%; qualora, invece, l'evento aleatorio o azionario si verificasse al 5°anno al possessore del bond verrà corrisposta alla data 23/05/2014 una sola cedola aggiuntiva del27,40%. Nel caso in cui, invece, l'evento aleatorio o azionario non si verificasse al possessore del bond nonverrà corrisposta alcuna cedola.

213

23/05/2013 0 20,00% 0

23/05/2014 0 6,10% 27,40%

Interessi aggiuntivi eventuali

No Evento

Evento

4° Anno 5° Anno

Page 238: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VI – RELOAD 3 BOND

Funzione ricorsiva

Per valutare qual è il valore ad oggi del bond Reload3 dobbiamo innanzitutto definire la matrice, didimensione 2x3, degli eventuali pagamenti delle cedole aggiuntive (o optional extra-coupons),ovverosia la matrice ExtraCpn nella quale tutti i valori della prima colonna sono posti pari a 0 (dalmomento che tali valori si riferiscono al caso in cui l'evento aleatorio o azionario non si verifichimai), mentre nelle due colonne successive verrà riportato il piano relativo alle cedole aggiuntive peri due anni, appunto, di contratto successivi al terzo (in quanto tali valori si riferiscono, invece, alcaso in cui l'evento aleatorio o azionario si verifichi, rispettivamente, o al 4° anno o al 5° anno). Nello specifico la matrice ExtraCpn si presenterà così:

Per valutare l'opzionalità delle cedole aggiuntive dobbiamo implementare una funzione ricorrenteavente lo scopo di identificare l'indice di colonna corretto della matrice ExtraCpn. Con la figura VI.1 mostriamo l'implementazione del payoff relativo al pagamento dell'eventualecedola aggiuntiva, o ai pagamenti delle eventuali cedole aggiuntive.

(Figura VI.1: Editing del payoff relativo al pagamento delle eventuali cedole aggiuntive)

In particolare nell'espressione della Strip of Options, la matrice ExtraCpn viene richiamata conindice di riga definito dai valori inseriti nei campi "From", "Step" e "To" (riportati nella parte altadella finestra di editing) e con indice di colonna definito dalla funzione XtCpCol.

Tale funzione serve, in particolare, per selezionare il valore dell'indice di colonna della matriceExtraCpn. La funzione ricorrente così definita ed utilizzata è nello specifico una Function definedby a recurrence expression (array) nella quale deve essere specificato (figura VI.2):

• il vettore sul quale devono essere iterati, ciclati, gli indici, valorizzando il campo "arrayreference";

• il valore di partenza della funzione, valorizzando il campo "Starting Value (XtCpCol(1)=)"; • il valore della funzione negli steps successivi, valorizzando il campo "Update Expression

(XtCpCol(x)=)";

214

0 20,00% 00 6,10% 27,40%

0 0,02 00 0,061 0,274

oppure così

Page 239: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VI – RELOAD 3 BOND

(Figura VI.2: Editing della funzione ricorrente XtCpCol)

Sempre osservando ancora una volta e più attentamente la figura VI.2, notiamo il fatto che perdefinire la funzione ricorrente XtCpCol abbiamo dovuto utilizzare la funzione ASprod, una funzioneche ci permette di valutare più attività sottostanti, e la funzione AMean. Quest'ultima ha comeargomento il vettore di date di riferimento RevD su cui calcolare la media, i processi (indicizzati conxa), l'indice (di posizione) della prima data da considerare per il calcolo ed, infine, il numero di datecomplessivo da considerare (in questo caso pari a 3 in quanto è compresa la prima data). L'espressione riportata nel campo "Update expression (XtCpCol(x)=)" provvede, in particolare, adaggiornare l'espressione pecedente considerando la situazione verificatasi in precedenza (con indicex).

215

Page 240: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII

CONVERTENDOBPM

2009/2013 - 6,75%WITH WARRANT

Page 241: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Introduzione

Un Mandatory Convertible Bond (ovvero un'obbligazione convertibile obbligatoriamente ascadenza) è un particolare tipo di obbligazione contenente la clausola di conversione obbligatoria, odi mandatory convertible appunto, da esercitarsi a scadenza. Fino alla scadenza, il possessore del bond riceve una cedola in corrispondenza di ciascuna paymentdate. A scadenza, il possessore del bond riceverà un dato numero di azioni di compendio, definitocontrattualmente, anzichè il rimborso del bond per il suo valore nominale. Nel caso preso in esame con questo tutorial, il possessore del bond ha anche la facoltà di convertireil valore nominale del bond in un dato numero di azioni di compendio prima della scadenza. Laconversione del bond comporta l'aumento del numero di azioni outstanding (ovvero in circolazione,costituenti il flottante di mercato) e, quindi, una diluizione del capitale azionario.

Nel corso dell'offerta al pubblico, al sottoscrittore del bond Convertendo BPM 2009/2013 – 6,75%viene anche proposta in offerta un'opzione Warrant la quale consente di sottoscrivere un certonumero di azioni BPM, emittende del bond in questione. Un warrant è, in particolare, un'attività finanziaria che conferisce al suo possessore la facoltà disottoscrivere, o di acquistare o di vendere, da esercitarsi a, oppure entro una certa scadenza, undeterminato numero di azioni (definite anche azioni di compendio) contro il pagamento di unammontare fisso, o comunque determinato sulla base di determinati criteri stabiliti contrattualmente(nel caso dei warrant di sottoscrizione o di acquisto), o contro dell'incasso di un certo di unammontare fisso, o determinato sulla base di determinati cristeri stabiliti contrattualmente (nel casodei warrant di vendita o di tipo put). Qualora il warrant riconosca al suo possessore l'esercizio dellafacoltà soltanto ad una determinata scadenza, allora lo stesso sarà di tipo europeo. Se, invece, ilwarrant riconosce al suo possessore l'esercizio della facoltà entro una certa scadenza, allora lostesso sarà di tipo americano. I warrant sono solitamente collegati a dei bond e possono essere utilizzati dall'emittente permigliorare il rendimento dei bond stessi rendendoli più appetibili ai potenziali acquirenti. Frequentemente tali warrant sono separabili rispetto al bond cui sono collegati (ovvero il cosiddettotitolo principale) e possono essere negoziati in modo del tutto indipendente rispetto al titoloprincipale stesso. Il prezzo del warrant viene definito premio. Avendo come sottostante titoli azionari, l'esercizio del warrant impatta, cambiandoli, sia il valoredelle azioni dell'emittente che il numero delle azioni outstanding. Infatti, a fronte del pagamento delprezzo d'esercizio del warrant, la società emittente emette nuove azioni: ciò porterà ad unariduzione del rapporto EPS (ovvero Earnings per Shares, rapporto Utile/Prezzo) e quindi ad unadimininuzione del livello di utile per ciascuna azione.

216

Page 242: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Un esempio

In questo esempio assumiamo di voler stimare il valore del bond e del warrant, descritti neldettaglio attraverso la scheda tecnica riportata con la tabella VII.1, alla data del 25 Agosto 2009.

(Tabella VII.1 – Scheda tecnica del Bond Convertendo BPM 2009/2013 with Warrant)

217

CONVERTENDO BPM 2009/2013 – 6,75% CON WARRANTNumero massimo di bond 695.535.200Numero di bond 4.599.624Numero di bond in offerta pubblica 4.599.624Valore nominale unitario 100,00Prezzo 100 + rateo interessi Data Inizio Contratto 03/07/2009Data Scadenza 01/06/2013

Frequenza cedola

BOND

Cedola

Conversione volontaria Periodo d'esercizio Dal 01/01/2010 al 28/03/2013Rapporto di conversione 100/7 azioni Conversione obbligatoria a scadenza

Rapporto di conversione

● 100/6

● 100/Prezzo Ufficiale

● 100/7WARRANT

Numero di Warrant assegnati 2.355.728Numero di Warrant da assegnare 4.599.624

Rapporto di assegnamento

Periodo d'esercizio Dal 01/05/2013 al 01/06/2013 Prezzo di sottoscrizione 8Rapporto d'esercizio 9 azioni di compendio per ciascun warrant esercitato

Annuale, A partire dal 10/06/2010

6,75% (Convenzione Act/365)

Media aritmetica dei 20 rapporti giornalieri di conversione osservati negli ultimi 20 giorni precedenti il terzo giorno di negoziazione antecedente la scadenza.Dove il rapporto giornaliero di conversione (o Daily Conversion Ratio – DCR) è pari a:

se il prezzo ufficiale delle azioni di compendio è ≤ 6;se il prezzo ufficiale delle azioni di compendio è compreso fra 6 e 7;se il prezzo ufficiale delle azioni di compendio è > 7;

1 warrant per ciascun bond sottoscritto durante il periodo della pubblica offerta

Page 243: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Il possessore del bond riceve una cedola annua del 6,75% (la prima cedola, in particolare, vienecorrisposta alla data del 10/06/2010) fino alla scadenza. Dalla data del 01/10/2010 alla data del 28/03/2013 il possessore del bond ha la facoltà (nonl'obbligo) di convertire il bond sottoscritto in un ammontare minimo di azioni BMP (ovvero diazioni di compendio), ed esattamente pari a 14,286 azioni per ogni bond sottoscritto (ovverosia ilrisultato del rapporto fra 100 e 7). Se ciò accade, ovvero se il possessore del bond esercitasse lafacoltà di conversione volontaria, egli non riceverà più nè le cedole annue previsto fino allascadenza nè il rateo di interessi. A scadenza il bond verrà automaticamente convertito in azioni, qualora il possessore del bond nonabbia esercitato prima la facoltà di conversione anticipata. Il numero di azioni attribuite all'investitore è dato dal rapporto giornaliero di conversione (o DailyConversion Ratio – DCR) osservato sui 20 giorni precedenti il terzo giorno di negoziazioneantecedente la scadenza (ovvero osservato duante il periodo di osservazione). Il rapporto di conversione giornaliero, in particolare, sarà pari a 16,667 azioni per ogni bondsottoscritto (ovverosia il risultato del rapporto fra 100 e 6) qualora il prezzo ufficiale delle azioni dicompendio (o Official Share Price) sia inferiore a 6 euro. Il rapporto di conversione giornaliero sarà, invece, pari a 14,286 per ogni bond sottoscritto(ovverosia il risultato del rapporto fra 100 e 7) qualora il prezzo ufficiale delle azioni di compendiosia superiore a 7 euro. Il rapporto di conversione giornaliero sarà, infine, pari al risultato del rapporto fra 100 e il prezzoufficiale delle azioni di compendio qualora lo stesso Official Share Price sia compreso fra i 6 euro ei 7 euro (per esempio: se si rileva un prezzo ufficiale per le azioni di compendio pari a 6,5 euro, ilrapporto di conversione giornaliero sarà pari a 100/6,5 = 15,385 azioni di compendio per ogni bondsottoscritto).Per cui il prezzo minimo di conversione è pari a 6 euro per azione di compendio mentre quellomassio di conversione è pari a 7 euro per azione di compendio. Il rapporto di conversione minimo è pari a 100/7 = 14,286 azioni per bond sottoscritto mentre ilrapporto di conversione massimo è pari a 100/6 = 16,667 azioni per bond sottoscritto.

Durante il periodo dell'offerta pubblica, ai sottoscrittori del bond verrà assegnato un warrat per ognibond sottoscritto. Il portatore del warrant può esercitare, in particolare, la facoltà di acquistare azioni ordinarie BPMal prezzo d'esercizio di 8 euro per ciascun warrant nel periodo che va dalla data del 01/05/2013 alladata del 01/06/2013. Il payoff del warrant è quindi assai simile a quello di un'opzione call di tipo americano (ovvero alseguente payoff: max{0; Sk – K}) dal momento che il portatore del warrant avrà convenienza adesercitarlo, esercitandone la facoltà incorporata, solo se il prezzo dell'azione sottostante supera ilprezzo d'esercizio. A differenza del caso delle opzioni call di tipo americano, l'esercizio del warrantcomporta però l'emissione di nuove azioni e quindi la diluizione del capitale sociale della societàemittente. Il prezzo del warrant dovrà essere pertanto aggiustato, corretto, da un coefficiente(denominato X) che dovrà tener conto di tale effetto. Il coefficiente X è definito come il rapporto frail numero delle azioni outstanding (corrispondente a N) e la somma dell'ammontare delle azionioutstanding più l'ammontare delle azioni emesse a seguito dell'eventuale esercizio dei warrant edell'esercizio della clausola di mandatory convertible (corrispondente a N+M) così che X = N/(N+M).

218

Page 244: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Un'implementazione con Fairmat

L'implementazione attraverso Fairmat dell'attività finanziaria descritta finora richiede una serie didati di input riepilogati attraverso la figura VII.1.

(Figura VII.1: Riepilogo dati di input del tutorial Convertendo BPM 2009/2013 – 6,75% with Warrant)

I parametri, appena elencati, possono essere classificati in tre categorie distinte: • i parametri specifici relativi al contratto in esame e oggetto del presente tutorial; • i parametri relativi ai dati di mercato; e, infine• gli oggetti di tipo ausiliari e strumentali (ovvero gli oggetti e le funzioni che rappresentano

le trasformazioni dei parametri);

Con la tabella VII.2 (riportata nella pagina successiva) vengono elencati e descritti dettagliatamentegli input che dovremo inserire nell'ambiente Parameters & Functions per la modellazione, prima, ela valutazione, poi, del Bond Convertendo BPM with Warrant.

219

Page 245: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

(Tabella VII.2 - Riepilogo e descrizione dati di input Tutorial Convertendo BPM with Warrant)

220

NOME TIPO DI DATO DESCRIZIONE

Mat Costant Indica la scadenza del bond Convertendo BPM

Pd Date Sequence

C Vector

sd Costant

ed Costant

RcMin Costant Indica il rapporto di conversione minimo (pari a 100/7)RcMax Costant Indica il rapporto di conversione massimo (pari a 100/6)PcMin Costant Indica il prezzo minimo di conversione PcMax Costant Indica il prezzo massimo di conversioneCoupon Costant Indica il tasso cedolare annuoN Costant Indica il valore nominale del bond Convertendo BPMsdW Costant Indica il primo giorno del periodo d'esercizio del warrant StrikeW Costant Indica il prezzo d'esercizio del Warrant

nW Costant

f1

X Costant

ZR

q

Pda

Cvg

E' il vettore delle date di pagamento non aggiustate, non corrette, di dimensione 4x1, utilizzando per gli oggetti ausiliari Pda e CvgE' il vettore contenente le date test approssimativamente di richiamo (o di callability) che cadono con frequenza bisettimanale anziché ogni giornoIndica il primo giorno di riferimento per il calcolo del rapporto di conversione giornaliero medioIndica l'ultimo giorno di riferimento per il calcolo del rapporto di conversione giornaliero medio

Indica il numero di azioni di compendio per ciascun warrant esercitato

Funzione Analitica

E' la funzione analitica che permette di determinare il rapporto di conversione giornaliero. In particolare le variabili della funzione analitica f1 sono le seguenti: x

1 = V

1; x

2 =

PcMin; x3 = RcMax; x

4 = PcMax; x

5 = RcMin;

La funzione analitica ha, al suo interno, il seguente costrutto di selezione: iif (x

1 ≤ x

2 ; x

3 ; iif (x

1 ≥ x

4 ; x

5 ; N/x

1 ))

Indica il fattore di correzione, di aggiustamento, della diluizione di capitale a seguito dell'esercizio dei warrant e della conversione dei bond emessi

Funzione Interpolante

Indica la Zero Rate Curve ottenuta a partire dai tassi a breve (spot) attraverso un modello di bootstrap

Funzione Interpolante

Indica il dividend yield (ovvero il rapporto tra il dividendo staccato da un'azione e il prezzo di mercato dell'azione stessa) ottenuta a partire dalla parità put/call in corrispondenza di ciascuna scadenza

Date Vector Adjustment

E' il vettore delle date di pagamento corrette, aggiustate per la convenzione specificata (ad esempio Modifing Following, ottenuto a partire dal vettore Pd

Date Vector Difference Calculator

Date's Vector Differences Transformation ottenuta a partire dal vettore di date Pd selezionando nei menù a tendina “Day Count Convention” e “Date Rolling Convention” l'oggetto relativo alla convenzioni specificate (ad esempio Act/Act e Unadjusted)

Page 246: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Modelliamo il processo stocastico sottostante che si riferisce all'andamento delle azioni dicompendio (e che per comodità e semplicità di esposizione denomineremo semplicemente BPM)utilizzando il modello di Heston i cui parametri di riferimento sono riepilogati attraverso la tabellaVII.3, sottoriportata:

(Tabella VII.3 – Parametri di riferimento del modello stocastico)

Attraverso la figura VII.4 mostriamo il riepilogo dei parametri del processo stocastico sottostanteinseriti nell'ambiente Stochastic Process.

(Figura VII.3: Riepilogo parametri del processo stocastico sottostante – modello di Heston)

221

NOME DESCRIZIONE

Indica il valore iniziale del processo di variazione istantanea

K

theta

sigma

Zero Rate Cuve

S0

Indica il valore iniziale del processo stocastico (riferito al titolo azionario)

V0

Indica il tasso al quale la variazione istantanea ritorna al valore di thetaIndica la varianza lunga, o meglio la varianza media di lungo periodo, del prezzoIndica la volatilità della variabilità e determina quindi la varianza della variazione istantaneaIndica la Zero Rate Curve ottenuta a partire dai tassi a breve (spot) attraverso un metodo di bootstrap

Dividend Yield Curve

Indica il dividend yield (ovvero il rapporto tra il dividendo staccato dall'azione e il suo prezzo di mercato) ottenuta a partire dalla parità put/call in corrispondenza di ciascuna scadenza

Page 247: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Implementazione del bond Mandatory Convertible

Possiamo stilizzare il bond Convertendo BPM 2009/2013 – 6,75% come un bond che paga unacedola del 6,75% in corrispondenza di ciascuna payment date con una serie di opzioni incorporate. Nel periodo che va dal 01/10/2010 al 28/02/2013, il possessore del bond ha la facoltà di convertireil bond in un ammontare minimo di azioni BPM, ed esattamente pari a 100/7 = 14,286 azioni perogni bond sottoscritto. Possiamo stilizzare tale facoltà come una clausola di richiamo anticipato (ocallability). Attraverso la figura VII.4 mostriamo la fase di editing della prima cedola annua corrisposta infavore del possessore del bond. Il possessore del bond riceverà tale cedola annua alla data del01/06/2010 (con una probabilità del 100% e quindi sicuramente) dato il fatto che il periodo diconversione volontaria inizia più tardi, successivamente.

(Figura VII.4: Fase di editing della prima cedola annua corrisposta in favore del possessore del bondMandatory Convertible)

Il possessore del bond riceverà poi la seconda cedola annua e la terza cedola annua solo se non èstata effettuata nè richiesta la conversione volontaria (ovvero la clausola di callability che andremoa stilizzare attraverso Fairmat) . Infatti, sia la seconda che la terza payment date sono comprese nelperiodo di conversione volontaria. Qualora il possessore del bond eserciti la clausola di callability, riceverà un prestabilito numero diazioni di compendio (ed esattamente pari a 14,286 azioni per ogni bond sottoscritto, nel casospecifico). Dopo di chè il bond verrà estinto, per cui nè le cedole periodiche nè i ratei di interessiverranno pagati. Il vettore C contiene le date alle quali la callability può essere esercitata dall'investitore. Il vettore C

222

Page 248: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

deve contenere le date corrispondenti alle payment date della seconda cedola annua e della terzacedola annua (ovvero gli oggetti Pd[2] e Pd[3]). Se per una determinata data con indice #, C[#]corrisponde ad una delle payment date Pd[2] e Pd[3] e la callability non è ancora stata esercitata,l'investitore riceverà la cedola annua. In relazione alla clausola di callability, nella fase di editing dobbiamo specificare il payoffalternativo (compilando il campo "Alternative Payoff") dato, nel caso specifico, dal prodotto delrapporto minimo di conversione (pari a 14,286) per i valori delle azioni di compendio incorrispondenza della data corrispondente all'oggetto C[#]. Per cui il payoff alternativo sarà dato dalla seguente espressione: RcMin * V1[C[#]].

Attraverso la figura VII.5 mostriamo la fase di editing della seconda cedola annua e della terzacedola annua corrisposte in favore del possessore del bond.

(Figura VII.5: Fase di editing della seconda cedola annua e della terza cedola annua corrisposte in favore delpossessore del bond Mandatory Convertible)

223

Page 249: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Qualora la clausola di callability non venisse esercitata, il possessore del bond riceverà anche laquarta cedola annua (la cui fase di editing viene mostrata attraverso la figura VII.6) e il bond verràautomaticamente convertito in un certo ammontare di azioni.

(Figura VII.6: Fase di editing della quarta, ed ultima, cedola annua corrisposta in favore del possessore delbond Mandatory Convertible)

Possiamo modellare il payoff a scadenza utilizzando un'opzione di tipo Committed dal momentoche la conversione è un evento certo. Alternativamente, possiamo stilizzare il payoff a scadenzacome una combinazione di una posizione lunga sulla media a 20 giorni della variabile sottostante,con una posizione corta su un'opzione put di tipo europea con strike price pari a 6 euro e con unaposizione lunga su un'opzione call di tipo europea con strike price pari a 7 euro. Con la figura VII.7 mostriamo la fase di editing del payoff a scadenza.

(Figura VII.7: Fase di editing del payoff a scadenza corrisposto in favore del possessore del bond MandatoryConvertible)

224

Page 250: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Calcoliamo il rapporto di conversione come la media a 20 giorni dei rapporti di conversionegiornalieri osservati dalla data di inizio del periodo di osservazione (ovvero a partire dalla datacorrispondente all'oggetto sd) fino alla data di fine del periodo di osservazione (ovvero a partiredalla data corrispondente all'oggetto ed). Per calcolare tale media utilizzeremo la funzione di Fairmat IMean la quale valuta l'espressionecompresa entro le parentesi (nel caso specifico verrà valutata la funzione f1) da sd fino a ed, e necalcola la media.

Modellazione del Warrant

Possiamo modellare il warrant come un'opzione call di tipo americano scritta sul medesimosottostante (ovvero sulle azioni di compendio BPM) con strike price indicato dalla costante strikeW(e quindi pari a 8) e con un periodo d'esercizio compreso fra la data del 01/05/2013 (corrispondenteal valore della costante sdw) e la data del 01/06/2013 (corrispondente al valore della costante pda). Ciascun warrant conferisce la facoltà di ricevere 9 azioni di compendio, per cui il payoff dovràessere moltiplicato per tale leva (rappresentata nello specifico dalla costante nw). Con la figura VII.8 mostriamo la fase di editing del payoff relativo al warrant.

(Figura VII.8: Fase di editing del payoff relativo al warrant)

Per stimare il valore del warrant nella maniera corretta dovremo tenere conto dell'effetto didiluizione del capitale causato dall'esercizio dei warrant e dalla conversione dei bond. Calcoliamo il fattore di aggiustamento X come il rapporto fra l'ammontare delle azioni outstanding(pari al caso specifico a 415.034.000) e la somma dell'ammontare delle azioni complessivamente incircolazione e le azioni emesse a seguito dell'esercizio dei warrant e dei bond convertibili conclausola di mandatory convertible (il cui ammontare minimo è pari a 159.973.096 mentre quellomassimo è pari a 173.883.800).

225

Page 251: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Con la figura VII.8 mostriamo la fase di editing dell'operator Functional che, inserito, nell'ambienteOption Map, ci permette di tenere conto del fattore di aggiustamento X ai fini della valutazione delwarrant. Nel caso specifico preso in esame il fattore di aggiustamento varia da un valore minimo di 0,7 finoad un valore massimo di 0,72 in quanto la variabilità del rapporto di conversione del bond varia daun valore minimo di 14,286 fino ad un valore massimo di 16,667.

(Figura VII.8: Modellazione del fattore di aggiustamento)

226

Page 252: LA PIATTAFORMA FAIRMAT ® PER LA …fairmat.it/GuidaFairmatAcademic.pdf · • Integrazione e soluzione software: Fairmat Srl fornisce prodotti software e soluzioni personalizzate

TUTORIAL VII – CONVERTENDO BPM 2009/2013 - 6,75% with WARRANT

Stima del Mark to Market

Una volta terminata la fase di modellazione del contratto in esame, possiamo procedere alla stimadel suo valore assumendo il punto di vista dell'investitore, e quindi ottenere del Mark to Marketdello stesso. Il valore totale del bond convertibile e dell'opzione warrant è pari a 96,69. I tabs Figure e Data descrivono la distribuzione di probabilità del Mark to Market (figura VII.9).

(Figura VII.9: Mark to Market e statistica descrittiva)

Possiamo anche prendere in considerazione il solo valore del bond convertibile cliccandosull'opzione First Coupon con il tasto destro del mouse e selezionando successivamente la voceAnalysis e poi la voce Valuation.

227