Oggi è 22/12/2024, 11:07


Interpolazione Spline Cubica

In questo spazio vengono discussi argomenti semplici che riguardano soprattutto chi è alle prime armi
  • Autore
  • Messaggio
Non connesso
Avatar utente

Enrico

  • Messaggi: 90
  • Iscritto il: 15/10/2011, 21:11

Re: Interpolazione Spline Cubica

Messaggio29/02/2012, 23:53

Risolvendo e sostituendo nell'espressione di s_j(x)

s_j(x)=m_j{(x_{j-1}-x)^3 \over -6h_j}+m_{j-1}{(x_j-x)^3 \over 6h_j}+{{x-x_{j-1} \over h_j}(y_j-m_j{h_j^2 \over 6}) +{{x_j-x} \over h_j}(y_{j-1}-m_{j-1}{h_j^2 \over 6})

A questo punto per avere l'espressione completa di s_j(x) bisogna determinare i valori incogniti m_j , m_{j-1}.

Per fare ciò si impongono le condizioni di regolarità: la continuità della derivata seconda è già veri ficata per costruzione
(la derivata seconda è stata costruita come segmenti che si raccordano nei nodi), quindi si impone la continuità della derivata prima nei nodi:

s^\prime_j (x_j) = s^\prime_{j+1}(x_j),  j = 1,...,n-1.

L'espressione della derivata prima

s^\prime_j(x)=m_j{{(x_{j-1}-x)^2} \over 2h_j}+m_{j-1}{{(x_j-x)^2 \over -2h_j}+{1 \over h_j}({y_j-{m_j{h_j^2 \over 6}) -{1 \over h_j}({y_{j-1}-{m_{j-1}{h_j^2 \over 6})

s^\prime_{j+1}(x)=m_{j+1}{{(x_j-x)^2} \over 2h_{j+1}}+m_j{{(x_{j+1}-x)^2 \over -2h_{j+1}}+{1 \over h_{j+1}}({y_{j+1}-{m_{j+1}{h_{j+1}^2 \over 6}) -{1 \over h_{j+1}}({y_j}-{m_j{h_{j+1}^2 \over 6})
TEORIA è quando si sa tutto ma non funziona niente, PRATICA è quando funziona tutto ma non si sa perchè:
per me TEORIA e PRATICA si fondono in un unico concetto: NON MI FUNZIONA NIENTE E NON SO NEANCHE PERCHE'!!
Non connesso
Avatar utente

Enrico

  • Messaggi: 90
  • Iscritto il: 15/10/2011, 21:11

Re: Interpolazione Spline Cubica

Messaggio01/03/2012, 0:34

e quindi s^\prime_j(x_j)=s^\prime_{j+1}(x_j) diventa

m_j{h_j \over 2}+{1 \over h_j}(y_j-m_j{h_j^2 \over 6})-{1 \over h_j}(y_{j-1}-m_{j-1}{h_j^2 \over 6})=-m_j{h_{j+1} \over 2}+{1 \over h_{j+1}}(y_{j+1}-m_{j+1}{h_{j+1}^2 \over 6})-{1 \over h_{j+1}}(y_j-m_j{h_{j+1}^2 \over 6})

e raggruppando

m_{j-1}{h_j \over 6}+m_j{h_j+h_{j+1} \over 3}+m_{j+1}{h_{j+1} \over 6}={{y_{j+1}-y_j} \over h_{j+1}}-{{y_j-y_{j-1}} \over h_j}

La precedente relazione vale per j = 1,...,n-1. Abbiamo quindi n-1 equazioni nelle n+1 incognite m_0,m_1,....,m_n.
Per le condizioni di spline naturale abbiamo imposto m_0 = m_n = 0 quindi le incognite rimangono n-1.
TEORIA è quando si sa tutto ma non funziona niente, PRATICA è quando funziona tutto ma non si sa perchè:
per me TEORIA e PRATICA si fondono in un unico concetto: NON MI FUNZIONA NIENTE E NON SO NEANCHE PERCHE'!!
Non connesso
Avatar utente

Enrico

  • Messaggi: 90
  • Iscritto il: 15/10/2011, 21:11

Re: Interpolazione Spline Cubica

Messaggio01/03/2012, 1:09

Ponendo:

z_j={{y_{j+1}-y_j} \over h_{j+1}}-{{y_j-y_{j-1}} \over h_j}, j=1,....,n-1

i valori m_j sono soluzione del sistema lineare

Am = z.

Noti i valori m_j,questi possono essere sostituiti nell'espressione di s_j(x) per ottenere così l'espressione esplicita della spline.

La matrice del sistema

\begin{pmatrix}
 h_1+h_2 \over 3 & h_2 \over 6 & 0 & ... & 0 \\
 h_2 \over 6 & h_2+h_3 \over 3 & h_3 \over 6 & ... & 0 \\
 0 & ... & ... & ... & 0 \\
 ... & ... & h_{n-2} \over 6 & h_{n-2}+h_{n-1} \over 3 & h_{n-1} \over 6 \\
 0 & ... & 0 & h_{n-1} \over 6 & h_{n-1}+h_n \over 3 \\
\end{pmatrix}

è tridiagonale, simmetrica e a predominanza diagonale, condizioni che garantiscono l'esistenza e l'unicità della soluzione.
TEORIA è quando si sa tutto ma non funziona niente, PRATICA è quando funziona tutto ma non si sa perchè:
per me TEORIA e PRATICA si fondono in un unico concetto: NON MI FUNZIONA NIENTE E NON SO NEANCHE PERCHE'!!
Non connesso
Avatar utente

Enrico

  • Messaggi: 90
  • Iscritto il: 15/10/2011, 21:11

Re: Interpolazione Spline Cubica

Messaggio01/03/2012, 22:38

Vi risparmio la trattazione matematica riguardante la soluzione del sistema di equazioni che produce la matrice sopra indicata. :28

PRECISAZIONE: la spline cubica è un metodo di "interpolazione" dove con interpolazione intendiamo "trovare la curva che sta all'interno di due nodi(per definizione: punti di cui abbiamo valori conosciuti)"; viceversa quando dobbiamo trovare punti esterni all'intervallo dei nodi di partenza parliamo di "estrapolazione".

Nel caso dell'interpolazione la curva spline cubica è una delle migliori interpolanti in assoluto. Per quel che riguarda l'estrapolazione invece la spline non è così efficace come all'interno degli intervalli tra due nodi (questo potevamo un po' immaginarlo visto che per loro definizione le splines si applicano proprio tra due nodi successivi).

Un esempio grafico di questa affermazione è illustrato nella figura seguente dove i NODI sono i punti da 12.000 a 20.000 (valori estratti dal sito di borsa italiana con strike intervallati di 500 punti).

Oltre l'ultimo nodo (20.000) vi sono due curve di estrapolazione una verde ed una marrone, quella verde è l'estrapolazione con le splines cubiche e si può notare che prende una direzione che non rispetta la curvatura dello skew di volatilità ma piuttosto segue una improbabile traiettoria a smile (che evidentemente non è corretta); quella marrone è una interpolazione di tipo lineare che, partendo dal punto estremo della serie, sviluppa una traiettoria tangenziale con continuità di curvatura e segue un andamento più consono ad uno skew di volatilità.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
TEORIA è quando si sa tutto ma non funziona niente, PRATICA è quando funziona tutto ma non si sa perchè:
per me TEORIA e PRATICA si fondono in un unico concetto: NON MI FUNZIONA NIENTE E NON SO NEANCHE PERCHE'!!
Non connesso
Avatar utente

Enrico

  • Messaggi: 90
  • Iscritto il: 15/10/2011, 21:11

Re: Interpolazione Spline Cubica

Messaggio01/03/2012, 23:15

Nell'excel che a breve pubblicherò vi sono implementate due tipi di funzioni spline:
    Spline Cubica Naturale (indicata nel codice VBA come: metodo 1)
    Spline Cubica Vincolata (indicata nel codice VBA come: metodo 3)
dove la spline vincolata soddisfa la seguente equazione: S^\prime(x_0) = y^\prime_0; S^\prime(x_n) = y^\prime_n.

Che differenza c'è tra splines naturali e vincolate?

Semplice: le condizioni agli estremi fanno si che in quelle vincolate non sono consentite oscillazioni ampie come invece potrebbe verificarsi nel caso di splines naturali proprio per gli ulteriori vincoli imposti sopra.

La spline Naturale nell'immagine precedente produce in estrapolazione la curva VERDE

La spline Vincolata produce in estrapolazione la curva MARRONE.
TEORIA è quando si sa tutto ma non funziona niente, PRATICA è quando funziona tutto ma non si sa perchè:
per me TEORIA e PRATICA si fondono in un unico concetto: NON MI FUNZIONA NIENTE E NON SO NEANCHE PERCHE'!!
Non connesso
Avatar utente

Enrico

  • Messaggi: 90
  • Iscritto il: 15/10/2011, 21:11

Re: Interpolazione Spline Cubica

Messaggio01/03/2012, 23:39

Adesso non devo fare altro che postare il file excel dimostrativo.

Vi sono 3 esempi di smile e skew di volatilità, tutti facenti riferimento a valori di volatilità presi dal sito della borsa italiana per le opzioni dei mesi di: Febbraio, Marzo, Aprile.
La forma della curva per i 3 casi è molto diversa visto che sono diversi i tempi di scadenza delle opzioni, ciò nonostante si nota come attraverso l'estrapolazione si riesce a ricostruire le curve su strike deep otm in modo da stimare valori di volatilità, che non sono quotati, con una accettabile approssimazione.

la funzione si richiama in questo modo:

cubicspline(3;B1;C1:Cn;D1:Dn)

dove:
    3 è il metodo che si vuole usare (1:spline naturale 3:spline vincolata);
    B1 è il valore del sottostante sul quale si vuol calcolare la volatilità;
    C1:Cn è il range che contiene gli strike dei quali abbiamo un valore di volatilità estratto dal sito della borsa;
    D1:Dn è il range dei corrispondenti valori di volatilità sopra citati;
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
TEORIA è quando si sa tutto ma non funziona niente, PRATICA è quando funziona tutto ma non si sa perchè:
per me TEORIA e PRATICA si fondono in un unico concetto: NON MI FUNZIONA NIENTE E NON SO NEANCHE PERCHE'!!
Precedente

Torna a Concetti di base



Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti