giovedì 29 maggio 2014

La ricetta di Soros per salvare l'Europa

In un editoriale pubblicato sul Financial Times, Soros formula la sua profezia sul futuro dell'Europa. "I mercati finanziari stanno guidando il mondo verso un'altra grande depressione. [...] Le autorità, particolarmente in Europa, hanno perso il controllo della situazione. [...] E' necessario fare passi coraggiosi". Quali? In primo luogo, è necessario creare un ministero del tesoro comune a tutti paesi dell'eurozona. Poi, le principali banche devono essere messe sotto la direzione della Banca Centrale Europea, in cambio di ricapitalizzazione e garanzia temporanea nei confronti di quest'ultima. Sarebbe la Bce a tenere in ordine i conti delle banche, stabilire quando possano effettuare prestiti, valutando attentamente i rischi. Inoltre, la stessa Banca Centrale Europea dovrebbe rifinanziare temporaneamente, a costo molto basso, i PIIGS: "ciò calmerebbe i mercati e darebbe all'Europa il tempo per sviluppare per sviluppare una strategia di crescita, senza la quale il problema del debito non può essere risolto". Lo scopo è quello di "erigere barriere contro il contagio di un possibile default greco": anche nel qual caso la bancarotta avvenisse, questa non provocherebbe un "terremoto globale". "Molte altre proposte vengono discusse a porte chiuse": l'alternativa da lui prospettata, limitando di fatto l'autonomia delle banche, susciterebbe non poche opposizioni da parte delle stesse e dei governi centrali. "Soltanto la pressione pubblica può farlo approvare".


(Fonte: la Repubblica del 1 ottobre 2011) 

mercoledì 28 maggio 2014

Quando nasce il trading?

E' lecito, a questo punto, domandarsi come si sia giunti all'odierno concetto di trading. L'economia politica nasce nel XVI secolo, con i mercantilisti ed i fisiocratici, per svilupparsi appieno  nel XVIII con gli economisti classici: l'intera trattazione successiva si baserà sui contenuti pionieristici di Adam Smith, Thomas Robert Mathus, David Ricardo, Karl Marx. Non essendo a quell'epoca ancora sviluppato il mercato azionario, le uniche fonti di ricchezza appaiono capitale, terra e lavoro; a tale concezione si contrappone la teoria portata avanti da John Maynard Keynes, secondo il quale il mercato del lavoro non si regola autonomamente, di modo che, per sua stessa natura, riduca al minimo il tasso di disoccupazione (teoria della mano invisibile del mercato), ma è necessario un intervento statale nell'economia, con politiche monetarie e di bilancio. Secondo Keynes, qualora la domanda aggregata non sia sufficiente a permettere bassa disoccupazione, è necessario che lo Stato centrale crei egli stesso occupazione: si possono, nelle celebre parole di Keynes, anche pagare delle persone per scavare buche, e poi pagarne altre che le ricoprano: non si saranno certo creati beni immettibili sul mercato, ma una moltitudine di persone avranno trovato un'occupazione, per la quale riceveranno retribuzione che potranno dunque spendere nell'acquisto di altri beni  di consumo e servizi. Pur portatore di una epocale rivoluzione, anche in Keynes non compare appieno un'attenta analisi riguardo il funzionamento del mercato azionario, che proprio in quegli anni andava plasmandosi.
Le moderne tecniche di trading si svilupperanno solamente dopo il periodo della grande depressione: ancora oggi, vengono designati come più grandi trader della storia Warren Buffet e George Soros.



Warren Buffet nasce nel 1930 a Omaha, nello stato de Nebraska; proprio dalle sue origini prenderà spunto il soprannome in seguito affibbiatogli, "l'oracolo di Omaha". Frequenta la Columbia Buisness School, nella quale è allievo dell'economista Benjamin Graham, da cui apprende la tecnica del value investing, la quale si basa sull'acquisto di titoli ad un prezzo inferiore del loro valore intrinseco (tale differenza viene denominata margine di sicurezza). Divenuto nel 1960 presidente ed amministratore delegato della Berskhire Hathaway, holding di un'ottantina di aziende tra quotate e non, si fa strada utilizzando una tecnica che, usando le sue parole, è "85% Graham e 15% Fisher". La differenza rispetto al proprio maestro risiede nell'approccio più qualitativo di Buffet; per valutare il rendimento di un'azienda, egli considera il prezzo di mercato di questa, il business d'impresa, i vantaggi competitivi, ma anche l'onestà e la capacità dei vertici aziendali. Questa tecnica è risultata vincente soprattutto per le speculazioni di lungo periodo, contribuendo ad ascrivere Buffet nell'olimpo dei trader.

George Soros nasce a Budapest il 12 agosto 1930 con il nome di Gyorgy Schwartz; in opposizione al regime dittatoriale ungherese, emigra in Inghilterra per studiare alla London Business School e si trasferisce negli Stati Uniti, dove comincia ad investire nella neonata Wall Street. Fonda il Soros Fund Management, co-fonda, con Jim Rogers, il Quantum Fund, si guadagna la fama di grande speculatore. Studioso e appassionato di Popper, si dichiara più volte a favore di politiche statali democratiche e liberali, avverse a qualsiasi tipo di totalitarismo. Ma è il 16 settembre 1992 a proclamare Soros uno dei più grandi trader della storia: egli vende allo scoperto 10 miliardi di dollari in sterline, approfittando della avversione della Banca d'Inghilterra sia ad aumentare i propri tassi di interesse e livelli pari a quelli dei paesi del Sistema Monetario Europeo (il patto delineatosi pochi anni addietro tra i paesi che poi saranno andrati a costituire la zona Euro, che stabiliva parità di cambio fissata), sia a mantenere fluttuante il tasso di cambio della moneta stessa. Le conseguenze sono tragiche: l'Inghilterra è costretta ad uscire dal Sistema Monetario Europeo, la banca centrale si vede costretta a svalutare pesantemente la sterlina, mentre Soros guadagna una cifra stimata di 1,1, miliardi di dollari, tanto che questo episodio gli vale l'appellativo di "uomo che distrusse la banca d'Inghilterra". Non solo: Soros riserva un trattamento del tutto simile all'Italia, vendendo lire allo scoperto e causando oltre 48 miliardi di dollari di perdite alla Banca d'Italia, cosicché anche questa è costretta ad abbandonare il Sistema Monetario Europeo.

