giovedì 25 maggio 2017

Il concetto di ereditarietà in informatica

In informatica l'ereditarietà è uno dei concetti fondamentali nel paradigma di programmazione a oggetti. Essa consiste in una relazione che il linguaggio di programmazione, o il programmatore stesso, stabilisce tra due classi.

Se la classe 1 eredita dalla classe 2, si dice che 1 è una sottoclasse di 2 e che 2 è una superclasse di 1. 

A seconda del linguaggio di programmazione, l'ereditarietà può essere singola o multipla. Si parla di ereditarietà singola quando una classe può avere al massimo una superclasse; si parla di ereditarietà multipla quando invece può avere anche più di una sola superclasse.

In generale, l'ereditarietà fornisce una gerarchia tra le classi: nel caso di un'ereditarietà singola, si ha una gerarchia che possiamo definire ad albero, in quanto esiste una superclasse radice di tutte le altre; nel caso di ereditarietà multipla, invece, la gerarchia può essere complessa, e può risultare più difficile stabilirla.

Descriviamo in un'immagine l'ereditarietà singola, tramite un esempio di tipo biologico:
Risultati immagini per ereditarietà informatica immagini

Descriviamo ora invece l'ereditarietà multipla, in un'altra immagine:

Risultati immagini per ereditarietà informatica immagini

Come si può osservare, la classe 4 ha due superclassi: la 1 e la 2.

Il Capital Asset Pricing Model

Il Capital Asset Pricing Model (brevemente, CAPM) è un modello di equilibrio dei mercati finanziari.
Esso stabilisce una relazione tra il rendimento di un titolo e la sua rischiosità, misurata tramite un unico fattore di rischio "beta". Matematicamente, il beta è proporzionale alla covarianza tra rendimento del titolo e andamento del mercato. 
Osserviamo la seguente relazione:

dove  sono il rendimento lordo del titolo in questione e del portafoglio di mercato,  è il rendimento lordo privo di rischio, e

In un modello ideale, in cui non esistono tasse, costi transattivi e in cui gli investitori hanno sia lo stesso orizzonte temporale per gli investimenti che le stesse identiche opinioni sui rendimenti attesi e sulla rischiosità, si possono incontrare due tipi di rischi:

1) il rischio diversificabile, ovvero che è possibile eliminarlo tramite diversificazione del portafoglio;
2) il rischio sistematico, che non è possibile eliminare, ed è un rischio legato alla singola attività finanziaria.

Il modello CAPM ci permette di trovare il rendimento atteso di un titolo n come la somma tra il tasso risk-free e un premio di rischio che esprima il rischio non diversificabile. Il premio dipenderà molto da un coefficiente beta che misura la reattività del rendimento di un titolo ai movimenti del mercato. Tanto maggiore è il coefficiente beta, tanto maggiore sarà il rendimento atteso dell’attività n, perchè possiede un maggior grado di rischio non diversificabile. Un investitore esigerà quindi un rendimento atteso più elevato per detenere un’attività finanziaria più rischiosa.

Metriche per la valutazione di strategie

Per valutare il livello di performance di una strategia di trading, esistono diversi indici, tra i quali: Sharpe ratio, Sortino ratio, Calmar ratio.

SHARPE RATIO

È uno dei più comuni indicatori statistici utilizzati in statistica finanziaria.Utile per confrontare l’efficienza di strumenti finanziari omogenei, l’indice di Sharpe misura il rapporto tra il maggior rendimento di un fondo rispetto al rendimento di un prodotto finanziario senza rischio e la sua volatilità.


Esso è tanto più elevato quanto un maggior rendimento in un determinato periodo considerato è ottenuto con minor rischiosità. Più alto è l’indice di Sharpe, maggiore è l’abilità del gestore nell’ottimizzare il rapporto rendimento-rischio.

Più in dettaglio, esprime il rendimento di un portafoglio titoli, al netto del rendimento non rischioso (in inglese riskfree rate), normalmente inteso come il tasso d’interesse di prestiti statali AAA a breve scadenza, in rapporto al rischio (volatilità, deviazione standard) del portafoglio stesso.

La sua formula è data da:

, dove:

rP  è il rendimento del portafoglio;

σP la sua deviazione standard o volatilità;

rf è il tasso d’interesse privo di rischio;

Risulta quindi evidente come l’indice di Sharpe individui il maggiore (o minore) rendimento registrato dal fondo rispetto all’investimento privo di rischio rapportandolo al rischio espresso dalla deviazione standard. Più è alto l’indice di Sharpe, migliore risulta la performance storica del fondo per il rischio e quindi l’efficienza della gestione.

SORTINO RATIO


L’indice di Sortino, introdotto dall’economista Frank A. Sortino è un indicatore di risk-adjusted performance che misura il rendimento aggiuntivo di un certo portafoglio rispetto al tasso di rendimento minimo accettabile ( MAR, minimum accettable return) o rispetto al tasso risk free, includendo la possibilità di conseguire una differenza di segno negativo.
Mentre l’indice di Sharpe viene utilizzato per classificare differenti strumenti finanziari , l’indice di Sortino consente di discriminare due strumenti finanziari che hanno un vicino indice di Sharpe. Tale distinzione si basa sulla diverso concetto di rischio utilizzato dai due indicatori.

La formula dell’indice di Sortino è data da:

5  



dove:
rP  è il tasso degli investimenti privi di rischio.
rf è il “rendimento obiettivo” dell’investimento.
DSR è il Downside Risk

CALMAR RATIO
Prende nome dal CALifornia Management Account Reports e viene definito come il rapporto tra il rendimento medio annuo degli ultimi 36 mesi e il massimo drawdown mensile degli ultimi 36 mesi.
In formule, abbiamo:

CR = r36  / MaxDrawdown36 



Order matching del PNL

Il calcolo del PNL necessita di un ordinamento ben preciso dei dati, ovvero delle entrate e delle uscite. Tuttavia, i vari ordinamenti possibili da utilizzare portano ugualmente allo stesso risultato del PNL.
Di seguito, elenchiamo i criteri di ordinamento più utilizzati:
  • FIRST-IN FIRST-OUT: le poste in entrata e in uscita caratteristiche degli acquisti e delle vendite vengono ordinate secondo un ordine cronologico crescente, in tal modo il match avverrà tra la prima posta di acquisto e la prima di vendita, e così via.
  • METODO DEL COSTO MEDIO: secondo questo metodo viene calcolato un prezzo medio per gli ordini di acquisto e un prezzo medio per gli ordini di vendita (ponderato per le quantità), prezzi che verranno poi usati per il matching.
  • HIGHEST-IN FIRST OUT: come suggerisce il nome, vengono matchati gli ordini di acquisto dal valore più elevato con le vendite avvenute prima in termini cronologici.
  • LAST-IN FIRST-OUT: in questo caso gli ordini vengono associati in modo inverso, viene infatti associato il primo ordine di vendità con l'ultimo ordine di acquisto. 

Il moto browniano geometrico

Il moto browniano geometrico (detto anche moto browniano esponenziale) è un processo stocastico definito nel continuo in cui il logaritmo della variabile aleatoria nel tempo segue un moto browniano.

Tale processo assume particolare rilevanza in ambito finanziario, in particolare nel calcolo del prezzo in quanto nel modello di Black-Scholes-Merton viene ipotizzato che il prezzo dell'azione sottostante segua un tale processo. Il moto browniano geometrico soddisfa la seguente equazione differenziale stocastica:
{\displaystyle \ dS_{t}=\mu S_{t}dt+\sigma S_{t}dW_{t}}
dove Wt   è un moto browniano standard mentre µ, il drift percentuale istantaneo, e σ, la volatilità percentuale istantanea, sono costanti reali.

In Visual Basic è possibile implementare la generazione di un moto browniano geometrico, tramite il seguente codice:

Imports System.IO
Public Class Form1Public ListaOsservazioniBid As List(Of osservazioneprezzo)
Public ListaOsservazioniAsk As List(Of osservazioneprezzo)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim PrezzoIniziale As Decimal = 1000
Dim DataIniziale As Date = Now
Dim Tick As Decimal = 1
      Dim RandB As New Random()
      Dim RandB As New Random()
      Dim IntervalloT As New TimeSpan(0, 0, 0, 5, 0)
      Dim PrezzoCorrente As Decimal = PrezzoIniziale
      Dim TempoCorrente As Date = DataIniziale
ListaOsservazioniBid = New List(Of osservazioneprezzo)
ListaOsservazioniAsk = New List(Of osservazioneprezzo)
Do            Dim ossbid As New osservazioneprezzo
With ossbid
                    .istante = TempoCorrente
.prezzo = PrezzoCorrente
            End With            ListaOsservazioniBid.Add(ossbid)
Dim ossask As New osservazioneprezzo
            With ossask                    .istante = TempoCorrente
.prezzo = PrezzoCorrente + RandS.Next(1, 10)
            End With            ListaOsservazioniAsk.Add(ossask)
            Dim u1 As Decimal = RandB.NextDouble()
            Dim u2 As Decimal = RandB.NextDouble()
            Dim ossinc As Double            Dim ossinc2 As Double‘ Moto browniano
ossinc = Math.Sqrt (-2 * Math.Log(u1)) * Math.Cos(2 * 3.14 * u2)
‘ Moto browniano geometrico
ossinc2 = Math.Exp(ossinc – u1/2)
            If RandB.NextDouble <= 0.5 Then
PrezzoCorrente = PrezzoCorrente + ossinc2
            Else
PrezzoCorrente = PrezzoCorrente – ossinc2
            End If
TempoCorrente = TempoCorrente + IntervalloT
            If (TempoCorrente – DataIniziale).TotalHours > 24 Then
                  Exit Do
            End If
     Loop
End Class

Risultati immagini per moto browniano geometrico

Metodi di calcolo del PNL per una sequenza arbitraria di ordini

Il Profit and Loss account (o PNL) è una delle tre parti del bilancio di un'impresa, insieme allo stato patrimoniale e alla nota integrativa, che contiene il rendiconto finanziario dell'impresa relativo ad un determinato periodo di tempo, e corrisponde a una stima della redditività dell'impresa. 
In modo analogo, può essere applicato alle strategie di trading, andando a rappresentare il risultato finale o parziale (profitto o perdita) della strategia.

