Calcolo rendimento CW. Sbaglio qualcosa?

  • Ecco la 60° Edizione del settimanale "Le opportunità di Borsa" dedicato ai consulenti finanziari ed esperti di borsa.

    Questa settimana abbiamo assistito a nuovi record assoluti in Europa e a Wall Street. Il tutto, dopo una ottava che ha visto il susseguirsi di riunioni di banche centrali. Lunedì la Bank of Japan (BoJ) ha alzato i tassi per la prima volta dal 2007, mettendo fine all’era del costo del denaro negativo e al controllo della curva dei rendimenti. Mercoledì la Federal Reserve (Fed) ha confermato i tassi nel range 5,25%-5,50%, mentre i “dots”, le proiezioni dei funzionari sul costo del denaro, indicano sempre tre tagli nel corso del 2024. Il Fomc ha anche discusso in merito ad un possibile rallentamento del ritmo di riduzione del portafoglio titoli. Ieri la Bank of England (BoE) ha lasciato i tassi di interesse invariati al 5,25%. Per continuare a leggere visita il link

DoctorStrange

Nuovo Utente
Registrato
9/1/18
Messaggi
13
Punti reazioni
1
Buongiorno a tutti,

Saltuariamente investo capitali modesti in Covered Warrant, ma prima di acquistare di solito provo a calcolarne i rendimenti, ma ci sono alcuni concetti che probabilmente non ho molto chiari, e che quindi non mi tornano.

Questi sono i calcoli che faccio. Prendendo come esempio di CW questo: DE000HV41AL7, i dati disponibili sono: Tipo: CALL Valore sottostante (alla data di ieri): 4.8915 Strike: 4.50 Multiplo: 0.100 Lettera di vendita del certificato(sempre alla data di ieri): 0.0465.

Per prima cosa calcolo il valore di lettera al valore intrinseco: (Sottostante - Strike)*Multiplo = (4.8915 - 4.5)*0.100 = 0.03915

Suppongo ora che il mercato guadagni il 5%, quindi il valore del nuovo sottostante sarà: 4.8915 + 5% = 5.1360

Calcolo l'ipotetico valore della nuova lettera al nuovo valore del sottostante: (5.1360 - 4.5)*0.100 = 0.06360

A questo punto, ammesso che il mercato abbia guadagnato questo 5% calcolo quale è il rendimento del CW in questo modo:

(0.03915 / 0.06360) * 100 = 61.55%.

Quindi faccio l'affermazione: "Se il mercato guadagnasse il 5%, questo particolare CW, guadagnerebbe il 61.55%".
E' corretto questo ragionamento? Ho sbagliato i calcoli o proprio la logica?

Se avessi quindi investito, ad esempio mille euro su questo CW, al netto di tutte le commissioni, sarebbe corretto dire che guadagnerei il 61.55% ?

Inoltre, ho realizzato un piccolo script in bash linux per calcolare in maniera automatica il rendimento dello stesso CW, in funzione di diversi valori di variazioni di mercato, e la cosa strana è che ottengo una risposta anomala da questo script. In funzione di un aumento di mercato dell'1% mi da un rendimento del certificato dell'80%, mentre se lo stesso mercato aumentasse dell'80% mi da un rendimento dello stesso CW nell'intorno del 10%.

E' un normale comportamento del CW, oppure sono io che probabilmente ho sbagliato i calcoli?

Allego qui sotto lo script che ho realizzato, ma ripete fedelmente i passaggi qui sopra.

Spero in un aiuto.

Vi ringrazio.

Un saluto

Codice:
#!/bin/bash

#In questo script si calcolano alcuni parametri dei Covered Warrant.
#Si fa come assunzione che, questo script calcola semplicemente le
#costanti numeriche, ma deve essere richiamato da un ulteriore script
#a lui superiore, che gli passi in ongresso tutti i parametri di cui
#ha bisogno.

#I parametri da passare in ingresso a questo script sono:
#-a Prezzo attuale del sottostante
#-b Multiplo
#-c Strike
#-d Valore di lettera al quale questo viene venduto

Sottostante=0;
Multiplo=0;
Strike=0;
Lettera=0;

#echo "Inserire i seguenti parametri:";
#echo " ";
#echo "-a Prezzo attuale del sottostante";
#echo "-b Multiplo";
#echo "-c Strike";
#echo "-d Valore di vendita della lettera";
#echo "-e Variazione sottostante";

echo " ";

if [[ $1 == "" ]]; then
	echo "Non è stato inserito alcun parametro";
	exit 1;
fi

while getopts ":a:b:c:d:e:" OPTIONS; do
	case $OPTIONS in
		a)
#			echo "Inserito sottostante, con valore $OPTARG" >&2;
			Sottostante=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		b)
#			echo "Inserito multiplo, con valore: $OPTARG" >&2;
			Multiplo=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		c)
#			echo "Inserito strike, con valore: $OPTARG" >&2;
			Strike=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		d)
#			echo "Inserita lettera di vendita, con valore: $OPTARG" >&2;
			Lettera=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		e)
#			echo "Inserita variazione del sottostante, con valore: $OPTARG" >&2;
			VariazioneSottostante=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		\?)
			echo "Opzione inserita non valida. Parametro inserito $OPTARG" >&2;
			exit 1;
			;;
		:)
			echo "Opzione $OPTARG richiede un argomento" >&2;
			exit 1;
			;;
	esac
done 

echo " ";

#Qui devo inserire la condizione di controllo che io abbia inserito una CALL

LetteraAttuale=$(echo "$Sottostante -$Strike" | bc -l); 
LetteraAttuale=$(echo "$LetteraAttuale * $Multiplo" | bc -l);
LetteraAttuale=$(echo "$LetteraAttuale" | awk '{printf("%.3f"),$1}');
#echo "Lettera attuale, al valore di tempo intrinseco vale: $LetteraAttuale";

NuovoSottostante=$(echo "$Sottostante / 100" | bc -l);
NuovoSottostante=$(echo "$NuovoSottostante * $VariazioneSottostante" | bc -l);
NuovoSottostante=$(echo "$NuovoSottostante + $Sottostante" | bc -l);
NuovoSottostante=$(echo "$NuovoSottostante" | awk '{printf("%.3f"),$1}');
echo "Il nuovo sottostante, considerata la variazione di percentuale ipotetica del $VariazioneSottostante% è: $NuovoSottostante";

NuovaLettera=$(echo "$NuovoSottostante - $Strike" | bc -l); 
NuovaLettera=$(echo "$NuovaLettera * $Multiplo" | bc -l);
NuovaLettera=$(echo "$NuovaLettera" | awk '{printf("%.3f"),$1}');
echo "La nuova lettera calcolata in base ad un ipotetico aumento del sottostante del $VariazioneSottostante%, vale: $NuovaLettera";

NuovaLetteraPercentuale=$(echo "($LetteraAttuale / $NuovaLettera) * 100" | bc -l);
NuovaLetteraPercentuale=$(echo "$NuovaLetteraPercentuale" | awk '{printf("%.3f"),$1}');
echo "il rendimento percentuale del certificato vale: $NuovaLetteraPercentuale%";
echo "se il sottostante varia del: $VariazioneSottostante%";

BreakEven=$(echo "$Strike + ($Lettera / $Multiplo)" | bc -l);
BreakEven=$(echo "$BreakEven" | awk '{printf("%.3f"),$1}');
#echo "Il punto di Break-Even si avrà quando il sottostante raggiungerà i $BreakEven euro.";

SottostanteAlBE=$(echo "($BreakEven - $Sottostante) * 100" | bc -l);
SottostanteAlBE=$(echo "$SottostanteAlBE / $Sottostante" | bc -l);
SottostanteAlBE=$(echo "$SottostanteAlBE" | awk '{printf("%.2f"),$1}');
#echo "La percentuale di variazione che deve coprire il sottostante, per raggiungere"; 
#echo "il Break-Even e diventare redditizio è: $SottostanteAlBE%";

echo " ";
 
Buongiorno a tutti,

Saltuariamente investo capitali modesti in Covered Warrant, ma prima di acquistare di solito provo a calcolarne i rendimenti, ma ci sono alcuni concetti che probabilmente non ho molto chiari, e che quindi non mi tornano.

Questi sono i calcoli che faccio. Prendendo come esempio di CW questo: DE000HV41AL7, i dati disponibili sono: Tipo: CALL Valore sottostante (alla data di ieri): 4.8915 Strike: 4.50 Multiplo: 0.100 Lettera di vendita del certificato(sempre alla data di ieri): 0.0465.

Per prima cosa calcolo il valore di lettera al valore intrinseco: (Sottostante - Strike)*Multiplo = (4.8915 - 4.5)*0.100 = 0.03915

Suppongo ora che il mercato guadagni il 5%, quindi il valore del nuovo sottostante sarà: 4.8915 + 5% = 5.1360

Calcolo l'ipotetico valore della nuova lettera al nuovo valore del sottostante: (5.1360 - 4.5)*0.100 = 0.06360

A questo punto, ammesso che il mercato abbia guadagnato questo 5% calcolo quale è il rendimento del CW in questo modo:

(0.03915 / 0.06360) * 100 = 61.55%.

Quindi faccio l'affermazione: "Se il mercato guadagnasse il 5%, questo particolare CW, guadagnerebbe il 61.55%".
E' corretto questo ragionamento? Ho sbagliato i calcoli o proprio la logica?

Se avessi quindi investito, ad esempio mille euro su questo CW, al netto di tutte le commissioni, sarebbe corretto dire che guadagnerei il 61.55% ?

Inoltre, ho realizzato un piccolo script in bash linux per calcolare in maniera automatica il rendimento dello stesso CW, in funzione di diversi valori di variazioni di mercato, e la cosa strana è che ottengo una risposta anomala da questo script. In funzione di un aumento di mercato dell'1% mi da un rendimento del certificato dell'80%, mentre se lo stesso mercato aumentasse dell'80% mi da un rendimento dello stesso CW nell'intorno del 10%.

E' un normale comportamento del CW, oppure sono io che probabilmente ho sbagliato i calcoli?

Allego qui sotto lo script che ho realizzato, ma ripete fedelmente i passaggi qui sopra.

Spero in un aiuto.

Vi ringrazio.

Un saluto

Codice:
#!/bin/bash

#In questo script si calcolano alcuni parametri dei Covered Warrant.
#Si fa come assunzione che, questo script calcola semplicemente le
#costanti numeriche, ma deve essere richiamato da un ulteriore script
#a lui superiore, che gli passi in ongresso tutti i parametri di cui
#ha bisogno.

#I parametri da passare in ingresso a questo script sono:
#-a Prezzo attuale del sottostante
#-b Multiplo
#-c Strike
#-d Valore di lettera al quale questo viene venduto

Sottostante=0;
Multiplo=0;
Strike=0;
Lettera=0;

#echo "Inserire i seguenti parametri:";
#echo " ";
#echo "-a Prezzo attuale del sottostante";
#echo "-b Multiplo";
#echo "-c Strike";
#echo "-d Valore di vendita della lettera";
#echo "-e Variazione sottostante";

echo " ";

if [[ $1 == "" ]]; then
	echo "Non è stato inserito alcun parametro";
	exit 1;
fi

while getopts ":a:b:c:d:e:" OPTIONS; do
	case $OPTIONS in
		a)
#			echo "Inserito sottostante, con valore $OPTARG" >&2;
			Sottostante=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		b)
#			echo "Inserito multiplo, con valore: $OPTARG" >&2;
			Multiplo=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		c)