(Fonti: Wikipedia, Borsa Italiana)

martedì 27 maggio 2014

Dividendi: fini e tipologie

In finanza, il derivato è un contratto o un titolo avente prezzo basato sul valore di mercato di un latro strumento finanziario, chiamato sottostante. Sottostanti possono essere, ad esempio, azioni, tassi di interesse, valute, indici.
Principali finalità legate all'utilizzo dei derivati sono:
  • Hedging. Un investitore che intende acquistare un titolo, deciderà di procedere con l'atto nel momento in cui riterrà che il prezzo sia abbastanza basso, sperando che, in futuro, subisca un rialzo, di modo che, qualora volesse rivendere lo strumento, ne trarrebbe un profitto. E' possibile, in realtà, che il titolo subisca un ulteriore decremento, cosicché l'investitore sia soggetto a perdita, più o meno elevata. A questo proposito, si dice che l'acquirente assume una posizione lunga. Al contrario, un investitore che si propone di vendere uno strumento finanziario, intenderà farlo quando suppone che questo abbia raggiunto il massimo prezzo, in modo da raggiungere il massimo profitto ottenibile. Anche in questo caso, però, vi è rischio di rialzo del mercato: è possibile che il prezzo continui a salire a seguito dell'atto di vendita, acciocché sarebbe apparso conveniente aspettare ancora per procedere con l'atto. Il venditore assume, da questo punto di vista, posizione corta. La copertura di rischi presuppone un'operazione che richieda posizione corta, effettuata per bilanciarne un'altra caratterizzata da posizione lunga, e viceversa. Con un esempio: supposto che un impresa intenda acquistare una data quantità di un bene, tra un periodo di tempo prestabilito e ad un prezzo prefissato; il rischio consiste nella possibilità che, al termine del periodo, il prezzo possa essere più basso di quello stipulato, caso in cui il contratto stabilito precedentemente non risulti più conveniente. In tal caso, per ridurre il rischio generato dal presentarsi si una situazione di questo tipo, l'impresa può stabilire un secondo contratto, l'opzione appunto, in cui si impegni a vendere immediatamente la merce acquistata ad un altro soggetto economico ad un prezzo superiore a quello stipulato nel primo contratto. L'impresa rinuncia ad un guadagno maggiore, cui avrebbe diritto nel caso di rialzo dei prezzi, a fronte di un profitto certo, seppur ridotto.
  • Arbitraggio. E' possibile acquistare un determinato prodotto sul mercato in corrispondenza del quale si registri il prezzo più basso, per poi rivendere tempestivamente il medesimo su un secondo mercato, in cui il prezzo risulti più alto. La differenza tra i due prezzi costituirà il guadagno dell'operatore.
  • Speculazione. Restando all'esempio precedente, l'impresa che intende acquistare il bene potrebbe no voler effettuare alcune operazione per tutelarsi, perché totalmente convinte che, al termine del periodo prestabilito, il prezzo salga e risulti superiore al valore stipulato nel contratto. Proprio il contratto è stipulato versando inizialmente una piccola quota dell'importo; se, effettivamente, il prezzo risulterà più alto, lo speculatore potrà acquistare il bene al prezzo di contratto e rivenderlo immediatamente al prezzo di mercato, più elevato, traendone un guadagno. Il guadagno risulterà tanto più elevato, quanto più contenuta sarà la quota iniziale investita, cioè il dividendo (effetto leva). Scenario del tutto diverso nel caso di decremento del prezzo rispetto alla quota stabilita nel contratto: in tal caso, l'investitore sarebbe costretto a comprare un bene ad una quota molto superiore al prezzo di mercato, e risulterebbe complesso, a quel punto, rivendere la merce ad un prezzo che garantisca, quantomeno, di recuperare la somma di denaro versata. Il rischio più grande è rappresentato dalla bolla speculativa.
Tra le molteplici tipologie di derivati, solitamente si usa distinguere nelle due categorie plain vanilla, corrispondente ad una negoziazione standard, e titoli esotici, più complessi. Nella prima, i principali strumenti risultano:
  • Futures. Si tratta di contratti in cui ci si impegna ad acquistare merci o attività finanziarie in una certa data e ad un certo prezzo prefissato. Da questo punto di visto, sono assimilabili ai contratti a termine, pur differendo da questi ultimi essendo standardizzati in termini di importi e scadenze, e non risultando riferiti a specifiche categorie di prodotti (titoli di stato con scadenza almeno decennale, senza imporre, dunque, che i titoli debbano avere proprio scadenza a dieci anni). 
  • Forward rate agreement. Sono contratti attraverso i quali due soggetti economici si impegnano a scambiarsi una quota di denaro prefissata, calcolata come differenza tra un tasso concordato (contract rate) ed un tasso di riferimento (come il LIBOR). Chi acquista il FRA, pertanto, si impegna a pagare una quota di denaro a tasso concordato, chi lo vende a pagare una quota stabilita a partire da un tasso di riferimento.
  • Swap. Chi stipula tali contratti si impegna a scambiarsi flussi monetari futuri.
  • Opzioni. A differenza dei futures, in questo caso si ha la possibilità, non l'obbligo, di acquistare o vendere il sottostante entro una certa data e ad un dato prezzo (strike price). Le opzioni call conferiscono al possibilità di acquisto del titolo in questine, le opzioni put quella di vendita.
Per completare il quadro, con il termine capitale sociale (equities) si designa il contributo agli azionisti fornito dalla società di cui essi fanno parte. Il termine è spesso sostituito con capitale di rischio, poiché, se l'attività, per un qualsivoglia motivo, cessasse, dopo aver incassato l'attivo dovranno essere restituite tutte le passività, secondo una gerarchia di importanza, e solo a quel punto sarà possibile procedere con il rimborso della quota destinata agli azionisti: non è detto che l'azienda disponga ancora di capitale da restituire a questi ultimi, dunque il capitale sociale rappresenta la quota di profitti maggiormente a rischio. Tale quantità, ovviamente, non resta costante per l'intera vita di una società: aumenti di capitale possono essere richiesti dagli organi di amministrazioni delle società, mentre riduzioni dello stesso possono essere richieste deliberatamente dalla società o imposte da un'autorità garante qualora vi siano state perdite che abbiamo leso il capitale sociale di oltre un terzo. Nel caso in cui questo risulti ridotto oltre il limiti legale, si impone per legge non solo la riduzione, ma anche la ricapitalizzazione, la quale consiste in un'aumento ad una cifra no inferiore al minimo.
All'azionista possono essere ceduti gli stessi beni conferibili in sede di costruzione della società, nonché porzioni di patrimonio netto disponibile (si parla, in questo caso, di passaggio di riserve a capitale). 

(Fonte: Wikipedia)

lunedì 26 maggio 2014

Hedging e gestione del rischio

La gestione del rischio, o risk management, è il processo attraverso cui vengono elaborate strategie volte alla quantificazione, l'elaborazione, l'eliminazione del rischio stimato associato ad un dato processo produttivo.
Occorre premettere che, come teorizzato dalla legge di ferro della finanza, rendimenti elevati sono associati esclusivamente a rischi elevati. L'imprenditore, dal canto suo, si prefiggerà l'obiettivo di:
  • minimizzare le perdite legate al processo;
  • massimizzare il guadagno dello stesso.
A seguito dell'acquisto di un portafoglio, l'investitore pondererà ciascun rischio con la relativa probabilità di accadimento; vi saranno eventi legati a rischi elevati, ma che con bassa probabilità si presenteranno, ed altri di minore entità, associati a maggiore probabilità. Compito del manager sarà quello di elaborare una metodologia che permetta l'aggiramento, quanto possibile, di tutti quegli eventi cui sia associato un rischio più o meno elevato. In genere, il processo può essere scansionato nelle cinque fasi seguenti:
  • definizione del contesto;
  • identificazione dei rischi;
  • analisi degli stessi;
  • conseguente valutazione;
  • infine, controllo dei rischi.
Identificare i rischi, in genere, può risultare un'operazione assai complessa. Innanzi tutto, perché si considerano valutazioni derivanti da previsioni, dunque che presentano un certo margine di errore. In secondo luogo, i rischi possono dipendere direttamente da variabili non monitorabili, pertanto non sempre può risultare possibile eliminare del tutto l'incombenza di perdite. Inoltre, è necessario valutare anche il costo-opportunità legato a qualsiasi strategia messa in atto: le risorse (economiche, ma anche umane) messe a disposizione nel tentativo di limitare il rischio possano essere applicate per fini più produttivi.

Senza voler fornire una visione troppo semplicistica, si possono distinguere alcune fondamentali categorie di rischio:
  • errori umani, categoria nella quale non si annoverano esclusivamente gli errori involontari, ma anche il mancato rispetto delle regole e, soprattutto, le frodi;
  • errori di processo o malfunzionamento di macchinari;
  • errori dovuti a fattori esogeni, quali eventi politici, militari, ambientali, criminali;
  • errori di tecnologia, dovuti ad un'errato utilizzo degli impianti di produzione.
L'hedging è un'operazione che consente la copertura riguardo a possibili rischi legati ad un investimento. Pur non prevenendo tali eventi, questa operazione limita gli impatti negativi che questi potrebbero generare.

Alcune tipologie di rischio che si possono evitare sono:
  • Rischio legato al prodotto. Quello legato ai contratti stipulati sul mercato delle merci, che include prodotti agricoli, metalli e fonti energetiche.
  • Rischio legato al credito. Il rischio che il debitore non riesca ad estinguere il suo debito, equivalente, nel caso di Stati nazionali, al rischio di default.
  • Rischio legato alla valuta. Ovvero il rischio legato alla possibilità, da parte delle banche, di effettuare prestiti immediati.
  • Rischio legato al tasso di interesse. Gli intessi possono essere fissi o variabili; solitamente, si aggiusta il valore del tasso ad una quota con la quale si tenti, per lo meno, di recuperare l'inflazione, in modo da non incorrere in perdite di denaro. Qualora l'inflazione stessa assuma entità maggiore dell'interessa, si incorrerà comunque in una perdita.
  • Rischio legato al mercato azionario. E' possibile che i beni acquistati subiscano un deprezzamento, a causa di dinamiche interne al mercato azionario.
  • Rischio legato alla volatilità. L'investimento risente fortemente della stabilità della moneta, dunque del tasso di cambio; rischi maggiori saranno associati a monete più deboli.
  • Rischio volumetrico. Si deve tener conto del fatto che un cliente può richiedere una quantità di prodotto superiore o inferiore a quella prevista.
(Fonti: Wikipedia; Macroeconomia, O. Blanchard)

domenica 25 maggio 2014

Istogramma: rappresentazione grafica

Riportiamo di seguito un programma utile qualora si volesse tracciare l'istogramma tridimensionale di una data quantità di riferimento, di cui si suppone di conoscere i valori assunti in diversi istanti di tempo. Si è ipotizzato, in questo caso, di voler rappresentare 20 valori numerici su di un istogramma, posti su due file, in modo dunque che i primi 10 appartenessero ad un primo anno di riferimento, i restanti a quello successivo.

Dopo averi inserito i valori numerici che si vogliono rappresentare, si procede con l'inizializzazione delle variabili necessarie per il disegno del grafico (tra cui numero dei dati inseriti, massimo tra gli stessi, numero di file su cui si posizioneranno le barre, nonché altri riferimenti spaziali e l'oggetto grafico nel quale comparirà l'istogramma):

Public Class Form1

    Private WithEvents PictureBox1 As New PictureBox
    Dim datiGrafico() As Long = {23, 98, 69, 78, 80, 59, 64, 58, 69, 74, 69, 135, 89, 67, 59, 23, 89, 44, 12, 96}
    Dim numeroValori As Integer = 20
    Dim maxValore As Long = CalcolaMassimo(datiGrafico)
    Dim nFile As Integer = 2
    Dim bordo As Integer = 10
    Dim bordoDX As Integer = 30
    Dim larghBarra As Integer = 6
    Dim profRiferimento As Integer = CType(nFile * larghBarra / 2, Integer)
    Dim x1, y1 As Single
    Dim x2, y2 As Single
    Dim scaleX As Single
    Dim scaleY As Single
    Dim gr As Graphics
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        x2 = CType(bordo + numeroValori / nFile * 10 + profRiferimento + bordoDX, Single)
        y2 = CType(bordo + maxValore + profRiferimento + bordo, Single)
        Dim larghezza As Integer = CType(x2 * (Me.Size.Height - 32) / y2, Integer)
        If larghezza <= Me.Size.Width Then
            PictureBox1.Width = larghezza
            PictureBox1.Height = Me.Size.Height - 32
        Else
            PictureBox1.Width = Me.Size.Width
            PictureBox1.Height = CType(y2 * Me.Size.Width / x2, Integer)
        End If
        PictureBox1.Location = New Point(0, 0)
        PictureBox1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or _
                                      System.Windows.Forms.AnchorStyles.Bottom) Or _
                                      System.Windows.Forms.AnchorStyles.Left) Or _
                                      System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.Controls.Add(PictureBox1)
   End Sub
   

Viene creata una funzione che restituisca il massimo valore ottenuto sul grafico:

    Private Function CalcolaMassimo(ByVal valore() As Long) As Long
        Dim risultato As Long = 0
        For Each numero As Long In valore
            If numero > risultato Then risultato = numero
        Next
        Return risultato
    End Function
    Private Sub DrawBox(ByVal coloreF As SolidBrush, ByVal coloreL As SolidBrush, ByVal coloreS As SolidBrush, _
                                     ByVal posX As Integer, ByVal posY As Integer, ByVal l As Integer, ByVal p As Integer, _
                                     ByVal h As Integer)
                p = CType(p / 2, Integer)

Vengono determinate le facce, rispettivamente, laterali e superiori di ciascuna barra:

        Dim FacciaVerticale() As Point = {New Point(posX + l, posY + h), New Point(posX + l + p, posY + h + p), _
        New Point(posX + l + p, posY + p), New Point(posX + l, posY)}
        Dim FacciaSuperiore() As Point = {New Point(posX + l, posY + h), New Point(posX + l + p, posY + h + p), _
        New Point(posX + p, posY + h + p), New Point(posX, posY + h)}

A questo punto, è possibile disegnare le barre stesse:

        gr.FillRectangle(coloreF, posX, posY, l, h)
        gr.FillPolygon(coloreL, FacciaVerticale)
        gr.FillPolygon(coloreS, FacciaSuperiore)
    End Sub
    Private Sub PictureBox1_Paint1(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) _
                                   Handles PictureBox1.Paint
        gr = e.Graphics

Vengono definiti i colori di ciascuna faccia dei parallelepipedi, in modo che quelle relative al primo anno di riferimento (dunque, alla prima fila) siano gialle, per il secondo anno arancio e, di seguito, blu. Nell'esempio riportato, comunque, saranno visualizzate solamente due file, che appariranno pertanto, rispettivamente, gialle ed arancio.

        Dim bluF As Color = Color.FromArgb(178, 0, 0, 255) 
        Dim bluS As Color = Color.FromArgb(204, 50, 150, 200) 
        Dim bluL As Color = Color.FromArgb(204, 50, 100, 150) 
        Dim brushBluF As New SolidBrush(bluF)
        Dim brushBluS As New SolidBrush(bluS)
        Dim brushBluL As New SolidBrush(bluL)

        Dim rossoF As Color = Color.FromArgb(217, 247, 100, 30)
        Dim rossoS As Color = Color.FromArgb(204, 209, 111, 81)
        Dim rossoL As Color = Color.FromArgb(204, 170, 97, 74) 
        Dim brushRossoF As New SolidBrush(rossoF)
        Dim brushRossoS As New SolidBrush(rossoS)
        Dim brushRossoL As New SolidBrush(rossoL)

        
        Dim gialloF As Color = Color.FromArgb(217, 255, 255, 50) 
        Dim gialloS As Color = Color.FromArgb(204, 230, 230, 50) 
        Dim gialloL As Color = Color.FromArgb(204, 177, 177, 75) 
        Dim brushGialloF As New SolidBrush(gialloF)
        Dim brushGialloS As New SolidBrush(gialloS)
        Dim brushGialloL As New SolidBrush(gialloL)

Si impone inoltre che, laddove il valore massimo ottenuto sia maggiore di zero, questo venga approssimato per eccesso al multiplo di dieci più vicino, mentre, in caso contrario, si esca immediatamente.

        If (maxValore Mod 10) > 0 Then
            maxValore = (maxValore \ 10) * 10 + 10
        ElseIf maxValore = 0 Then
            Exit Sub
        End If

Oltre a definire numerosi aspetti puramente tecnici, si impone che, relativamente alla seconda fila di parallelepipedi, l'origine sia traslata nel punto (10, 10):
        
        Dim penAssi As New Pen(Color.DarkGray, -1)
        Dim labelFont As New Font("Arial", 3, FontStyle.Regular)
        Dim ColoreTesto As New SolidBrush(Color.Blue)
        x1 = 0
        y1 = 0
        x2 = CType(bordo + numeroValori / nFile * 10 + profRiferimento + bordoDX, Single)
        y2 = bordo + maxValore + profRiferimento + bordo
        scaleX = Me.PictureBox1.Width / (x2 - x1)
        scaleY = Me.PictureBox1.Height / (y2 - y1)
        Dim larghezza As Integer = CType(x2 * (Me.Size.Height - 40) / y2, Integer)
        If larghezza <= Me.Size.Width Then
           PictureBox1.Width = larghezza
            PictureBox1.Height = Me.Size.Height - 40
        Else
            PictureBox1.Width = Me.Size.Width
            PictureBox1.Height = CType(y2 * Me.Size.Width / x2, Integer)
        End If
        
        gr.ScaleTransform(scaleX, -scaleY)
        gr.TranslateTransform(x1, -y2)

dopo aver pulito la casella, viene disegnata la griglia:

        gr.Clear(Color.White)
        Dim colorePareti As Color = Color.FromArgb(218, 221, 223)
        Dim brushPareti As New SolidBrush(colorePareti)
        Dim SistemaDiRiferimento() As Point = { _
        New Point(CInt(x1 + bordo), CInt(y1 + bordo)), _
        New Point(CInt(x2 - profRiferimento - bordoDX), CInt(y1 + bordo)), _
        New Point(CInt(x2 - bordoDX), CInt(y1 + bordo + profRiferimento)), _
        New Point(CInt(x2 - bordoDX), CInt(y2 - bordo)), _
        New Point(CInt(x1 + bordo + profRiferimento), CInt(y2 - bordo)), _
        New Point(CInt(x1 + bordo), CInt(y2 - bordo - profRiferimento))}
        gr.FillPolygon(brushPareti, SistemaDiRiferimento)
        gr.DrawPolygon(Pens.DarkGray, SistemaDiRiferimento)
       For xScan As Single = 0 To CSng((numeroValori / nFile * 10) - 10) Step 10
            gr.DrawLine(penAssi, xScan + bordo + profRiferimento, y1 + bordo + profRiferimento, _
            xScan + bordo + profRiferimento, maxValore + bordo + profRiferimento)
            gr.DrawLine(penAssi, xScan + bordo + profRiferimento, y1 + bordo + profRiferimento, _
            xScan + bordo, y1 + bordo)
        Next xScan
        For yScan As Single = 0 To maxValore - 10 Step 10
            Dim lunghezza As Integer = CInt(numeroValori / nFile * 10)
            gr.DrawLine(penAssi, x1 + bordo + profRiferimento, yScan + bordo + profRiferimento, _
            lunghezza + bordo + profRiferimento, yScan + bordo + profRiferimento)
            gr.DrawLine(penAssi, x1 + bordo, yScan + bordo, x1 + bordo + profRiferimento, _
            yScan + bordo + profRiferimento)
        Next yScan

Vengono tracciati, di seguito, i parallelepipedi che costituiranno l'istogramma:

        For n As Integer = nFile - 1 To 0 Step -1
            For xScan As Single = 0 To CSng((numeroValori / nFile) - 1)
                Dim elemento As Integer = CInt(xScan + n * (numeroValori / nFile))
                If (n Mod 3) = 0 Then
                   DrawBox(brushGialloF, brushGialloL, brushGialloS, CInt(xScan * 10 + 12 + 3 * n), 10 + 3 * n, _
                    larghBarra, larghBarra, CInt(datiGrafico(elemento)))
                ElseIf (n Mod 2) = 0 Then
                    DrawBox(brushBluF, brushBluL, brushBluS, CInt(xScan * 10 + 12 + 3 * n), 10 + 3 * n, _
                    larghBarra, larghBarra, CInt(datiGrafico(elemento)))
                Else
                    DrawBox(brushRossoF, brushRossoL, brushRossoS, CInt(xScan * 10 + 12 + 3 * n), 10 + 3 * n, _
                    larghBarra, larghBarra, CInt(datiGrafico(elemento)))
               End If
           Next xScan
        Next
        gr.ResetTransform()
        gr.ScaleTransform(scaleX, scaleY)
        gr.TranslateTransform(x1, y1)
       

E, a questo punto, vengono inseriti la legenda ed il testo che comparirà su ciascuno dei due assi:

        gr.DrawRectangle(penAssi, x2 - 25, 10, 20, 3 + nFile * 7)
        For i As Integer = nFile - 1 To 0 Step -1
            If (i Mod 3) = 0 Then
                gr.FillRectangle(brushGialloF, x2 - 23, 13 + i * 7, 5, 4)
            ElseIf (i Mod 2) = 0 Then
                gr.FillRectangle(brushBluF, x2 - 23, 13 + i * 7, 5, 4)
            Else
                gr.FillRectangle(brushRossoF, x2 - 23, 13 + i * 7, 5, 4)
            End If
        Next
        For xScan As Single = 0 To CSng(numeroValori / nFile * 10) Step 10
            gr.DrawString(xScan.ToString, labelFont, ColoreTesto, _            CSng(bordo + xScan + 1.7 - 2 * xScan.ToString.Length), y2 - bordo + 3)
        Next xScan
        For yScan As Single = 0 To maxValore Step 10
            gr.DrawString(yScan.ToString, labelFont, ColoreTesto, _            bordo - 2 * yScan.ToString.Length - 3, y2 - bordo - yScan)
        Next yScan     
        For i As Integer = 1 To nFile
            gr.DrawString("200" & i.ToString, labelFont, ColoreTesto, x2 - 18, 6 + 7 * i)
        Next     
        labelFont.Dispose()
        ColoreTesto.Dispose()
        penAssi.Dispose()
        brushBluF.Dispose()
        brushBluL.Dispose()
        brushBluS.Dispose()
        brushRossoF.Dispose()
        brushRossoS.Dispose()
        brushRossoL.Dispose()
        brushGialloF.Dispose()
        brushGialloS.Dispose()
        brushGialloL.Dispose()
        gr = Nothing
    End Sub

Laddove l'utente cambi ridimensioni manualmente la finestra, è opportuno che anche il grafico creato subisca la stessa azioni, mantenendo inalterata la scala:

    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        Me.Refresh()
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs)
    End Sub
End Class

L'istogramma riportato sarà:


sabato 24 maggio 2014

Indici di performance

Con il termine portafoglio si designa, in economia, un insieme di titoli e strumenti finanziari, acquistati congiuntamente da un ente. Al fine di valutare la performance di ciascun portafoglio finanziario, in modo da stabilire se procedere con l'acquisto di un dato titolo, oppure escluderlo dall'investimento, è possibile calcolare diversi indici che suggeriscano all'investitore come comportarsi.
L'indice di Sharpe, dal nome del premio Nobel per l'economia 1990 William Sharpe, calcola la prestazione di un portafoglio, in base al rendimento, dunque al possibile guadagno, e al rischio. Più precisamente, considerando:
  • il rendimento del portafogliorp ;
  • il tasso d'interesse privo di rischio, stimato come il tasso di interesse di obbligazioni a breve scadenza, di paesi a basso rischio di default, generalmente di rating AAA, rf; 
  • la volatilità, ossia la deviazione standard del portafoglio, σp;
l'indice risulta pari a:

Benché molto utilizzato, e nonostante fornisca una giustificazione al CAPM, l'indice non è esente da critiche:
  • nei fatti, è difficile valutare il rendimento di un portafoglio;
  •  non vi è alcun fondamento teorico che fornisca valide giustificazioni circa l'utilizzo dei tassi di interessi per titoli di stato a basso rischio come stima del tasso di interesse privo di rischio;
  • sebbene siano stati proposti diversi metodi, la stima della volatilità di un portafoglio è complessa;
  • in particolare, è quantomeno opinabile considerare del tutto equivalenti i due concetti di varianza e rischio, mentre il secondo esprime una valutazione puramente soggettiva.
Queste opposizioni hanno portato alla determinazione di alcuni indici alternativi, tra cui l'indice di Sortino, l'indice di Treynor, l'indice di Modigliani, il Diaman Ratio.

Secondo Sortino, ideatore dell'omonimo indice, l'investitore non effettua operzioni di vendita di titoli quando i prezzi subiscono semplici aumenti o decrementi, bensì fissa un rendimento minimo, al di sotto del quale riterrà opportuno procedere con al vendita del titolo. Può essere, ad esempio, considerata come soglia minima il 3%, ossia il rendimento prodotto in media dai titoli di Stato: dunque laddove un titolo presenterà rendimento positivo, ma comunque minore del 3%, l'evento potrebbe essere considerato sfavorevole, ed il titolo venduto.
L'indice di Sortino ha forma analoga all'indice di Sharpe, ma considera come misura di volatilità il Downside Risk, o DSR:
Rispetto alla deviazione standard, il valore di riferimento non viene considerato al media degli investimenti, ma proprio il rendimento minimo accettabile, il quale equivale a quello dei titoli privi di rischio, già introdotti nell'indice di Sharpe. Ci si concentra, dunque, sulla parte negativa dell'investimento; il Diaman Ratio sarà tanto maggiore, quanto marcata sarà la tendenza dei titoli a collocarsi al di sotto delle aspettative dell'investitore, mentre assumerà valore zero nel caso in cui tali aspettative siano superate.
L'indice, al contrario, sarà tanto più basso quanto la variabilità si concentra al di sotto della soglia minima prefissata. In particolare, l'indice di Sortino è utilizzato qualora necessario confrontare due strumenti finanziari con simile indice di Sharpe. 


L'indice di Treynor, o reward to volatily ratio, al contrario, sostituisce alla deviazione standard e al downside risk il coefficiente beta, determinato nel CAPM, quale indice di volatilità:
Tale indice fornisce, in verità, valutazioni spesso opposte a quelle dedotte mediante l'indice di Sharpe: ciò è dovuto principalmente al fatto che, mentre quest'ultimo considera la volatilità totale del portafoglio, Treynor si concentra su quella derivante dai singoli investimenti. Il metodo di valutazione dipenderà dunque dalla finalità che l'investitore si vuole proporre: qualora egli non risulti ancora possessore di alcuno strumento, prediligerà l'indice di Sharpe, nel caso in cui disponga già di un portafoglio e debba valutare se includere un determinato titolo al suo interno, allora risulterà conveniente il secondo indice.

L'indice di Modigliani, o RAP (Risk-Adjusted Performance) di Modigliani, non effettua una correzione dell'indice di Sharpe esprimendo in maniera differente il rischio, bensì moltiplicando tale indice per la volatilità del mercato, σm. L'acquisto di una qualsivoglia attività finanziaria produce surplus, rispetto all'acquisto di una attività priva di rischio: ipotizzando che il portafoglio mantenga variabilità pari a quella di mercato, tale quantità è espressa proprio dall'indice di Modigliani:



In ultima istanza, il Diaman Ratio analizza la capacità di uno strumento finanziario di oscillare attorno al trend, tenendo da conto dei valori sequenziali assunti.
Posti:

  • P = (p1, p2, ..., pn) la serie storica dei prezzi logaritmici settimanali di uno struimento finanziario;
  • t = (0, 1/f, 2/f, ..., (n-1)/f) la serie storica del tempo, con f = 52 e n lunghezza della serie sotrica;
  • β la stima del coefficiente di regressione:
  • R² il coefficiente del medesimo modello;
Si ha:
Come si può facilmente notare, a differenza dei tre indici sopra considerati, il Diaman Ratio non dipende dal tasso di interesse risk-free.

(Fonte: Wikipedia)

domenica 18 maggio 2014

Approfondimento: modelli di ottmizzazione non lineare di Markowitz

I problemi di selezione del portafoglio (portfolio selection problems) rappresentano una classe molto importante e studiata, nell'ambito dell'ottimizzazione non lineare. Si tratta di modelli bi-criterio, che si prefiggono di determinare il portafoglio ideale, che vanti il miglior compromesso tra:
  • elevato rendimento del portafoglio;
  • ridotto rischio ad esso associato.
Siano:
  • xj la frazione del portafoglio, espressa in percentuale, investita nell'asset j, j = 1, 2, ..., n;
  • rj il rendimento medio dell'asset j, j = 1, 2, ..., n;
  • σj la varianza osservata in corrispondenza dell'asset j, j = 1, 2, ..., n;
  • R la soglia del rendimento del portafoglio;
si suppone che il portafoglio debba garantire un valore di rendimento atteso almeno pari ad R, minimizzando al contempo la varianza del portafoglio:


In alternativa, sia:
  • V la soglia sulla varianza del portafoglio;
si può imporre che il portafoglio abbia un valore di varianza al di sotto della soglia V, volendo massimizzare il rendimento atteso:


Si tratta, in realtà, di due possibilità di risoluzione del problema bi-criterio, in ciascuna delle quali si vincola una della due quantità incognite (media o varianza), massimizzando o minimizzando la restante.
Indicando con:
  • α il parametro di avversione al rischio, il quale quantifica l'importanza del rischio in relazione al rendimento;
 è possibile compattare le due espressioni, definendo il modello media-varianza:


Quanto più l'investitore sarà avverso al rischio, tanto più α sarà elevato; in forma matriciale, indicando con:
  • x il vettore delle n percentuali di investimento;
  • μ il vettore dei rendimenti medi osservati per gli n asset;
  • Σ la matrice di varianze e covarianze relativa ai rendimenti osservati;
si avrà:


I modelli sopra riportati possono essere delle strategie di ottimizzazione mono-obiettivo volte ad individuare la frontiera efficiente, ovvero quella dei migliori compromessi.




E' lecito a questo punto chiedersi come si possa, dati due punti collocati sulla frontiera efficiente, stabilire quale di essi sia associato alla situazione maggiormente desiderabile. In realtà, i due punti, nella figura riportata in basso x ed y, non sono confrontabili proprio perché appartenenti entrambi alla frontiera efficiente: semplicemente, rappresentano due compromessi diversi.




Se ci si limitasse ad ottimizzare un solo problema, non tenendo conto del vincolo sul restante, si otterrebbero i due estremi della frontiera.
Essendo la frontiera un insieme continuo di punti, corrispondenti a coppie di valori R e V, è possibile generare un'approssimazione di tale serie:
  • stabilendo una serie di possibili valori per V, che rappresenta l'ascissa;
  • risolvendo, per ciascuno di essi, il problema MM;


O, al contrario:
  • stabilendo una serie possibili valori per R, collocato in ordinata;
  • risolvendo, per ciascuno di questi valori, il problema MV.


(Fonte: dispense del corso "Metodi e modelli di ottimizzazione", prof.ssa Federica Ricca)

martedì 22 aprile 2014

Spostamento e ridimensionamento di un oggetto

Vediamo ora come creare un programma che permetta all'utente di variare dimensione e posizione di un oggetto a proprio piacimento. Creiamo un bottone ed una casella immagini, inizializzando le seguenti variabili:


Public Class Form1
    Dim B As New Bitmap(800, 6000)
    Dim G As Graphics = Graphics.FromImage(B)
    Public R As New Rectangle(10, 10, 200, 100)
    Public XInizialeMove As Integer
    Public YInizialeMove As Integer
    Public XInizialeRectangle As Integer
    Public YInizialeRectangle As Integer
    Public HInizialeRectangle As Integer
    Public WInizialeRectangle As Integer
    Public DeltaXMove As Integer
    Public DeltaYMove As Integer
    Public DragMove As Boolean
    Public DragResize As Boolean



Il rettangolo, le cui coordinate e le cui dimensioni sono state espresse nella fase precedente, viene visualizzato non appena si clicca sul bottone:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        G.Clear(Color.White)
        G.DrawRectangle(Pens.BlueViolet, R)
        PictureBox1.Image = B

    End Sub


Vogliamo a questo punto imporre che:
  • tenendo premuto sul tasto destro del mouse, e trascinando il cursore, sia possibile variare larghezza o altezza del rettangolo;
  • cliccando, invece, col sinistro, e sempre trascinando il cursore, si possa spostare l'intera figura, mantenendo inalterate le dimensioni.
La dichiarazione MouseDown permette di catturare la posizione del cursore, quando lo si sposta in basso o a destra:

Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
        If Not R.Contains(e.X, e.Y) Then Exit Sub
        If e.Button = Windows.Forms.MouseButtons.Left Then
            DragMove = True
        ElseIf e.Button = Windows.Forms.MouseButtons.Right Then
            DragResize = True
        End If
        XInizialeMove = e.X
        YInizialeMove = e.Y
        XInizialeRectangle = R.X
        YInizialeRectangle = R.Y
        WInizialeRectangle = R.Width
        HInizialeRectangle = R.Height
    End Sub


Se non ci interessa abilitare le due funzioni quando si sposta il puntatore del mouse verso l'alto o a sinistra, entrambi le variabili booleane vengono impostate come false nella dichiarazione MouseUp:

   Private Sub PictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp
        DragMove = False
        DragResize = False
    End Sub
End Class


MouseMove, invece, effettua istantaneamente il ridimensionamento o lo spostamento della figura, seguendo il movimento del cursore, lungo le posizioni registrate nella dichiarazione precedente:

Private Sub PictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
        If Not DragMove AndAlso Not DragResize Then
            Exit Sub
        End If
        DeltaXMove = e.X - XInizialeMove
        DeltaYMove = e.Y - YInizialeMove
        If DragMove Then
            R = New Rectangle(XInizialeRectangle + DeltaXMove, YInizialeRectangle + DeltaYMove, R.Width, R.Height)
        ElseIf DragResize Then
            R = New Rectangle(XInizialeRectangle, YInizialeRectangle, WInizialeRectangle + DeltaXMove, HInizialeRectangle + DeltaYMove)
        End If
        G.Clear(Color.White)
        G.DrawRectangle(Pens.BlueViolet, R)
        PictureBox1.Image = B
    End Sub

lunedì 14 aprile 2014

Capital asset pricing models

Nel 1990 tre economisti americani, William Shape, Merton Miller e Harry Markowitz, vincono il premio Nobel per l'Economia, «per i contributi pionieristici nell'ambito dell'economia finanziaria». Motivo del riconoscimento il capital asset pricing model (CAPM), modello matematico che descrive la relazione tra rendimento di un titolo e sua rischiosità.


Prima di procedere con la descrizione del modello, introduciamo alcuni aspetti preliminari, principalmente legati al quadro macroeconomico. Quando una società, una banca o uno Stato necessita di liquidità, ma ne è a corto, può decidere di cercare qualcuno, sia esso una azienda privata, una banca o uno Stato, disposto ad effettuare un prestito nei suoi confronti: a garantirlo vi sarà il titolo bancario. Parleremo di azioni laddove l'ente emittente sia un'impresa, pubblica o privata, mentre di obbligazioni nel caso in cui si tratti di una banca centrale, che operi quindi per conto di uno Stato. Ovviamente il prestito avviene purché, al termine di un periodo di tempo prestabilito, sia restituita non solo la somma di denaro ceduta, ma anche una quota di interessi: quest'ultima rappresenterà proprio il rendimento del titolo. Solitamente tassi di interessi maggiori corrispondono ad una minore affidabilità del soggetto che emette il titolo: più un ente economico sarà poco affidabile, più dovrà offrire tassi di interessi alti per i propri titoli, al fine di incentivare il loro acquisto. D'altro canto, più i tassi di interesse legati ai titoli emessi saranno elevati, maggiore sarà il rischio che il soggetto possa non restituire la quota dovuta al termine del periodo stabilito. Il rendimento è inoltre legato alla durata del titolo: mentre risulta più facile effettuare previsioni relative ai prossimi 6 o 12 mesi, maggiore incertezza è legata a quelle relative a periodi più ampi, con più alto rischio di default dell'ente, che renda impossibile la restituzione della cifra stabilita.



Nel capital asset pricing model si suppone che gli operatori finanziari operino secondo una logica di media-varianza, ossia:

  • cercando di massimizzare il rendimento futuro atteso;
  • cercando di minimizzare la varianza dei rendimenti, condizione che equivale a preferire soggetti economici.
L'ipotesi cardine del modello è che l'operatore finanziario basi la propria decisione riguardo l'acquisto di un titolo in base non solo al rendimento di questo, ma anche a quello del portafoglio, l'insieme di titoli che intende acquistare. Indicando quindi:
  • con rf  il rendimento lordo del titolo in questione, privo di rischio;
  • con E[rp] il rendimento futuro atteso del portafoglio, ottenuto come somma, ponderata con pesi ωi, dei rendimenti che costituiscono un dato portafoglio:;
  • con σp la deviazione standard dei rendimenti del portafoglio;
occorre massimizzare la funzione obiettivo:

Risolvendo il problema di ottimizzazione non lineare, in corrispondenza di un dato titoli i, la relazione ottenuta sarà:

avendo indicato con:
  • ri il rendimento lordo del titolo in questione;
  • rm quello relativo al portafoglio di mercato;
  • rf  il rendimento lordo del titolo in questione, privo di rischio;
  • βim il rapporto tra la covarianza tra rendimento del titolo i-esimo e portafoglio e la varianza di quest'ultimo:
Il modello è utile:
  • per valutare quanto le valutazioni di mercato si discostino dalle aspettative degli operatori: un'attività il cui prezzo sarà superiore al valore ottenuto con il capital asset pricing model risulterà sovraprezzata, una in cui sarà inferiore sottoprezzata;
  • per valutare l'acquisto di un dato titolo, rispetto al mercato di riferimento: per βim maggiore di uno, il titolo i-esimo comporterà rischiosità maggiore, al contrario βim denoterà minore rischiosità;
  • per βim maggiore di zero il trend dei due rendimenti sarà lo stesso (entrambi crescenti o decrescenti), risulterà opposto, invece, per βim minore di zero.

La difficoltà, di carattere puramente tecnico, risiede nel fatto che il coefficiente βim non può essere calcolato per via analitica, ma deve essere stimato. In questo contesto, la procedura più largamente adottata è una regressione a due passi.

Nel primo passo vengono stimati i coefficienti  βim attraverso la serie storica equazioni lineari relative a dati istanti di tempo, chiamate modelli di mercato:

Nel secondo passo, le stime ottenute in precedenza vengono utilizzate come variabili esplicative attraverso cui stimare i rendimenti riferiti all'i-esimo titolo, sempre in un modello di regressione lineare, in un'ottica cross-section:

Se α risulterà pari al rendimento lordo privo di rischio, rf, e  βim rappresenterà il premio per il rischio del portafoglio, allora il capital asset pricing model potrà essere adottato.


In realtà, il modello presuppone alcune ipotesi alquanto ristrettive:
  • la concorrenza perfetta, secondo ciascun individuo può disporre di tutte le informazioni di cui necessiti, in qualsiasi momento;
  • l'assenza di costi transazioni e tasse, che invece potrebbero frenare gli acquisti degli operatori finanziari;
  • la supposizione di medesime aspettative degli operatori, senza tener conto della possibilità di un giudizio soggettivo.

Si tratta comunque di una innovativa proposta di strategia di trading, che ovviamente può essere adottata dall'investitore, sempre con la dovuta premessa che non sempre il mercato azionario riflette l'economia reale.

(Fonte: Wikipedia)