mercoledì 28 maggio 2014

GEORGE SOROS: THE MAN WHO BROKE THE BANK OF ENGLAND


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. 


LA RICETTA DI SOROS PER L'EUROPA

Nel corso di un discorso, tenuto al centro per gli studi finanziari di Francoforte, il finanziere George Soros ha formulato le sue indicazioni per il futuro dell'Europa. La prima destinataria dei consigli dell'economista ungherese naturalizzato statunitense è la Germania, che "deve aprire la porta agli eurobond". Secondo Soros il governo tedesco non è esente da critiche e dovrebbe valutare l'ipotesi di lasciare l'eurozona "che ha migliori possibilità di sopravvivere senza di lei". Se la contrarietà agli eurobond non mutasse, infatti, i tedeschi dovranno "considerare la possibilità di lasciare l'euro e consentire agli altri paesi di emetterli".Per Soros, inoltre, la Germania si sta dirigendo verso una fase di recessione e non può più permettersi di perdere ulteriore tempo. 
Nel tempo, secondo Soros, l'Eurozona si è trasformata da un'associazione volontaria di stati di eguale posizione in una serie di relazioni creditore-debitore da cui non sembrano esserci vie d'uscita. Alcuni paesi membri si sono indebitati "in una valuta che non controllano" e sono ora gravati dai rischio di default. Di conseguenza la crisi ora minaccia di distruggere l'Unione Europea se non saranno prese misure radicali. 

fonti:
la Repubblica;
Wikipedia;
soldionline.it;
Borsa Italiana.

WARREN BUFFET

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.

Ma cosa ha portato Mr. Warren Buffett a diventare l’investitore N.1 al mondo? 




Scopriamo quali sono le linee guida da seguire per diventare un ottimo investitore.
Occorre premettere che Buffett non ha mai dettato delle regole o dei parametri da seguire. Però queste sono linee guida che si evincono dalle lettere che annualmente scrive agli azionisti della sua Berkshire Hathaway, dalle interviste che rilascia e soprattutto dal suo modo di comportarsi. Sono i parametri comunque riconosciuti dagli studiosi di Buffett come le sue linee ispiratrici.
Da notare che non si tratta di regole comportamentali riguardanti l’approccio al mercato azionario, ma di parametri oggettivi da verificare sui titoli. Vediamoli in ordine.


1. I MANAGER DEVONO AVER GESTITO RAZIONALMENTE I SOLDI DEGLI AZIONISTI


Decidere se trattenere gli utili o restituirli agli azionisti secondo Buffett è un esercizio di razionalità. Nel caso in cui i manager hanno le possibilità di far rendere i soldi di più che altri impieghi nella media di mercato, possono decidere di trattenere gli utili. Nel caso in cui non abbiano questa possibilità dovrebbero decidere di restituirli agli azionisti, sotto forma di dividendi, o sotto forma di riacquisto di azioni proprie. E’ un bivio al quale Buffett dà molta importanza per il giudizio del management, i quali tenderebbero a trattenere gli utili per aumentare il loro dominio.


2. L'IMPRESA DEVE AVER VERAMENTE AUMENTATO NEL TEMPO I GUADAGNI DEI SUOI AZIONISTI


Il cash flow di norma viene calcolato a Wall Street come (a) guadagni operativi più (b) spese di deperimento e altre spese non-cash. Secondo Buffett è un indicatore incompleto, al quale bisogna aggiungere (c) reinvestimenti richiesti dal business. Il (c) è definito da Buffett come “l’ammontare medio delle spese per impianti ed equipaggiamenti che il business richiede per il mantenimento di una posizione competitiva di lungo periodo”. Il nuovo indicatore usato al posto del cash flow, che Buffet chiama “owner earnings” sarà quindi (a)+(b)-(c). Quando (b) e (c) sono diversi, anche il calcolo tra cash flow e owner earnings sarà diverso, cosa che succede per la maggior parte delle attività economiche. Quando (c) eccede (b) l’analisi del cash flow sovrastima la realtà economica dell’azienda. Quindi porre attenzione a quelle aziende che richiedono grosse spese ricorrenti in rinnovo dell’impiantistica per mantenersi competitive sul mercato.


3. AL MOMENTO DELL'ACQUISTO, LA QUOTAZIONE DEVE ESSERE ALMENO IL 25% INFERIORE AL VALORE INTRINSECO