#			echo "Inserito strike, con valore: $OPTARG" >&2;
			Strike=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		d)
#			echo "Inserita lettera di vendita, con valore: $OPTARG" >&2;
			Lettera=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		e)
#			echo "Inserita variazione del sottostante, con valore: $OPTARG" >&2;
			VariazioneSottostante=$(echo $OPTARG | sed -e 's/\,/\./g' | awk '{printf("%.3f"),$1}');
			;;
		\?)
			echo "Opzione inserita non valida. Parametro inserito $OPTARG" >&2;
			exit 1;
			;;
		:)
			echo "Opzione $OPTARG richiede un argomento" >&2;
			exit 1;
			;;
	esac
done 

echo " ";

#Qui devo inserire la condizione di controllo che io abbia inserito una CALL

LetteraAttuale=$(echo "$Sottostante -$Strike" | bc -l); 
LetteraAttuale=$(echo "$LetteraAttuale * $Multiplo" | bc -l);
LetteraAttuale=$(echo "$LetteraAttuale" | awk '{printf("%.3f"),$1}');
#echo "Lettera attuale, al valore di tempo intrinseco vale: $LetteraAttuale";

NuovoSottostante=$(echo "$Sottostante / 100" | bc -l);
NuovoSottostante=$(echo "$NuovoSottostante * $VariazioneSottostante" | bc -l);
NuovoSottostante=$(echo "$NuovoSottostante + $Sottostante" | bc -l);
NuovoSottostante=$(echo "$NuovoSottostante" | awk '{printf("%.3f"),$1}');
echo "Il nuovo sottostante, considerata la variazione di percentuale ipotetica del $VariazioneSottostante% è: $NuovoSottostante";

NuovaLettera=$(echo "$NuovoSottostante - $Strike" | bc -l); 
NuovaLettera=$(echo "$NuovaLettera * $Multiplo" | bc -l);
NuovaLettera=$(echo "$NuovaLettera" | awk '{printf("%.3f"),$1}');
echo "La nuova lettera calcolata in base ad un ipotetico aumento del sottostante del $VariazioneSottostante%, vale: $NuovaLettera";

NuovaLetteraPercentuale=$(echo "($LetteraAttuale / $NuovaLettera) * 100" | bc -l);
NuovaLetteraPercentuale=$(echo "$NuovaLetteraPercentuale" | awk '{printf("%.3f"),$1}');
echo "il rendimento percentuale del certificato vale: $NuovaLetteraPercentuale%";
echo "se il sottostante varia del: $VariazioneSottostante%";

BreakEven=$(echo "$Strike + ($Lettera / $Multiplo)" | bc -l);
BreakEven=$(echo "$BreakEven" | awk '{printf("%.3f"),$1}');
#echo "Il punto di Break-Even si avrà quando il sottostante raggiungerà i $BreakEven euro.";

SottostanteAlBE=$(echo "($BreakEven - $Sottostante) * 100" | bc -l);
SottostanteAlBE=$(echo "$SottostanteAlBE / $Sottostante" | bc -l);
SottostanteAlBE=$(echo "$SottostanteAlBE" | awk '{printf("%.2f"),$1}');
#echo "La percentuale di variazione che deve coprire il sottostante, per raggiungere"; 
#echo "il Break-Even e diventare redditizio è: $SottostanteAlBE%";

echo " ";

Ciao , ho letto velocemente ma mi sembra ti mancano dei pezzi concettuali che sono fondamentali, il tempo e la volatilità . Ho fatto una googlata e questo mi sembra ben fatto per approfondire https://www.borsaitaliana.it/cw-e-certificates/archiviopdf/brochureemittenti/gswarrant.pdf
 
Ti ringrazio per la pronta risposta. Conoscevo quel documento, ma non riesco a trovare in cosa il formalismo che uso sia errato. Impiego relazioni matematiche sbagliate? Mi sembra che crrispondano tutte al documento che mi hai postato. Semmai avrai un pò di tempo in più, mi piacerebbe se potessi darmi un suggeriento su cosa potrei migliorare.

In ogni caso le domande principali restano quelle due:
E' corretto il calcolo del rendimento per un CW, fatto come l'ho fatto io?
E' normale che all'aumentare del sottostante, il rendimento dello stesso CW-Call decresca? Non dovrebbe essere il contrario?

In ogni caso grazie.
 
E' corretto questo ragionamento? Ho sbagliato i calcoli o proprio la logica?

La scadenza è il 14/3/2019. A quella data il CW avrà valore se in quel giorno il prezzo dell'azione Terna sarà superiore allo strike 4,5.

Le quotazioni attuali dipendono dalla probabilità che alla scadenza il prezzo dell'azione sia superiore a 4,5.

Se ci fossero buone probabilità che alla scadenza il prezzo dell'azione sia inferiore allo strike, il prezzo del CW andrebbe verso lo zero. Se il prezzo dell'azione balla attorno allo strike, le probabilità sono vicine al 50%. Con l'avvicinarsi della scadenza, il prezzo del CW si avvicinerà a quello del possibile rimborso.

Queste sono finora le variazioni relative del prezzo dell'azione Terna (in rosa) e del CW (in nero).
 

Allegati

  • trn.jpg
    trn.jpg
    48 KB · Visite: 6
Ti ringrazio per la precisazione ma, almeno finora, non mi sembra che ciò che hai detto lede il mio formalismo.

Riformulo la mia domanda in questo modo:

E' corretto dire che, alla data di scadenza, se il sottostante ha guadagnato il 5% sul mercato, quel CW avra un rendimento del 61% ?

In quale maniera il valore temporale o quello intrinseco del certificato intercedono nel calcolo del suo rendimento?

Grazie mille.
 
Ok. Credo di aver capito dove sbagliavo. Benchè in via teorica i miei ragionamenti siano corretti dal punto di vista meramente matematico, non tengono in contro che il valore reale della lettera alla data di estinzione, potrebbe discostare enormemente dal risultato del calcolo del sottostante, perchè è influenzato dalla percentuale residua dei giorni precedenti, che possono essere contrarie alle mie previsioni.

Faccio un pò di esercizi per fare pratica.

Grazie per avermi puntato nella direzione corretta.
 
Ok. Credo di aver capito dove sbagliavo. Benchè in via teorica i miei ragionamenti siano corretti dal punto di vista meramente matematico, non tengono in contro che il valore reale della lettera alla data di estinzione, potrebbe discostare enormemente dal risultato del calcolo del sottostante, perchè è influenzato dalla percentuale residua dei giorni precedenti, che possono essere contrarie alle mie previsioni.

Faccio un pò di esercizi per fare pratica.

Grazie per avermi puntato nella direzione corretta.

Caro Doctor, gli amici sopra hanno cercato di risponderti tecnicamente io, invece, ti rispondo brutalmente e terra terra. LASCIALI PERDERE, sono strumenti infernali da usare solo se hai soldi da perdere e regalare alla banca emittente. Nessun calcolo, per quanto tu possa essere bravo a farlo, ti darà mai un risultato che minimamente si avvicina alla realtà del loro prezzo presente o futuro. Sono letteralmente una truffa legalizzata come lo sono, peraltro, i leva fissa x3 ecc.

Combinazione proprio ieri sera ho scritto un post al riguardo, sulla loro storia e funzionamento nella sezione FTSEMIB e altri indici, Materie Prime n. 151. Leggilo, è il n. 423 a pag. 43 e, se sei furbo visto che sembri un frequentatore nuovo di questa giostra, fanne tesoro.
 
A questo punto, ammesso che il mercato abbia guadagnato questo 5% calcolo quale è il rendimento del CW in questo modo:

(0.03915 / 0.06360) * 100 = 61.55%.