Il calcolo del P&L ha bisogno di alcune informazioni, descritte qui sotto.


  • Posizione: totale acquistato (buy) – totale venduto (sell);
  • Prezzo di acquisto (più commissioni);
  • Prezzo di vendita (più commissioni);
  • Prezzo teorico di uscita fissato a priori, anche detto Theoretical Exit Price;
  • (prezzo di acquisto + commissioni)/posizione, chiamato Average Price.



  • P&L-realizzato
    Profitto o perdita concretizzatosi in seguito alla compravendita di un titolo (Profitti realizzati + Perdite realizzate) ed è dato da:

    P&L-realizzato = (Prezzo di vendita – Prezzo di acquisto) * Quantità

    P&L-irrealizzato
    Consiste nel P&L delle posizioni ancora aperte ed è definito in questo modo:
    P&L-irrealizzato = (Theoretical Exit Price – Average Price) * Posizione

    Il P&L-totale è caratterizzato dalla somma del P&L-realizzato e del P&L-irrealizzato.

    P&L-totale = P&L-realizzato + P&L-irrealizzato

    Il resampling

    Con il termine "resampling" si intende la pratica con la quale si ricampionano i dati iniziali per eliminare problemi dovuti alla numerosità elevata dei dati ottenuti.


    Nell'analisi dei dati storici dei prezzi di mercato, la rappresentazione completa dei dati renderebbe il grafico difficilmente interpretabile. I software di analisi di dati finanziari altro non fanno che ricampionare l'enorme massa di dati iniziali, eliminando parte del dataset iniziale seguendo un algoritmo, in modo tale da mantenere in maniera piuttosto precisa inalterato il significato dei dati, rendendoli al contempo più facilmente interpretabili. 

    Esistono vari metodi di campionamento; di seguito ne elenchiamo alcuni.


    Bootstrap
    Metodo che genera nuovi campioni attraverso sostituzioni nel campione originale con l'obiettivo di stimare la distribuzione campionaria di uno stimatore. Viene utilizzato per stimare intervalli di confidenza e deviazioni standard della popolazione.

    Jackknife
    Metodo usato prevalentemente in inferenza statistica per calcolare la stima della distorsione della deviazione standard di una statistica a partire da un campione casuale. E' caratterizzato da una ripetizione delle stime tenendo fuori un'osservazione alla volta dal campione.

    Test di permutazione
    Test per la significatività statistica in cui la distribuzione della statistica test sotto l’ipotesi nulla è ottenuta attraverso il calcolo di tutti i possibili valori della statistica test in base ai riordinamenti delle etichette sui dati osservati.

    Cross-validation
    Metodo statistico utilizzato per validare un modello di previsione. Caratterizzato dalla suddivisione dei dati in due tipi di sottoinsiemi: il training set, per la costruzione del modello; il validation set da confrontare con le previsioni del modello. In questo modo si dà una misura dell’accuratezza delle previsioni.

    Generazioni di variabili di tipo boolean e random

    In Visual Basic è spesso necessario definire le variabili aleatorie, che possono assumere varie forme. Tra le altre, possiamo prendere in considerazione le variabili booleane e le variabili uniformi.

    Le variabili booleane sono quelle che possono assumere esclusivamente 2 valori (0 e 1, oppure "vero" e "falso"), e si riferiscono quasi esclusivamente a variabili di tipo qualitativo.
    Per definirle in Visual Basic, con linguaggio vb.net, abbiamo due differenti metodi possibili:

    Public Variabile As Boolean

    Dim Variabile As Boolean

    Nel primo caso, abbiamo definito la variabile su tutto il programma, e abbiamo la possibilità di richiamarla in qualunque sezione; nel secondo caso, invece, la variabile viene definita esclusivamente per la sezione in cui ci troviamo, ed è quindi possibile richiamarla soltanto in tale sezione.

    Per la generazione di processi aleatori o metodi di simulazione (es. il metodo di Monte Carlo), sono necessarie le variabili aleatorie uniformi. In vb.net è possibile definirle tramite l'indicatore "Random". Come prima, due metodi possibili sono:

    Public Variabile As Random

    Dim Variabile As Random

    Per fare un esempio, la variabile Random è necessaria per la definizione della passeggiata aleatoria: definendo il dominio di tale variabile (ad esempio da 0 a 1), possiamo suddividere tale intervallo in 4 parti uguali, e definire di conseguenza i possibili passi; avremo un passo in avanti se la variabile assume valori tra 0 e 0,25; un passo indietro se la variabile assume valori tra 0,25 e 0,5; un passo a destra se assume valori tra 0,5 e 0,75; un passo a sinistra, infine, se assume valori tra 0,75 e 1. 

    Tale variabile random produce numeri che vengono chiamati "pseudo-casuali"; non sono propriamente casuali poiché, essendo generati da un algoritmo specifico, si arriverà a un punto in cui la sequenza finisce e, conseguentemente, viene ripetuta.

    Moving mean, running mean e running variance

    Per effettuare un'analisi preliminare su un titolo di qualsiasi genere, il quant si basa su alcune statistiche relative all'andamento delle serie storiche. Tre indicatori principali sono: la running mean, la running variance e la moving mean. Di seguito vengono definiti tali indicatori.

    Running Mean
    La running mean è un tipo di media che viene aggiornata periodicamente nel tempo. Dati x1,….,xn valori, la media mobile ("CMA") sarà pari a:


    ,

    il che implica

    .

    All'istante n+1, la media sarà dunque:

    ;

    quest'ultima formula permette di calcolare la running mean in qualunque istante, una volta conosciuta la media all'istante precedente.

    Running variance
    Similmente alla running mean, tale indicatore permette di ricalcolare il valore della varianza nel momento in cui viene registrato un nuovo valore del titolo in considerazione. Non è di facile implementazione, in quanto la running variance contiene al suo interno la running mean, che deve essere modificata anch'essa quando il titolo registra un nuovo valore.
    Per ovviare a questo problema, si fa ricorso ad alcune formule ricorsive, che semplificano la procedura:


    Mk = Mk-1+ (xk – Mk-1)/k
    Sk = Sk-1 + (xk – Mk-1)*(xk – Mk).
    La running variance alla k-esima rilevazione corrisponderà a s2 = Sk/(k – 1)

    Moving mean
    La moving mean, o media mobile, è una particolare forma di media calcolata su un numero "n" prefissato delle ultime rilevazioni. Arrivati al tempo t, la running mean consisterebbe nel calcolo della media di tutte le rilevazioni fino al tempo t, mentre la moving mean consiste nel calcolo della media delle rilevazioni dal tempo t-n al tempo t. Invece di considerare tutti i valori registrati, dunque, considera solamente gli ultimi n valori. Viene spesso utilizzata quando si vuole tener conto dell'andamento del titolo nell'ultimo periodo, per valutare se vi sono differenze o meno rispetto all'andamento della serie storica.

    Value types e reference types

    Nel sistema Visual Studio abbiamo due tipi di variabili: le variabili "value types" e le variabili "reference types". La differenza sostanziale tra i due tipi è che il primo contiene al proprio interno un archivio in cui memorizza i dati, mentre il secondo contiene un puntatore che rimanda a un archivio esterno nel quale si trovano i dati.
    Di seguito elenchiamo le varie funzioni value type e reference type.

    Value Type

    • Tutti i tipi di dati numerici
    • Le variabili Boolean, Char e Date
    • Tutte le strutture, anche se i relativi membri sono reference types
    • Le enumerazioni

    È possibile dichiarare un Value type tramite la parola chiave riservata, ad esempio Decimal. È inoltre possibile utilizzare la parola chiave New per inizializzare un Value type. Questo risulta particolarmente utile se il tipo presenta un costruttore che richiede parametri.

    Reference Type

    • String
    • Tutte le matrici, anche se i relativi elementi sono tipi valore
    • I tipi di classe, ad esempio Form
    • Delegati

    Una classe è un  Reference Type. Per questo motivo, i  Reference Types come Object e String sono supportati dalle classi .NET Framework. Si noti che ogni matrice è un  Reference Type, anche se i suoi membri sono Value Types.
    Poiché ogni Reference Type rappresenta una classe .NET Framework sottostante, è necessario utilizzare New Operator come parola chiave quando vengono inizializzate.

    MeasureString e Drawstring

    Le funzioni MeasureString e DrawString nascono dall'esigenza di rendere più chiari gli strumenti grafici inseriti nel programma.
    Per inserire delle scritte su un’immagine, il linguaggio VB.NET mette a disposizione la funzione DrawString.
    La funzione DrawString riceve in input le seguenti informazioni:
    • s (String), la stringa da disegnare;
    • font (Font), oggetto font che definisce il formato del testo;
    • brush (Brush), determina il colore del testo;
    • layoutRectangle (RectangleF), specifica la posizione del testo;
    • format (StringFormat), specifica gli attributi di formattazione, quali l’interlinea e l’allineamento.
    La funzione MeasureString fornisce una struttura ad un oggetto che rappresenta le dimensioni della stringa, prendendo in input:
    • text (String), stringa da misurare;
    • font (Font), oggetto Font che specifica il formato della riga.

    L’unità di misura della stringa è quella specificata dalla proprietà PageUnit presente in Graphics.

    DateTime e TimeSpan

    Quando abbiamo bisogno di inserire la variabile tempo, nell'implementazione di un programma in Visual Basic, possiamo ricorrere all'oggetto DateTime. Tale oggetto permette di inserire una data e un'orario specifico, a seconda dell'istante che vogliamo definire. Ad esempio:

    Dim data As New DateTime(2006, 7, 9)

    Inoltre possiamo chiedere al programma di inserire la data corrente:

    Dim data_odierna = DateTimeNow

    Così facendo, il programma imposta la variabile "data_odierna" come la data e l'ora impostate sul PC.

    Quando invece bisogna lavorare con un intervallo di tempo anziché una data precisa, si può utilizzare l'oggetto TimeSpan. Possiamo definirlo direttamente, ad esempio:

    Dim intervallo_di_tempo = TimeSpan(1,15,30);

    oppure indirettamente:

    Dim data_1 As New DateTime(2017, 7, 9)
    Dim data_2 As New DateTime(2006, 7, 9)
    Dim intervallo As TimeSpan = data_1 – data_2


    Nel primo caso viene definito direttamente un intervallo di tempo di un'ora, 15 minuti e 30 secondi; nel secondo caso, invece, vengono prima definiti due istanti di tempo, e successivamente l'intervallo è definito come differenza tra gli stessi.




    Varianti per la lettura di un file di testo in vbnet e c#

    Utilizzando il sistema Visual Basic, è possibile inserire un file di testo in un programma, all'interno di una finestra chiamata "RichTextBox", disponibile nella casella degli strumenti. I metodi utilizzabili sono due: il read to end, che va a prendere il file di testo inserendolo interamente nel programma; il read to line, che invece scorre il testo riga per riga e lo inserisce man mano nella finestra. L'implementazione di entrambi i metodi è differente a seconda del linguaggio utilizzato (vbnet o c#).

    • Read to end

    Vb.Net

    Imports System
    Imports System.IO
    Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.RichTextBox1.Text = “Il mio primo programma”
    ‘Vogliamo aprire un file di testo’
    Dim o As New OpenFileDialog
    o.ShowDialog()
    Dim NomeFile As String = o.FileName
    Me.RichTextBox1.AppendText(Environment.NewLine & NomeFile)
    ‘Definizione del lettore’
    Dim s As New StreamReader(NomeFile)
    Dim TuttoIlfile As String = s.ReadToEnd()
    Me.RichTextBox1.AppendText(Environment.NewLine & TuttoIlfile)
    End Sub
    End Class

    C#

    using Microsoft.VisualBasic;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Data;
    using System.Diagnostics;
    using System.IO;
    public class Form1
    {
    private void Button1_Click(object sender, EventArgs e)
    {
    this.RichTextBox1.Text = “Il mio primo programma”;
    //Vogliamo aprire un file di testo’
    OpenFileDialog o = new OpenFileDialog();
    o.ShowDialog();
    string NomeFile = o.FileName;
    this.RichTextBox1.AppendText(Environment.NewLine + NomeFile);
    //Definizione del lettore’
    StreamReader s = new StreamReader(NomeFile);
    string TuttoIlfile = s.ReadToEnd();
    this.RichTextBox1.AppendText(Environment.NewLine + TuttoIlfile);
    }
    }
    • Read Line

    Vb.Net

    Imports System
    Imports System.IO
    Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.RichTextBox1.Text = “Il mio primo programma”
    ‘Vogliamo aprire un file di testo
    Dim o As New OpenFileDialog
    o.ShowDialog()
    Dim NomeFile As String = o.FileName
    Me.RichTextBox1.AppendText(Environment.NewLine & NomeFile)
    ‘Definizione del lettore
    Dim s As New StreamReader(NomeFile)
    Dim Contatore As Integer = 1
    Do
    Dim RigaDelFile As String = s.ReadLine
    Contatore = Contatore + 1
    Me.RichTextBox1.AppendText(Environment.NewLine & “Riga #” & Contatore & “:” & RigaDelFile)
    Loop Until s.EndOfStream
    End Sub
    End Class

    Sotto, viene riportato il codice codificato in linguaggio C#:

    C#

    using Microsoft.VisualBasic;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Data;
    using System.Diagnostics;
    using System.IO;
    public class Form1
    {
    private void Button1_Click(object sender, EventArgs e)
    {
    this.RichTextBox1.Text = “Il mio primo programma”;
    //Vogliamo aprire un file di testo
    OpenFileDialog o = new OpenFileDialog();
    o.ShowDialog();
    string NomeFile = o.FileName;
    this.RichTextBox1.AppendText(Environment.NewLine + NomeFile);
    //Definizione del lettore
    StreamReader s = new StreamReader(NomeFile);
    int Contatore = 1;
    do {
    string RigaDelFile = s.ReadLine;
    Contatore = Contatore + 1;
    this.RichTextBox1.AppendText(Environment.NewLine + “Riga #” + Contatore + “:” + RigaDelFile);
    } while (!(s.EndOfStream));
    }
    }

    Principali strumenti finanziari "tradabili" presso gli "exchange"

    Con strumenti finanziari, in economia, si intende una particolare categoria di prodotti finanziari e sono pertanto mezzi di investimento di natura finanziaria.
    Infatti essi sono dei titoli che, acquistati da un investitore, offrono dei guadagni potenziali o reali in base al loro grado di rischio. Più uno strumento finanziario è rischioso, più il suo guadagno o la relativa perdita tende a crescere.


    Tra i principali strumenti finanziari ci sono:
    • Le azioni: sono titoli di capitale che rappresentano la quota della proprietà di una società. Il possesso di un'azione è la condizione necessaria per diventare soci della società. Il possessore è detto azionista, mentre l'insieme delle azioni della società è detto capitale azionario. Acquistando un'azione l'investitore diviene socio della società emittente, partecipando per intero al rischio economico della medesima. Chi investe in titoli azionari ha diritto a percepire annualmente il dividendo sugli utili conseguiti nel periodo di riferimento che l'assemblea dei soci deciderà di distribuire. Il dividendo rappresenta, assieme alla possibilità di vendita dell'azione sul mercato azionario, una delle principali motivazioni che spinge l'investitore all'acquisizione dell'azione stessa. Le azioni sono anche un titolo di credito, cioè uno strumento che incorpora un diritto e ne facilita la trasmissione ad altri soggetti attraverso il mercato azionario. Infatti è possibile emettere diverse tipologie di azioni. All'interno di ciascuna categoria le azioni devono essere uguali e offrire stessi diritti. Il vantaggio dell'emissione di azioni per l'azienda emittente è rappresentato dal recupero di liquidità finanziaria necessaria per eventuali investimenti, mentre, come già detto, il possessore ha diritto a ricevere una quota dei profitti dell'azienda noti come dividendi, oltre a possibili guadagni derivanti dalla vendita delle azioni stesse in seguito a quotazione sul mercato. Le azioni possono essere quotate o non quotate. Le prime sono titoli liquidi che l'investitore può vendere in ogni momento alle quotazioni di borsa. Le seconde sono titoli non liquidi e quindi molto difficili da vendere. Le azioni sono titoli rischiosi in quanto l'investitore può anche perdere il capitale investito; sono sempre sottoposte ad un rischio sistematico conseguente alle oscillazioni delle borse e ad un rischio specifico connesso alle caratteristiche ed alle prospettive della società emittente.
    • I futures: sono contratti a termine standardizzati per poter essere negoziati regolarmente in borsa mediante il quale l'acquirente e il venditore si impegnano a scambiarsi una determinata quantità di una certa attività finanziaria o reale a un prezzo prefissato e con liquidazione differita a una data futura prefissata. Sono contratti standard, in quanto ogni elemento del contratto non può essere modificato, e simmetrici, in quanto entrambi i contraenti sono obbligati a effettuare una prestazione a scadenza. La peculiarità di essere standardizzati rende questi contratti interscambiabili tra loro. Ciò rende possibile annullare impegni di acquisto o di vendita tramite compensazione, stipulando un contratto di segno opposto all'originale. In questo modo, verrà evitata la consegna dell'attività sottostante il contratto. L'acquisto di un future corrisponde ad una aspettativa di rialzo dell'attività sottostante; la vendita, invece, sottende un'aspettativa al ribasso. L'operatore che acquista il future (che si impegna, cioè, ad acquistare prima della scadenza il sottostante) assume una posizione long, mentre l'operatore che vende il future assume una posizione short. questo sistema rende il mercato dei futures sempre a somma zero. Esistono due modalità di estinzione dei contratti: 
    1. Con la consegna nel luogo, alla data e al prezzo pattuiti del bene oggetto del contratto, dietro pagamento del corrispettivo
    2. Con la liquidazione prima della scadenza, consistente in un'operazione di compensazione. Viene cioè stipulato un contratto di segno opposto a quello da cancellare. Tale contratto sarà di vendita se il contratto da cancellare è di acquisto e viceversa.
    • Le option: sono contratti che attribuiscono al compratore il diritto di acquistare o vendere un'attività sottostante a una certa data e a un prezzo prefissato. Le opzioni sono contratti derivati asimmetrici in quanto soltanto il venditore è obbligato a soddisfare le volontà del compratore; quest'ultimo, invece, detiene il diritto di decidere se esercitare o meno la facoltà implicita nel contratto. A differenza dei futures, nei contratti di option è presente diritto, e non l'obbligo, di comprare o vendere il sottostante, ma può farlo se esercitando l'opzione ne trae un'effettiva convenienza economica. Esistono due tipi fondamentali di opzioni: "Call" e "Put". Le prime danno all'acquirente il diritto di acquistare l'attività sottostante, entro una certa data e ad un certo prezzo, mentre le seconde danno all'acquirente il diritto di vendere l'attività sottostante, entro una certa data e ad un certo prezzo.
    • Le stock option (STK): sono contratti particolari con i quali l'azienda conferisce gratuitamente ai dipendenti (solitamente ai manager) dando la possibilità di aumentare il proprio reddito. Le stock option non esistono per tutte le società per azioni, ma solo per quelle quotate. L'operazione consiste nel fissare un numero di azioni e nello stabilire il prezzo dei titoli ai dipendenti, i quali possono esercitare il diritto d'opzione dopo un definito numero di anni. Il salario è composto da una parte fissa (salario base) e di una parte variabile, della quale le stock option sono una componente prevalente nei salari dei dipendenti, ciò viene fatto per stimolare la loro produttività.
    • Gli Exchange Traded Funds (ETF): sono una particolare categoria di fondi, le cui quote sono negoziate in Borsa in tempo reale come semplici azioni, attraverso una banca o un qualsiasi intermediario autorizzato. Una delle caratteristiche principale di questo strumento è costituita dall'indicizzazione: gli ETF replicano infatti passivamente la composizione di un indice di mercato (geografico, settoriale, azionario o obbligazionario) e di conseguenza anche il suo rendimento. In particolare acquistando un ETF, è possibile realizzare la diversificazione e la riduzione dei rischi tipica di un fondo di investimento, scambiando le quote del fondo come una normale azione.
    • Le obbligazioni: sono titoli di debito emessi da società o enti pubblici che attribuiscono al suo possessore, alla scadenza, il diritto al rimborso del capitale prestato all'emittente, più un interesse su tale somma. Un obbligazione tipica sono ad esempio i titoli di Stato. Scopo di un'emissione obbligazionaria è il reperimento di liquidità da parte dell'emittente. Di solito il rimborso del capitale al possessore del titolo di credito da parte dell'emittente avviene alla scadenza al valore nominale e in un'unica soluzione, mentre gli interessi sono liquidati periodicamente.