...

dispensa

by user

on
Category: Documents
14

views

Report

Comments

Description

Transcript

dispensa
CONTENUTI:
•
•
•
•
•
Presentazione del corso
Banca dati Datastream
Titoli obbligazionari
Titoli azionari
Derivati
pag. 1
pag. 4
pag. 15
pag. 22
pag. 26
MOTIVAZIONE DEL CORSO:
• Le conoscenze tecnico-quantitative richieste agli operatori del
settore finanziario sono sempre maggiori.
OBIETTIVI:
• Il corso si propone di fornire agli studenti la capacità di tradurre in
applicazioni numeriche e grafiche i modelli teorici di valutazione
delle attività finanziarie (titoli azionari, obbligazionari e derivati) e di
scelte ottimali di portafoglio.
• In particolare viene analizzata l’applicazione del programma Excel
ai più comuni modelli finanziari
• Che vengono implementati utilizzando dati reali ottenuti dalla banca
dati DATASTREAM.
RICEVIMENTO: UFFICIO 71
Modalità di valutazione
• Alla fine del modulo lo studente deve
sostenere la prova d’esame che consiste:
• in una simulazione all’interno
dell’ambiente Excel e in una discussione
orale della prova.
Testi
Il testo di riferimento è il seguente:
• Simon Benninga, Modelli Finanziari, la
finanza con Excel, McGraw-Hill, 2010,
Seconda Edizione con CD-Rom allegato.
• Per approfondimenti su Excel e
DATASTREAM consultare i relativi
manuali o l’help in linea.
MATERIALE DIDATTICO
INTEGRATIVO
• LUCIDI DELLE LEZIONI
• FOGLI DI CALCOLO
• DISPONIBILE SUL SITO DEL DOCENTE:
http://morgana.unimore.it/muzzioli_silvia/
Contenuti del corso
•
Richiami di Excel ed introduzione alla banca dati DATASTREAM
•
Operazioni finanziarie semplici e complesse. Criteri di scelta tra investimenti.
•
I titoli obbligazionari: Duration, Convexity e immunizzazione
•
La struttura per scadenza dei tassi di interesse
•
Teoria di portafoglio e CAPM
•
Il Value at Risk
•
Il modello binomiale per la valutazione di opzioni
•
L’esercizio anticipato delle opzioni
•
Distribuzione lognormale e modello di Black and Scholes
Usare funzioni RATA, VAN etc…
Usare “ricerca obiettivo” ed il
“risolutore”
Usare funzioni “durata” etc..
I grafici in Excel
Usare l’opzione “aggiungi linea di
tendenza”
Usare funzioni matrice e tabelle
dati
Ricerca di quantili e VAR
Distribuzione di Probabilità Normale
Funzione di Densità
0,014
Probabilità
0,012
0,01
0,008
0,006
0,004
0,002
0
0
30
60
90 120 150 180 210 240 270
Valori del Portafoglio
Il modello binomiale
Simulazioni di Monte Carlo
Prezzo azione ($)
La simulazione del sentiero dei
prezzi azionari
40
35
30
25
20
0
200
100
Giorno
300
Distribuzioni di frequenza
Distribuzione di frequenza dei
rendimenti dell'indice S&P 500
Distribuzione di frequenza
lognormale
20
Frequenza
200
15
150
100
10
50
5
0
2,25
1,95
1,65
1,35
1,05
0,75
0
-0,03
-0,02
-0,01
0
0,01
0,02
0,03
La volatilità implicita
Volatilità implicita
Volatilità Implicita della Call
50%
40%
30%
20%
10%
0%
5
7
9
Prezzo-obiettivo della call ($)
11
Programma del corso di
DATASTREAM
•
•
•
•
Introduzione
Trovare serie storiche
Creare grafici e report
Importare i risultati in Excel
1. Introduzione
Communication Server / Mainframe
DSAdvance è una interfaccia per fare report
e grafici
Datastream fornisce dati direttamente al PC
attraverso una linea ad alta velocità collegata al
Mainframe di Londra.
Online or Offline?
• Per default ci si connette e si va online quando i
dati vengono richiesti. Si può lavorare offline e
aggiungere le richieste al progetto con Add New
request
Connettersi
• Il bottone con un fulmine nell’angolo in basso
dello schermo indica connessione. Tools /
Connect Now
• Cliccare col destro del mouse sul fulmine /
Connect Now
• Run Now per richiedere dati, grafici o report
INACTIVITY TIMEOUT
• Per connettersi uno alla volta, è utile impostare la
comunicazione nel seguente modo:
• CONFIGURE\ COMMUNICATIONS\ INACTIVITY
TIMEOUT = 10 SEC
• Riavviare datastream per rendere effettive le modifiche.
• Altrimenti si impegna la linea anche quando non si
stanno richiedendo dati!
• In seguito vedremo l’opzione schedule night shift che
serve per richiedere dati in un momento futuro, ed
aggiornarli con una frequenza prestabilita.
Dati
Datastream è un database storicofinanziario con 4 moduli principali:
Dati
• I dati sono controllati molte volte per
assicurarne la correttezza.
• Sono regolarmente aggiornati
giornalmente.
• I dati su Equities e Indices sono disponibili
dal 1964, le serie macroeconomiche dal
1950.
Help in Datastream
•
•
•
•
•
Centro assistenza di zona.
Responsabile clienti di zona
Extranet – Datastream.com Sito Web Extranet
contenente informazioni di supporto e indicazioni. Sul
sito sono presenti anche i manuali (vedere il punto 5),
alcuni fogli di lavoro di Excel nonche` gli ultimi numeri di
Infostream.
Registrazione:
http://www.datastream.com/registration/registfm.htm
Accesso: http://support.datastreamicv.com
TOOLS\ OPTIONS\ INTERNET\ WEB BROWSER
ENABLED\ CLICK SUL TASTO DATASTREAM.COM
Manuali in linea: Help/online manuals: Getting Started
[Guida introduttiva]
Lo schermo di DSAdvance
• Cinque parti dello schermo:
• 1. Selezione del Database – Data Category
• 2. Selezione Programmi – Charting e Analysis: generare Overview,
grafici (Chart), Reports, scaricare serie storiche (Single series data),
confronti tra più serie (multiple series).
• 3. Campo find per serie e datatypes
• 4. Parametri – Time period, currency, settings
• 5. Schermo di output
• Cambiare la grandezza della finestra
• Drag & Drop splitter bars per cambiare la grandezza dell’output e
del progetto
• Bottone Viewport Zoom per allargare o ridurre la grandezza dei
report o grafici richiesti.
Esempio: Overview of Company
Performance - Mediaset
• Mostrare l’Overview of Company Performance per il titolo
Mediaset su 3 anni in Euro.
• Database = Equity = Mediaset
Output
= Overview of Company Performance
Time period = 3 years
• 1.
• 2.
•
•
•
•
•
3.
4
5.
6.
7.
Selezionare Equity database tab
Selezionare program tab: Overview of a single series
Selezionare output: Overview of Company Performance
Time period = -3Y
Currency = Euro
Selezionare Equity: Scrivere in Find field = Mediaset
Run Now per richiedere il grafico
Viewport Zoom
DATAST REAM EQUITIES
Mnemonic - I:MS
Local Code - M106321
Current Price
12 Mth Range
High
Low
10/01/12 11.23
MEDIASET
Geography Code - IT
Exchange - Milan
2.0820
4.9225
1.8410
12:07
9/ 2/11
23/11/11
Price Change
1mth
(E)
-4.5%
3mth
-18.4%
EPS
PE
12mth PE Rel.
-52.0% P/Cash
Relative to FITASHE
1.7%
-10.1%
-34.4%
Market Value (E)
2459.31M
P rice and Index (rebased)
10
Fin.Yr LocStd
I/B/E/S
12/10 09/11 12/11 12/12
0.31
0.29
0.26
0.25
6.7
7.2
8.0
8.5
65.3%
1.36
(%=Rel to DS Index)
Dividend Rate (E)
0.22
Dividend Yield
10.57
Dividend Cover
1.3
Div Last Fin Year
0.35
Last Div Paid YR (E)
0.35 Tax- G
Pay Date 26/05/11
XD Date 23/05/11
(E)
Total sales
Pre-T ax Prof.
Publ. EPS
Cash EPS
Mkt to Bk Val
ROE (%)
5
0
2007
2008
2009
MEDIASET
FTSE ITALIA ALL SHARE (PI)
Industry Group - BRDEN
Sector - MEDIA
2010
2011
12/08
12/09
12/10
4198M 3815M 4254M
693M
448M
600M
0.39
0.24
0.31
1.45
1.34
1.53
1.93
2.91
2.04
18.21
11.32
14.23
No. Shares in Issue
1181226(000s)
Volume
4814.6(000s)
Percentage of free float
60%
Volatility
13
Beta
0.954
Correlation
0.662
Source: Thomson Reuters Datastream
Trovare Serie storiche
• Selezionare la scheda Equity
1. Simple Find - In Find Series scrivere il nome della
società, il nome della serie etc. si apre così il
datastream navigator
Free text search: ricerca libera
Advanced search: impostare parametri
2. Find * - In Find Series scrivere * +parte del nome
della serie.
3. Possibilità applicare filtri per mercato, valuta, etc..
Stop filtering per annullare filtri.
Chart of a single series - Bayer
• 1. Per Bayer usare un Line chart per mostrare
l’andamento del prezzo su tre anni.
• 2. Selezionare Price and Price Relative chart
per confrontare Bayer con l’indice DAX30
• 3. Cambiare l’indice con il MSCI Germany local
currency index
• 3’. Cambiare l’indice con il Dow Jones Euro
Stoxx 50 index
Chart of a single series - Bayer
• parte 1- Line Chart del prezzo di Bayer
• 1. Equity: selezionare Bayer già trovato
con il filter
• 2. Cartella Programmi: Chart of a single
series / Line Chart
• 3. Impostare il Time period = -3Y / Run
Now
esempio B: Chart of a single
series - Bayer
• parte 2 – Price Relative Chart: Relative
to local index
• 1. Selezionare l’output:
Price and Price Relative Chart / Run
esempio B: Chart of a single
series - Bayer
• parte 3 – Cambiare l’indice relativo:
1. Nel campo Settings / selezionare Default Index
Selezionare: MSCI Country Index (Local) / OK /
Run Now
• parte 3’ – Price Relative Chart: Relative to
Dow Jones Euro Stoxx 50 index
1. Nel campo Settings selezionare relative index
Nel campo Find scrivere: *STOXX 50/OK / Run
Now
Cambiare la Data o il datatype –
Mediaset
• Mostra l’andamento del prezzo di
Mediaset negli ultimi 5 anni.
• Mostra il Price Earnings Ratio di Mediaset
dal Gennaio 1 2001
Mediaset
• parte 1 –
• Selezionare Mediaset dal database Equity
• Tra i programmi selezionare: Chart of a
single series/ Line Chart
• Impostare il Time period = -5Y
Impostare la Currency = Local Currency
• Nel campo Find = * Mediaset
• Selezionare Mediaset / Run Now
parte 2 – Configurare le Date
• Mostrare Fixed & Relative Dates
• Configurare le date:
Start = Fixed 1/1/01
End = Relative 0 Day
• Controllare Before Today
parte 3 – Selezionare come tipo
di dati (datatype) P/E Ratio
• 1. Selezionare datatype
• 2. Selezionare P/E ratio
• Per vedere come è definito:
clicca su icona “libro”
• Nota bene: L’output del grafico ha una limitazione
nella frequenza dei dati. I dati giornalieri posso essere
graficati fino a due anni, quelli settimanali fino a 4 - 5
anni e così via.
Grafico di medie mobili (Moving
Average Chart)
• Nel campo Chart of a single series è
possibile selezionare 2 diversi Moving
Average Charts.
• 1. con parametri fissi: Moving Average
Chart with fixed parameters (5 and 20
days)
• 2. l’altro con parametri configurabili:
Moving Average Chart - Configurable
Esempio: Moving Average Chart
– Configurable – Fiat
• Mostrare il grafico delle medie mobili a 20 e 50
giorni per il prezzo di Fiat nell’ultimo anno.
• 1. Digitare nel campo find di Equities Fiat e
selezionarlo.
• 2. Tra i Programmi: Chart of a single series/
Moving Average Chart – Configurable
• 3. Impostare la Data: = -1Y
Impostare il datatype = Price (Adjusted)
• 4. Nel campo Settings: selezionare options
e impostare le frequenze delle medie mobili
• 5. OK /Run Now
8.50
FIAT
FROM 7/ 1/11 TO 9/ 1/12 DAILY
8.00
7.50
7.00
6.50
6.00
5.50
5.00
4.50
4.00
3.50
3.00
JAN
FEB
MAR APR
ACTUAL
20 DAY MOVING AVERAGE (M1)
50 DAY MOVING AVERAGE (M2)
MAY
JUN
JUL
AUG
SEP
OCT
NOV
DEC
JAN
Source: Thomson Reuters Datastream
Favoriti – Salvare le richieste
usate spesso
•
•
•
•
usare l’opzione Favourites per registrare le
richieste più usate.
Per salvare Moving Average 20 day and
50 day nell’ esempio:
Dopo Run Now selezionare Add Fav.
In Favourites scrivere un nome a piacere
(e.g. MAV 20 day & 50 day)
Dare OK
Programmi: Report on a single
series
• Comprende utili reports.
• Selezionare Performance over 1, 3, and 12
months – ex: coca cola
• 1. Equity
= Coca Cola
• 2. Scheda Programmi 3: Report on a single
series / Performance over 1, 3 and 12 Months /
Run Now
• Fixed end date/today
Scheda report
• Overview of company performance
• Dividend payment report
• Capital issues and changes
Titoli (Bonds)
• Per trovare un bond:
1. In Find: scrivere il nome, il codice
locale…
2. usare il Filter
Esempio: Overview of Bond Performance
– Germany Government 2003 4 3/4%
04/07/2034
• mostrare l’Overview of Bond Performance per il
titolo Germany Government su 12 mesi.
• Nel campo Bond
• Scheda Programmi 1: Overview on a single
series/ Overview of Bond Performance
• Date = -1Y
• 4. Usare il Filtro:
• Market = Germany
Borrower = Germany
nell’advanced search: Coupon = 4 3/4%
• 5. selezionare il Bond / Run Now
Summary Information
• Mostra tutte le informazioni disponibili sul
bond.
Grafici delle curve dei rendimenti
dei titoli obbligazionari di stato
• Advance permette anche di recuperare e visualizzare le
curve dei rendimenti. Nella scheda Constituents sono
memorizzate le liste per paese. Dopo la selezione della
lista desiderata, è possibile visualizzarne i dati tramite un
grafico utilizzando un programma apposito.
• Nella scheda list of series-summary [Riepilogo
elenco], Yield curve chart.
• Il pulsante permette di impostare ulteriori opzioni, in
modo da consentire la visualizzazione di curve riferite
alla stessa data ma di anni precedenti.
• Per visualizzare la stessa serie ma dell'anno precedente,
selezionare la casella e usare l'orologio per impostare la
data.
• Si possono confrontare due serie sullo stesso grafico.
8
DATE OF CHART 9/ 1/12
7
6
5
4
3
2
1
0
0
5
10
15
ITGVT CURVE TO POWER 3
FRGVT CURVE TO POWER 3
X AXIS - LIFE
Y AXIS - REDEMPTION YIELD
20
25
30
35
40
45
49
Source: Thomson Reuters Datastream
7. Indici
•
•
•
•
Trovare un Indice
selezionare il database equity Indices
Aprire datastream navigator
Exploring equity indices (non è disponibile per Equities,
Bonds or Unit Trusts)
• By market: Germany>Deutsche Borse>Dax
esempio: l’indice DAX
• 1. selezionare l’indice tedesco DAX e mostrare un
grafico Line Chart del prezzo per l’ultimo anno.
• Line chart of Price Index during last year
• 1. selezionare output: Chart of a single series/ Line
Chart
• 2. Time Period = -1Y
Datatype = Price Index / Run Now
8. Serie storiche di dati
• In single series-data selezionare Time Series
Data per fare il download dei valori di una
singola serie tra due date ad una frequenza
predefinita.
• I dati possono essere scaricati e trasferiti in
Excel.
• Per molte serie storiche usare multiple series –
time series data.
• usare il tasto Add
esempio: serie singola Time
Series Data
• richiedere I prezzi con frequenza mensile per il NASDAQ
nel periodo dall’ 1/1/99 ad oggi.
• Trasferire in Excel I risultati.
• parte 1 – selezionare il programma e il database
index
• 1. Database Index \ Tra i Programmi single series-data
/ Time Series Data \
• 3. Time: Fixed =1/1/99, Relative = 0 Days
datatype
= Price Index
Currency
= US$
esempio: Time Series Data –
NASDAQ Composite Index
• parte 2 - Settings
• Settings.
Frequenza = Monthly
/ OK / Run Now
• parte 3: Trasferire i dati in Excel
• 1. Tools / Transfer / Excel
• 2. selezionare options
Trasferire come Refreshable object
Trasferire a un foglio nuovo (New Sheet) per aprire
Excel
Metti i dati in (place data at): cella attiva (Active Cell) /
OK
9. Constituent Lists
• Constituent lists sono liste di azioni e titoli che possono essere
scaricate.
• esempio: Performance a tre mesi (Performance over 3 months)
–FTSEMIB
• parte 1 – Database Constituents
•
trovare FTSE MIB (LFTSEMIB)
• parte 2 - mostrare la Performance su 3 mesi
• 1. List of series- Summary / Performance ranked over 3 months
• 2. datatype = Price (adjusted) / Run Now
esercizio: Top 30 performers dei
Constituents del FTSE 250
• selezionare i FTSE 250 constituents. mostrare un grafico
a barre (bar chart) dei migliori 30 su 1 mese e 12 mesi.
• parte 1: trovare la serie
• 1. database Constituents
• Name
= *LFTSE250 / OK
• parte 2: grafico
• Summary – for a list of series / Bar Char: Top 30 Perf
over 1 and 12 months
Run Now
11. Progetti (projects)
• I progetti sono un modo per richiamare report o
grafici che sono usati spesso. Ogni richiesta
viene automaticamente inserita nel progetto.
• salvare un Progetto:
• 1. File / save As
2. Note: La cartella di Default è “users”.
L’estensione del file = .ADV
Progetto
•
•
•
•
•
•
•
•
•
•
•
New Project
Un nuovo progetto ha lo schermo di richiesta pulito
1.
Aprire DSAdvance
2.
New Project
Open a Project
Per aprire progetti salvati:
File/ Open
Update a Project
Un progetto può essere aggiornato cliccando su refresh o prevedendo un
Night Shift
1.
Refresh Current request - aggiorna una singola richiesta
2.
Refresh Project - aggiorna l’intero progetto
3.
Tools/ Schedule Night Shift – aggiorna automaticamente il progetto ad
una frequenza prestabilita o in un momento prestabilito.
esempio: salvare il progetto e
prevedere un night shift
• salvare il progetto corrente.
Schedulare il progetto in modo che sia aggiornato lo
stesso giornoi fra 3 minuti con frequenza una volta sola.
• parte 1 - salvare il progetto
• 1. File / save as
• 2. Scrivere il nome del File / salvare
• parte 2 - Schedule Update
• 1. Tools / Schedule Night Shift / Schedule Project
• 2. Schedule For Future
selezionare Date & Time [+3 minuti]
Frequency = One Off (una volta sola)
• 3. Browse../ selezionare il file da schedulare / Add +
file to Schedule details / OK
• Lasciare aperto Datastream
Download in Excel
• Richiesta di dati statici
• I dati statici possono essere scaricati per un numero
definito di serie e per un intervallo di tempo predefinito.
I dati statici possono essere richiesti per:
a) Serie singole
• b) Elenchi di serie
• a) Premere Settings [Impostazioni] per selezionare fino
a 9 datatypes.
• Il datatype NAME (riferito ad azioni, serie, ecc.) è il primo
datatype di ciascuna richiesta. Successivamente,
possono essere aggiunti altri 9 datatypes fino ad un
totale di 10.
Esempio: Dax 30
•
•
•
•
•
•
•
•
•
Scaricare il peso nell’indice e l’EPS dei constituents del Dax 30
A) indice
B) constituents
Selezionare nel campo Find: Dax 30
NB Data for a single series \ static data scaricherebbe i dati per
ciascuna serie!!!!!
Scheda del programma 5. Selezionare Summary – for a list of
series / Static Data – 900A [Riepilogo - Per elenco di serie > Dati
statici - 900A].
Scegliere il formato data fissa, quindi inserire today.
3. Premere Settings [Impostazioni] .
4. Impostare DS Static Datatypes [Datatypes statici DS] come
tipo di dati.
Selezionare, Weight in Index, Earnings Per Share [ Peso
nell'indice, utile per azione] come codice.
Parte 3: trasferimento in Excel
• 1. Selezionare Tools [Strumenti], Transfer [Trasferisci], quindi
fare clic su Excel.
• Per effettuare il trasferimento in Excel, è possibile anche fare clic
con il pulsante destro del mouse su Transfer [Trasferisci] e scegliere
Excel. Viene aperto un nuovo foglio di lavoro in Excel.
• 2. Impostazioni per il trasferimento
Nel campo Data from viewport [Dati da visualizzare],
selezionare Without creating dynamic link [Senza collegamenti
dinamici].Vengono trasferiti solo i dati.
Se selezionata, As Refreshable object [crea un collegamento
dinamico per l'aggiornamento dati
– Selezionare la posizione in cui inserire i dati in Excel.
• 3. Modificare il formato in Excel in base alle proprie esigenze.
Dati di serie storiche
• Selezionare la frequenza di elaborazione dei dati. È
possibile scegliere di elaborare i dati giornalmente
(impostazione predefinita), settimanalmente,
mensilmente, trimestralmente o annualmente.
• Esempio G: dati di una serie temporale – Produttori
auto europei
• 1. Scaricare il PE dei produttori di auto europei elencati
di seguito. Impostare la data di fine mese partendo dal
gennaio 1990:
BMW, Renault, Fiat,Volkswagen.
2. Trasferire i dati in Excel sotto forma di oggetto
aggiornabile.
selezione del programma e
configurazione delle opzioni
• 1.
Banca dati equities
Selezionare Multiple series – time series data.
2. Impostare la frequenza premendo Settings
[Impostazioni]. Scegliere Monthly [Mensilmente].
Quindi, impostare le opzioni
di visualizzazione.
• 3. Impostare Fixed 31-12-90 [Fissa - 31-12-90] come
data di inizio e Relative [Relativa] Before today
[Relativa > Prima di oggi] come data finale.
• 4. Impostare DS Time Series Datatypes [datatypes
di serie
temporali
DS], Price earnings ratio
come tipo di dati, quindi fare clic su OK.
Parte 2: selezione delle azioni,
aggiunta alla richiesta
• 1. Selezionare il tipo di azioni desiderate.
• 2. Cancellare l'elenco delle richieste .
• 3. Selezionare Add New Entries Here
[Aggiungi nuove voci in questo punto],
quindi scegliere Add to list of requests
[Aggiungi ad elenco richieste] . Ripetere
l'operazione per tutte le azioni.
Per scaricare i dati di una serie
• BANCA DATI EQUITY
• Scheda Programmi: single series/ static data (in
settings posso selezionare più datatypes)
• Scheda Programmi: single series/ time series
data (un solo datatype)
• Scheda Programmi: Multiple series/ time series
data ( posso selezionare più serie ex: Mediaset
e Fiat e più datatypes)
Per scaricare i dati di una lista
• BANCA DATI CONSTITUENT LISTS: usare list
of series - summary
• Se uso: Single series data / time series data MA
li scarica tutti in sequenza!!!
ALCUNI CONSIGLI PER
UTILIZZARE MEGLIO EXCEL
•
•
•
•
•
•
•
•
Inserimento e copia rapida
Celle multiriga
Funzione testo
Aggiornamento titoli grafico
Lettere greche
Apici e pedici
Attribuire un nome alle celle
Nascondere il contenuto delle celle
MACRO
• Strumenti\Macro
• Una macro è una subroutine in VBA
creata dall’utente, utilizzata per
automatizzare operazioni ripetitive in
Excel.
• Registra nuova macro: scelta rapida da
tastiera.
Eseguire una macro utilizzando un
pulsante di una barra degli
strumenti
Visualizza \ barre degli strumenti \personalizza
scegliere la scheda Comandi, quindi selezionare
Macro dall'elenco Categorie. Nell'elenco
Comandi trascinare il pulsante Personalizzato su
una barra degli strumenti
Fare clic con il pulsante destro del mouse sul
pulsante della barra degli strumenti, quindi
scegliere Assegna macro dal menu di scelta
rapida.
Nella casella Nome macro immettere il nome
della macro.
• NB il pulsante esegue la macro sulla cella attiva!!!
Scelta rapida da tastiera
• ALT + lettera sottolineata +lettera
sottomenu
• ES: inserisci funzione ALTiz
• Barra degli strumenti \ personalizza \ &
prima della lettera di riferimento
Capitolo 1: alcuni principi
fondamentali della finanza
•
•
•
•
Regimi di capitalizzazione e di sconto
Rendite
Ammortamenti
Criteri di scelta tra investimenti: TIR e REA
VAN = Valore Attuale Netto
N
VAN  
t 1
FCt
(1  r ) t
La funzione VAN calcola il valore attuale netto di
un investimento utilizzando un tasso di sconto e
una serie di pagamenti (valori negativi) e di
entrate (valori positivi), ma trascura il costo
iniziale.
• VAN(tasso_int,valore1,valore2, ...)
• Tasso_int è il tasso di sconto durante uno dei
periodi.
VAN
• Valore1, valore2, ... sono gli argomenti da 1 a 29
che rappresentano i pagamenti o le entrate.
• Valore1, valore2, ... devono essere collocati a
distanze di tempo regolari e al termine di ogni
periodo.
• VAN utilizza utilizza l'ordine di successione di
valore1, valore2, ... dei valori per interpretare l'ordine
di successione dei flussi di cassa. Assicurarsi di
immettere i valori relativi alle entrate e alle uscite
nella sequenza desiderata.
VAN
• VAN è il valore attuale e non il valore
attuale netto!!!!
• Per avere il valore attuale netto occorre
sottrarre il flusso al tempo 0.
VAN
• Osservazioni
• Le rate sono supposte posticipate. Se il
primo flusso di cassa si verifica all'inizio
del primo periodo occorre aggiungere il
primo valore al risultato VAN.
VAN e TIR.COST
• La funzione VAN è correlata alla funzione
TIR.COST (tasso di rendimento interno).
TIR.COST rappresenta il tasso in base al
quale la funzione VAN è uguale a zero:
VAN(TIR.COST(...); ...) = 0.
TIR.COST
• Restituisce il tasso di rendimento interno per
una serie di flussi di cassa rappresentati dai
numeri in val. Non è necessario che i flussi di
cassa siano costanti, come per un'annualità,
però devono occorrere a intervalli regolari, ad
esempio mensilmente o annualmente. Il tasso di
rendimento interno è il tasso di interesse
ricevuto per un investimento caratterizzato da
uscite (valori negativi) ed entrate (valori positivi)
che avvengono ad intervalli regolari.
TIR.COST
• TIR.COST(val;ipotesi)
• Val è una matrice o un riferimento a
celle che contengono numeri di cui si
desidera calcolare il tasso di rendimento
interno.
• Val deve contenere almeno un valore
positivo e uno negativo per calcolare il
tasso di rendimento interno.
TIR.COST
• TIR.COST utilizza l'ordine di
successione dei valori per interpretare
l'ordine di successione dei flussi di
cassa. Assicurarsi di immettere i valori
relativi alle entrate e alle uscite nella
sequenza desiderata.
Ipotesi è un numero che si suppone
vicino al risultato di TIR.COST.
TIR.COST
• Viene utilizzata una tecnica iterativa per
eseguire il calcolo della funzione TIR.COST.
Iniziando con ipotesi, TIR.COST applica il
metodo delle iterazioni fino a quando la
precisione del risultato non rientra nello
0,00001%. Se TIR.COST non riesce a trovare
un risultato valido dopo 20 tentativi, verrà
restituito il valore di errore #NUM!.
• Se ipotesi è omesso, verrà considerato uguale a
0,1 (10%).
Cap. 27 Tabelle dati
• Servono per fare analisi di sensitività.
• Possono ad esempio descrivere l’andamento di
una funzione al variare di uno o due parametri.
• Esempio base
• Dati \ tabella
• Cella input per riga (se la veriabile che vogliamo
modificare si trova sulla riga)
• Cella input per colonna
• Aggiornamento automatico
RATA
1  (1  i)  n
VA  RATA 
i
Calcola la Rata di un prestito sulla base di
pagamenti e di un tasso di interesse costanti.
• RATA(tasso_int; periodi; val_attuale;
val_futuro; tipo)
• Tasso_int è il tasso di interesse per il prestito.
• Periodi è il numero totale dei pagamenti per il
prestito.
RATA
• Val_attuale è il valore attuale o la somma
forfettaria che rappresenta il valore attuale di
una serie di pagamenti futuri, detto anche
capitale.
• Val_futuro è il valore futuro o il saldo in
contanti che si desidera raggiungere dopo aver
effettuato l'ultimo pagamento. Se val_futuro è
omesso, verrà considerato uguale a 0, ovvero il
valore futuro di un prestito è pari a 0.
RATA
• Tipo corrisponde a 0 o a 1 e indica le
scadenze dei pagamenti.
• 0 o omesso Alla fine del periodo
• 1 All'inizio del periodo
VAL.FUT
(1  i ) n  1
VAL.FUT  RATA 
i
Restituisce il valore futuro di un investimento sulla
base di pagamenti periodici e costanti e di un
tasso di interesse costante.
• VAL.FUT(tasso_int; periodi; pagam;
val_attuale; tipo)
• Tasso_int è il tasso di interesse per periodo.
• Periodi è il numero totale dei periodi di
pagamento
VAL.FUT
• Pagam è il pagamento effettuato in ciascun periodo
(LA RATA) e non può variare nel corso dell'annualità.
In genere, pagam include il capitale e gli interessi,
ma non altre imposte o spese. Se pagam viene
omesso, si deve includere l'argomento val_attuale.
• Val_attuale è il valore attuale o la somma forfettaria
che rappresenta il valore attuale di una serie di
pagamenti futuri. Se val_attuale è omesso, verrà
considerato uguale a 0 (zero) e si dovrà includere
l'argomento pagam. Viene capitalizzato per numero
periodi.
VAL.FUT
• Tipo corrisponde a 0 o a 1 e indica le
scadenze dei pagamenti. Se tipo è
omesso, verrà considerato uguale a 0.
• 0 Alla fine del periodo
• 1 All'inizio del periodo
CAPITALIZZAZIONE CONTINUA
n
 
lim n 1    e 
 n
VA = Valore Attuale di una
rendita
1  (1  i)  n
VA  RATA 
i
VA(tasso_int;periodi;pagam;val_futuro;tipo)
Tasso_int è il tasso di interesse per periodo. Se
ad esempio si ottiene un prestito per l'acquisto di
un'automobile a un tasso di interesse annuo del
10% e si effettuano pagamenti mensili, il tasso di
interesse mensile sarà 10%/12 o 0.83%. Nella
formula sarà possibile immettere 10%/12, 0.83%
o 0.0083 come tasso.
VA
Periodi è il numero totale dei periodi di
pagamento in un'annualità. Se ad esempio
si ottiene un prestito quadriennale per
l'acquisto di un'automobile e si effettuano
pagamenti mensili, il prestito comprende
4*12 (o 48) periodi. Nella formula sarà
possibile immettere 48 per periodi.
VA
Pagam è il pagamento effettuato in ciascun
periodo e non può variare nel corso
dell'annualità. In genere, pagam include il
capitale e gli interessi, ma non altre imposte o
spese.
Pagam è un valore negativo
Se si omette pagam, sarà necessario includere
l'argomento val_futuro.
VA
Val_futuro è il valore futuro o il saldo in
contanti che si desidera raggiungere dopo
aver effettuato l'ultimo pagamento. Se
val_futuro è omesso, verrà considerato
uguale a 0. Ciò può essere utile nel caso di
un prestito, il cui valore futuro è uguale a 0.
Se si omette val_futuro, sarà necessario
includere l'argomento pagam.
VA
Tipo corrisponde a 0 o a 1 e indica le
scadenze dei pagamenti.
DURATION
• Misura la sensibilità del prezzo di una
obbligazione alle variazioni del tasso di
interesse.
• Misura di rischio.
• Duration di Macauley (con struttura dei
tassi piatta)
n
D
t 1
 Ct

t
(
1

r
)
t
P



DURATA
• DURATA(liquid;scad;cedola;rend;num_rate;base)
• Importante: Le date devono essere immesse
utilizzando la funzione DATA
• Liquid è la data di liquidazione del titolo, ovvero la
data, successiva alla data di emissione, in cui il titolo
viene venduto al compratore.
• Scad è la data di scadenza del titolo, ovvero la data in
cui il titolo scade.
• Cedola è il tasso di interesse nominale annuo del titolo.
DURATA
• Rend è il rendimento annuo del titolo.
• Num_rate è il numero di pagamenti per anno. Se i
pagamenti sono annuali, num_rate = 1; se sono
semestrali, num_rate = 2; se sono trimestrali, num_rate
= 4.
• Base è il tipo di base da utilizzare per il conto dei
giorni:
• 0 o omesso
Americana - NASD (Associazione
nazionale operatori di borsa, National Association of
Securities Dealers) 30/360
• 1 Effettiva/effettiva
• 2 Effettiva/360
• 3 Effettiva/365
• 4 Europea 30/360
• In Microsoft Excel le date vengono
memorizzate come numeri sequenziali seriali
affinché sia possibile eseguire calcoli su di
esse. Se la cartella di lavoro si basa sul
sistema di data 1900, 1 gennaio 1900 viene
memorizzato come numero seriale 1. Se
invece la cartella di lavoro si basa sul sistema
di data 1904, 1 gennaio 1904 viene
memorizzato come numero seriale 0 (2
gennaio 1904 sarà il numero seriale 1). Nel
sistema di data 1900, ad esempio, 1 gennaio
1998 viene memorizzato come numero
seriale 35796 poiché cade 35.795 giorni dopo
il 1 gennaio 1900.
Duration modificata
Il prezzo di una
obbligazione:
Deriviamo:
Otteniamo:
DM è la
duration
modificata
n
Ct
P
t
(
1

r
)
t 1
dP n  tCt

dr t 1 (1  r )t 1
dP  DP

dr (1  r )
dP
  DM  P
dr
Duration modificata
Elasticità del prezzo
dell’ obbligazione:
Volatilità del prezzo:
dP / P
 D
dr /(1  r )
dr
dP / P   D
(1  r )
DURATA.M
• DURATA.M(liquid;scad;cedola;rend;num_rate;base)
• Liquid è la data di liquidazione del titolo, ovvero la data,
successiva alla data di emissione, in cui il titolo viene venduto al
compratore.
• Scad è la data di scadenza del titolo, ovvero la data in cui il
titolo scade.
• Cedola è il tasso di interesse nominale annuo del titolo.
• Rend è il rendimento annuo del titolo.
• Num_rate è il numero di pagamenti per anno. Se i pagamenti
sono annuali, num_rate = 1; se sono semestrali, num_rate = 2;
se sono trimestrali, num_rate = 4.
• Base è il tipo di base da utilizzare per il conto dei giorni.
VAN.X
• Restituisce il tasso di rendimento interno
di un impiego di flussi di cassa. Per
calcolare il valore attuale netto di una serie
di flussi di cassa periodici, utilizzare la
funzione VAN.
• VAN.X(tasso_int,val,date_pagam)
• Tasso_int è il tasso di sconto da
applicare ai flussi di cassa.
VAN.X
• Valori è una serie di flussi di cassa che
corrispondono alle scadenze di
pagamento. Se il primo valore è un costo
o un pagamento, dovrà essere un valore
negativo. Il primo pagamento è facoltativo
e corrisponde al costo o al pagamento che
avviene all'inizio dell'investimento. Tutti i
pagamenti successivi sono scontati su una
base annua di 365 giorni.
VAN.X
• Date_pagam sono le scadenze di
pagamento che corrispondono ai
pagamenti dei flussi di cassa. L'inizio delle
scadenze di pagamento è indicato dalla
data del primo pagamento. Tutte le altre
date devono essere posteriori, ma non è
necessario che seguano un ordine
particolare.
TIR.X
• TIR.X(valori;date_pagam;ipotesi)
• Valori è una serie di flussi di cassa che
corrispondono alle scadenze di pagamento.
Se il primo valore è un costo o un
pagamento, dovrà essere un valore negativo.
Il primo pagamento è facoltativo e
corrisponde al costo o al pagamento che
avviene all'inizio dell'investimento. Tutti i
pagamenti successivi sono scontati su una
base annua di 365 giorni. È necessario che la
serie di valori contenga almeno un valore
positivo e uno negativo.
TIR.X
• Date_pagam sono le scadenze di pagamento che
corrispondono ai pagamenti dei flussi di cassa.
L'inizio delle scadenze di pagamento è indicato dalla
data del primo pagamento. Tutte le altre date devono
essere posteriori, ma non è necessario che seguano
un ordine particolare.
• Ipotesi è un numero che si suppone vicino al
risultato di TIR.X.
• La funzione TIR.X è strettamente correlata a VAN.X,
la funzione che calcola il valore attuale netto. Il tasso
di rendimento calcolato da TIR.X è il tasso di
interesse corrispondente a VAN.X = 0.
IMMUNIZZAZIONE
• Se un portafoglio ha lo stesso valore ad
una data futura indipendentemente da
possibili cambiamenti nella struttura dei
tassi esso viene detto immunizzato.
• Valore attuale delle Uscite: V0
• Valore attuale delle Entrate: VB
IMMUNIZZAZIONE
• I due flussi di cassa si dicono immunizzati
se hanno la stessa duration (tenendo in
considerazione solo una approssimazione
del primo ordine).
La teoria di portafoglio:
• Funzioni matrice.
• Passare dalla serie storica dei prezzi ai
rendimenti:
 Pt 

rt  ln 
 Pt 1 
• Calcolare il rendimento medio, la varianza,
usando le funzioni di Excel: MEDIA, VAR.POP,
DEV.ST.POP, VAR, DEV.ST
COVARIANZA
• Rappresenta una misura della
propensione dei rendimenti di due attività
a muoversi insieme.
1
Cov(ra , rb ) 
M
t
t
[
r

E
(
r
)][
r
 a
a
b  E ( rb )]
t
• T=1,…M
• COVARIANZA(Matrice1;Matrice2)
CORRELAZIONE
• E’compreso tra –1 e 1.
• Correlazione(Matrice1;Matrice2)
 a ,b 
Cov(ra , rb )
 R2
 a b
• Aggiungi linea di tendenza
PORTAFOGLIO
• MEDIA:
E (rP )  E (ra )  (1   ) E (rb )
• VARIANZA:
 p2   2 a2  (1   )2 b2  2 (1   ) a,b a b
L’insieme dei portafogli
ammissibili con due titoli
• Esaminiamo il caso di correlazione = -1, 0,
1
Rendimento medio Portafoglio
Rendimenti Portafoglio e Correlazione tra le attività
5,50%
5,00%
4,50%
corr = +1
4,00%
corr = 0
3,50%
corr = -1
3,00%
2,50%
2,00%
0,00%
1,00%
2,00%
3,00%
4,00%
5,00%
Sigma Portafoglio
6,00%
7,00%
8,00%
Media e varianza di un
portafoglio con più titoli
• Media:
n
E (rP )    i E (ri )  T E (r )
i 1
2
T







S
• Varianza: p  i j ij
i
j
S = matrice varianze-covarianze
• Covarianza
portafoglio 1 e 2:
Cov(1,2)   S2
T
1
Matrice varianze-covarianze
• Costruire la matrice dei rendimenti addizionali:
N = titoli
 r11  r 1 . . . r1n  r n 
M = n. osservazioni

 .
A .

 .
r  r 1
 m1
• La matrice var-cov:
.
.
.
.
.
.
AT A
S  [ i , j ] 
M


. 

. 
rmn  r n 
Cap. 9 La determinazione dei portafogli
efficienti in assenza di vendite allo
scoperto
Rendimento medio
portafoglio
PORTAFOGLI FATTIBILI
11%
10%
9%
8%
7%
6%
Efficiente e
envelope
Portafoglio
NON fattibile
Fattibili, ma
NON efficienti
5%
4%
Envelope , ma NON
efficiente
10%
30%
50%
70%
Deviazione standard portafoglio
90%
Il calcolo di due portafogli sulla
envelope
• E’ sufficiente trovare due portafogli sulla
envelope per identificare l’intera envelope.
• Tutti i portafogli sulla envelope sono dati da:
• R–c=S*z
• R = vettore E(Ri)
• c = costante arbitraria
• S = matrice varianza covarianze
• z = vettore componenti
Il calcolo di due portafogli sulla
envelope
• x = vettore componenti normalizzate
zi
xi 
 zi
i
• Scegliendo due valori differenti per c, risolviamo
per z e troviamo due vettori x corrispondenti a
due portafogli sulla envelope.
• z = S-1 * ( R – c )
• Calcoliamo le corrispondenti proporzioni
normalizzate xi
Il calcolo della envelope
• Calcoliamo media e sqm dei due portafogli
ottenuti.
• Costruiamo un nuovo portafoglio con pesi
 e 1- nei due portafogli sulla envelope.
• Creiamo una tabella dati al variare di 
della media e dello sqm del portafoglio
• Facciamo il grafico di tipo “dispersione”
La Envelope
11%
Media
10%
w
9%
y
z
8%
7%
x
6%
q
5%
10%
20%
30%
40%
50%
Sigma
60%
70%
80%
90%
Il calcolo del portafoglio di mercato:
quello per cui c = tasso risk free
La Frontiera Efficiente con la RMC
Rendimento medio portafoglio
Retta del mercato dei capitali, RMC
Portafoglio di
mercato, M
Tasso privo di rischio, rf
Deviazione standard portafoglio
Test del CAPM
• Dato un insieme di attività finanziarie (tra cui il
portafoglio di mercato), calcolare i rendimenti.
• Calcolare la media dei rendimenti ed il beta di
ciascuna attività.
• Regredire le medie sui beta:
• E(Ri)=rf+bi(E(RM)-rf)
• Si trovano così le quantità in grassetto, che
sommate devono essere uguali al rendimento
atteso del portafoglio di mercato.
Funzioni statistiche
• INTERCETTA(y_nota;x_nota)
Calcola il punto in cui una retta inteseca l'asse y
utilizzando i valori x e y esistenti. Tale punto è basato
su una retta di regressione lineare ottimale tracciata
attraverso i valori x_nota e y_nota.
• PENDENZA(y_nota;x_nota)
Restituisce la pendenza della retta di regressione
lineare tramite i valori in y_nota e x_nota.
• RQ(y_nota;x_nota)
Restituisce il quadrato del coefficiente r della retta di
regressione lineare tramite i valori in y_nota e x_nota.
VaR
• Il VaR è la perdita che ci si aspetta venga
ecceduta con una probabilità del x% su un
periodo di T giorni
• T = orizzonte temporale
• x% = probabilità
• y = quantile = P(Yy) = x%
Il quantile corrispondente all’1% è
50,20974, quindi il VaR all’1% è
49,79026
Distribuzione del valore del
portafoglio
Distribuzione Normale Cumulata
(rappresentazione parziale per poter vedere il
quantile corrispondente all'1%)
0,014
0,012
0,01
0,008
0,006
0,004
0,002
0
0,03
0,025
0,02
Probabilità
Probabilità
Distribuzione di Probabilità Normale
Funzione di Densità
0
30
60
90
120 150 180 210 240 270
0,015
0,01
0,005
0
-40
-20
0
20
40
60
Valori del Portafoglio
Valore del portafoglio (milioni di $)
80
Funzione Distrib.norm
•
•
•
•
DISTRIB.NORM(x;media;dev_standard;cumulativo)
X è il valore per il quale si desidera la distribuzione.
Media è la media aritmetica della distribuzione.
Dev_standard è la deviazione standard della
distribuzione.
• Cumulativo è un valore logico che determina la forma
assunta dalla funzione. Se cumulativo è VERO,
DISTRIB.NORM restituirà la funzione di distribuzione
cumulativa, se è FALSO restituirà la funzione massa di
probabilità.
INV.NORM
• Restituisce l'inversa della distribuzione normale
cumulativa per la media e la deviazione
standard specificate.
• INV.NORM(probabilità;media;dev_standard)
• Probabilità è la probabilità corrispondente alla
distribuzione normale.
• Media è la media aritmetica della distribuzione.
• Dev_standard è la deviazione standard della
distribuzione
VaR di un portafoglio
• Se disponiamo delle medie e della matrice
var-cov per le attività in portafoglio,
possiamo calcolare media e varianza del
portafoglio.
• Assumendo che i rendimenti delle attività
siano distribuiti normalmente, possiamo
calcolare il VaR del portafoglio.
Simulazione dei dati: il
bootstrapping
• Senza imporre nessuna restrizione sulla
distribuzione di probabilità dei rendimenti.
• Si supponga di disporre delle serie
storiche relative alle attività in portafoglio.
• Il bootstrapping è una tecnica di “rimpasto”
casuale dei dati: per ogni iterazione le
serie storiche vengono riordinate e viene
calcolato il rendimento di portafoglio.
CASUALE
• Restituisce un numero casuale distribuito
in maniera uniforme maggiore o uguale a
0 e minore di 1. Ogni volta che si calcola
un nuovo foglio di lavoro viene restituito un
nuovo numero casuale.
• Sintassi: CASUALE( )
CASUALE.TRA
• Sintassi: CASUALE.TRA(minore,
maggiore)
• Minore
è l'intero più piccolo restituito da
CASUALE.TRA.
• Maggiore è l'intero più grande restituito
da CASUALE.TRA.
Valutazione opzioni Europee:
• Formula per valutazione Call Europea
su albero binomiale:
n i
n i
i n i


q
(
1

q
)
max
Su
d  X ,0

i
i 0  

• Put Europea:
n
n i
n i
i n i


q
(
1

q
)
max
X

Su
d ,0

i
i 0  

n


Call Europea
Function EurCall(S, X, T, rf, sigma, n)
delta_t = T / n
up = Exp(sigma * Sqr(delta_t))
down = Exp(-sigma * Sqr(delta_t))
R = Exp(rf * delta_t)
q_up = (R - down) / (R * (up - down))
q_down = 1 / R - q_up
EurCall = 0
For Index = 0 To n
EurCall = EurCall + Application.Combin(n, Index) * q_up ^
Index * _
q_down ^ (n - Index) * Application.Max(S * up ^ Index *
down ^ _
(n - Index) - X, 0)
Next Index
End Function
Valutazione opzioni Americane
• Procedimento backward
• Ad ogni nodo il valore dell’opzione è pari
al massimo tra:
Il payoff se esercitata
Il valore attuale atteso sotto la probabilità
risk-neutral dei payoff nei due nodi
collegati al tempo successivo
Call Americana
Function AmericanCall(S, X, T, rf, sigma, n)
delta_t = T / n
up = Exp(sigma * Sqr(delta_t))
down = Exp(-sigma * Sqr(delta_t))
R = Exp(rf * delta_t)
q_up = (R - down) / (R * (up - down))
q_down = 1 / R - q_up
Dim OptionReturnEnd() As Double
Dim OptionReturnMiddle() As Double
ReDim OptionReturnEnd(n)

Dichiarazione
variabili ed
assegnazione
valori

For State = 0 To n
OptionReturnEnd(State) = Application.Max(S * _
up ^ State * down ^ (n - State) - X, 0)
Next State
Assegnazion
e valori ai
nodi finali
Call Americana (continua)
Ciclo che sconta i
payoff fino al tempo
0
ReDim OptionReturnMiddle(Index)
Assegna
For State = 0 To Index
OptionReturnMiddle(State) = Application.Max(S * _ dimensione
e valori al
up ^ State * down ^ (Index - State) - X, _
vettore dei
q_down * OptionReturnEnd(State) + _
nodi centrali
For Index = n - 1 To 0 Step -1
q_up * OptionReturnEnd(State + 1))
Next State


ReDim OptionReturnEnd(Index)
For State = 0 To Index
OptionReturnEnd(State) = OptionReturnMiddle(State)
Next State
Next Index
AmericanCall = OptionReturnMiddle(0)
End Function
Assegna
dimensione
e valori al
vettore dei
nodi finali
uguali a
quelli del
vettore dei
nodi centrali
Proprietà opzioni
Call E
Put E
Call A
Put A
S
+
-
+
-
X
-
+
-
+
T
?
?
+
+
sigma
+
+
+
+
R
+
-
+
-
Div
-
+
-
+
La Distribuzione Lognormale
• Assunzione centrale del modello di Black &
Scholes
• Proprietà ragionevoli dei prezzi delle azioni
• Esaminiamo i prezzi ed i rendimenti dell’S&P500
• Usiamo la funzione matrice FREQUENZA(matr
dati;matr classi) per i rendimenti e notiamo che
si distribuiscono normalmente.
La Distribuzione Lognormale
• St+Dt=SterDt
• Assumiamo che il tasso di rendimento abbia una
distribuzione normale, allora il prezzo dell’azione
ha una distribuzione lognormale
• St+Dt=Ste(mDt+Zradq(Dt))
• Estraiamo una serie di numeri casuali da una
distribuzione normale standard ed usiamo
l’equazione precedente per simulare il sentiero
di prezzo dell’azione
Generazione numeri casuali
• Strumenti / Analisi dati / generazione
numero casuale
• Stimiamo il valore dell’azione a fine anno
utilizzando la serie di numeri casuali
• Usiamo la funzione frequenza e facciamo
un istogramma che illustra la forma della
distribuzione lognormale
Simulazione in VBA
•
•
•
•
•
•
•
•
Sub simula()
Dim vettore(1 To 1000) As Double
For i = 1 To 1000
z = Application.NormSInv(Rnd)
vettore(i) = z
Cells(i, 1).Value = vettore(i)
Next i
End Sub
Black & Scholes
• Call Europea: C  SN (d1 )  Xe rT N (d 2 )
ln( S / X )  (r   2 / 2)T
d1 
 T
d 2  d1   T
 rT
P


SN
(

d
)

Xe
N ( d 2 )
• Put Europea:
1
 rT
P

S

C

Xe
• Put Call Parity:
Black & Scholes
Function dOne(Azione, Esercizio, Scadenza, Interesse, sigma)
dOne = (Log(Azione / Esercizio) + Interesse * Scadenza) /
(sigma * Sqr(Scadenza)) _
+ 0.5 * sigma * Sqr(Scadenza)
End Function
Function BSCall(Azione, Esercizio, Scadenza, Interesse, sigma)
BSCall = Azione * Application.NormSDist(dOne(Azione,
Esercizio, _
Scadenza, Interesse, sigma)) - Esercizio * Exp(-Scadenza *
Interesse) * _
Application.NormSDist(dOne(Azione, Esercizio, Scadenza,
Interesse, sigma) _
- sigma * Sqr(Scadenza))
End Function
Black & Scholes
'Questo è il prezzo dell'opzione put B&S secondo la parità
put-call
Function BSPut(Azione, Esercizio, Scadenza, Interesse,
sigma)
BSPut = BSCall(Azione, Esercizio, Scadenza, Interesse,
sigma) + _
Esercizio * Exp(-Scadenza * Interesse) - Azione
End Function
Volatilità implicita
Function CallVolatility(Azione, Esercizio, Scadenza, Interesse,
Obiettivo)
High = 1
Low = 0
Do While (High - Low) > 0.0001
If CallOption(Azione, Esercizio, Scadenza, Interesse, (High + Low) /
2) > _
Obiettivo Then
High = (High + Low) / 2
Else: Low = (High + Low) / 2
End If
Loop
CallVolatility = (High + Low) / 2
End Function
Risolutore
• Componenti aggiuntivi
• Strumenti\Riferimenti\Solver.xla
• Solveradd ( cellRef, relation, formulaText)
Relation: 1 <=
2 =
3 >=
• SolverOk (SetCell, MaxMinVal, ValueOf, ByChange)
Value of: 1 max
2 min
3 al valore di
• SolverOptions
• SolverSolve
Fly UP