L'errore che hai fatto è qui, il rendimento lo devi calcolare sul valore di acquisto e non sul valore intrinseco, ovvero:

Rendimento a scadenza= 0,0636/0,0465 -1 => 36,77%

Man mano che il sottostante sale troverai che il rapporto rendimento del sottostante/rendimento del CW sale asintoticamente (il valore estrinseco che hai pagato diventa trascurabile), di fatto diventa un future a leva fissa.

Continua a studiare senza dare retta a chi ti vuole scoraggiare, l'unico consiglio che posso darti è di usare direttamente le opzioni invece dei CW, molto più liquide e trasparenti ed inoltre le puoi anche shortare.
Prima di iniziare ad usare soldi veri cerca di avere tutto ben chiaro.
 
Come ti hanno già fatto notare altri i CW non sono lineari come futures o CFD quindi non è corretto fare i calcoli come fai tu, intervengono altri fattori quali la volatilità implicita e il tempo rimanente alla scadenza che raramente possono essere trascurati.
Ma il vero motivo per cui ti rispondo è per chiederti per quale motivo hai usato il bash-scripting come linguaggio per fare questi conti, mi pare una scelta singolare.
Ti consiglierei il Python per queste cose ma andrebbe benissimo anche un foglio LibreOffice Calc o Excel.
 
L'errore che hai fatto è qui, il rendimento lo devi calcolare sul valore di acquisto e non sul valore intrinseco, ovvero:

Rendimento a scadenza= 0,0636/0,0465 -1 => 36,77%

Man mano che il sottostante sale troverai che il rapporto rendimento del sottostante/rendimento del CW sale asintoticamente (il valore estrinseco che hai pagato diventa trascurabile), di fatto diventa un future a leva fissa.

Continua a studiare senza dare retta a chi ti vuole scoraggiare, l'unico consiglio che posso darti è di usare direttamente le opzioni invece dei CW, molto più liquide e trasparenti ed inoltre le puoi anche shortare.
Prima di iniziare ad usare soldi veri cerca di avere tutto ben chiaro.

penso tu ti riferisca a me, però non mi sembra di averlo scoraggiato dallo studiare o dal salire su questa giostra. Credo di avere cercato di scoraggiarlo solo dall'usare i CW, cosa che, mi sembra abbia fatto anche tu indirizzandolo verso le opzioni.
 
Prima di tutto grazie a tutti.

@AceOfDiamonds:
Grazie per la correzione ! Infatti mi sembrava che mi risultassero dei rendimenti eccessivi. Ad essere sincero non saprei come fare ad investire direttamente sulle opzioni, piuttosto che sui CW. Dal desk online dell'unicredit posso contrattare regolarmente i CW, ma per le opzioni mi devo apoggiare a società di intermediazione, come Plus500?

@_Sharik_
Sono un convinto utente Linux e, benchè sia conscio di poter integrare calcoli così elementare su Excell, questo script verrà integrao in un applicazione più grande e quindi l'ho realizzato come script in modo da poter venir invocato in remoto da shell passandogli tra le varie opzioni tutte le costanti numeriche necessarie al colcolo. In realtà il codice non è molto robusto perchè non è tipizzato e non gestisco le eccezioni sui vari tipi di dato inseribili dall'utente, ma per il momento mi accontento.

Saluti a tutti.
 
Ultima modifica:
Prima di tutto grazie a tutti.

@AceOfDiamonds:
Grazie per la correzione ! Infatti mi sembrava che mi risultassero dei rendimenti eccessivi. Ad essere sincero non saprei come fare ad investire direttamente sulle opzioni, piuttosto che sui CW. Dal desk online dell'unicredit posso contrattare regolarmente i CW, ma per le opzioni mi devo apoggiare a società di intermediazione, come Plus500?

Le puoi trattare con diverse banche online come Binck, Sella, IW, Fineco tanto per dire le prime che mi vengono in mente.
 
Indietro