Calcolare il valore dell’azienda è tanto difficile quanto è difficile inserire le giuste variabili: il cash flow netto che si genererà durante la vita del business, scontato ad un appropriato tasso di interesse. Buffett usa al posto del cash flow il suo “owner earnings” (punto 2) previsto nel corso della vita del business scontato semplicemente del tasso dei long-term bond del governo USA. Naturalmente un errore nelle stime può vanificare il risultato dell’investimento. Buffett usa il suo “margine di sicurezza” del 25% per ridurre questo rischio. Se ad esempio la stima sarà sbagliata del 10% in eccesso, Buffett manterrà un ritorno comunque adeguato, se la stima sarà corretta, o sbagliata per difetto, il ritorno sarà straordinario.


4. I MANAGER DEVONO ESSERE IN GRADO DI CONVERTIRE LE VENDITE IN PROFITTI 



Si tratta essenzialmente della capacità di contenere i costi. Ogni volta che un’azienda annuncia un piano di ristrutturazione per tagliare i costi, per Buffett è segno che l’azienda fino a quel momento ha avuto degli sprechi e ha speso i soldi degli azionisti non razionalmente. Sono da considerare quelle aziende che negli anni hanno sempre mantenuto un livello accettabile di utili sul fatturato.


5. L'IMPRESA DEVE AVER EVITATO L'ECCESSO DI DEBITI


Le imprese possono aumentare il loro ritorno sui mezzi propri aumentando il loro rapporto tra il debito di lungo periodo e i mezzi propri. Però, secondo il grande investitore americano, un buon business deve essere in grado di guadagnare un buon ritorno senza l’aiuto della leva dei debiti, i quali devono rimanere ridotti entro limiti di sicurezza in rapporto al cash flow generato. Le imprese da considerare sono quelle in grado di avere un buon ritorno senza l’impiego di una grande quantità di debiti.


6. L'IMPRESA DEVE AVER PERFORMATO IN MANIERA CONSISTENTE



Il rapporto utili per azione di per sé non è considerato da Buffett un valido indicatore. Siccome ogni anno le aziende distribuiscono agli azionisti solo una parte degli utili, non c’è niente di particolarmente esaltante in un aumento del 10% dell’utile per azione se nel frattempo la base di capitale è aumentata del 10%. Buffett preferisce considerare quelle aziende che hanno nel tempo mantenuto un ottimo return on equity, cioè il ritorno sul capitale investito.


7. I MANAGER DEVONO AVER VERAMENTE AUMENTATO IL VALORE PER GLI AZIONISTI


Si tratta della famosa regola “one dollar for one dollar”. Le aziende ogni anno decidono quanta parte dell’utile netto (se c’è) deve essere distribuito sotto forma di dividendi. Il restante viene trattenuto dall’azienda. Se la parte trattenuta è impiegata bene, il mercato nel lungo periodo lo riconoscerà e il valore del titolo aumenterà di conseguenza. Si tratta di verificare se la quota trattenuta si è trasformata nel tempo in apprezzamento del valore del titolo, e in che misura. Secondo Buffett sono da considerare quelle aziende che per ogni dollaro trattenuto abbiano creato almeno un dollaro di maggiore capitalizzazione di mercato del titolo.


Si tratta di regole molto impegnative da rispettare, e soprattutto difficili da tenere sotto controllo; richiedono una grande quantità di dati sulle aziende monitorate, anche in serie storica. L’investimento sulle singole azioni per avere successo nel tempo richiede un grosso sforzo di controllo e di analisi, da parte di persone esperte e preparate. Risultati positivi o negativi sull’investimento in singole azioni senza le adeguate conoscenze ed analisi sono determinati dal caso. E Buffett per diventare l’investitore N°1 al mondo di sicuro non ha lasciato nulla al caso.



fonti:
Wikipedia;
soldionline.it;
Borsa Italiana.

DIVIDENDI

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.Le principali finalità legate all'utilizzo dei derivati sono Hedging, Arbitraggio e Speculazione.


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). 


fonti:
Wikipedia;
Borsa Italiana.

RISK MANAGEMENT & HEDGING

RISK MANAGEMENT


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.
HEDGING

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 di O. Blanchard.

RAPPRESENTAZIONE GRAFICA: ISTOGRAMMA

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à: