Creare una applicazione winform a piacere in VB.NET dove si calcola la media di tutti i gli interi pari e di tutti gli interi dispari tra un "Primo Intero" ed un "Ultimo Intero" a piacere definiti.
Replicare la stessa applicazione in C#
https://drive.google.com/open?id=1fyk1o3KEDuA0KWhYXeX89u7KO38fKJFe
martedì 31 marzo 2020
sabato 28 marzo 2020
On line algo per il calcolo della "running mean" (Knuth)
Premessa importante
In statistica applicata nelle applicazioni, non si calcola la media aritmetica come di consueto. Cioè non si fa la somma dei numeri diviso semplicemente per il conteggio. Questo tipo di approccio non va utilizzato nelle applicazioni. E' considerato errore grave, implementare la media in quel modo in qualunque contesto. Perché sommare i valori di una variabile e dividerli per il loro conteggio può portare ad errori macroscopici. In quanto il computer nel caso del VB.Net lavorando nella rappresentazione floating-point si possono generare degli errori di approssimazione veramente mostruosi!. Calcolare la media in questo modo Naive non va fatto quando si creano codice di programmi.
Quale approccio va utilizzato?
Ad esempio se voglio calcolare la media di un dadaset in una applicazione utilizzo il cosiddetto:
Algoritmo di Knuth che è un algoritmo di tipo incrementale ovvero: la media al passo n (relativa alla n-osservazioni) viene ottenuta dalla media al passo precedente cioè relativa alle n-1 osservazioni e aggiornata con le nuove osservazioni che via via arrivano. Si tratta di uno Streaming Algorithm cioè di un algoritmo che è anche in grado di lavorare su uno stream di dati che via via che arrivano, aggiorna la media ogni qual volta arriva un nuovo dato.
Su che cosa si basa questo algoritmo?
Questo algoritmo si basa su una espressione che è matematicamente equivalente alla definizione di media, ma che una volta implementata da luogo ad un algoritmo che non ha i problemi che avrebbe un algoritmo basato semplicemente sulla definizione base di media.

Il trucco sta nel partire dalla definizione iniziale di media e prendere la somma degli n-1 elementi e farla diventare la media al passo precedente. Per fare ciò moltiplichiamo e dividiamo per n-1 come quanto segue:
In questo modo otteniamo la media al passo precedente, poi semplificando i due n e poi mettendo 1/ n in evidenza otteniamo l'espressione finale :
In statistica applicata nelle applicazioni, non si calcola la media aritmetica come di consueto. Cioè non si fa la somma dei numeri diviso semplicemente per il conteggio. Questo tipo di approccio non va utilizzato nelle applicazioni. E' considerato errore grave, implementare la media in quel modo in qualunque contesto. Perché sommare i valori di una variabile e dividerli per il loro conteggio può portare ad errori macroscopici. In quanto il computer nel caso del VB.Net lavorando nella rappresentazione floating-point si possono generare degli errori di approssimazione veramente mostruosi!. Calcolare la media in questo modo Naive non va fatto quando si creano codice di programmi.
Quale approccio va utilizzato?
Ad esempio se voglio calcolare la media di un dadaset in una applicazione utilizzo il cosiddetto:
Algoritmo di Knuth che è un algoritmo di tipo incrementale ovvero: la media al passo n (relativa alla n-osservazioni) viene ottenuta dalla media al passo precedente cioè relativa alle n-1 osservazioni e aggiornata con le nuove osservazioni che via via arrivano. Si tratta di uno Streaming Algorithm cioè di un algoritmo che è anche in grado di lavorare su uno stream di dati che via via che arrivano, aggiorna la media ogni qual volta arriva un nuovo dato.
Su che cosa si basa questo algoritmo?
Questo algoritmo si basa su una espressione che è matematicamente equivalente alla definizione di media, ma che una volta implementata da luogo ad un algoritmo che non ha i problemi che avrebbe un algoritmo basato semplicemente sulla definizione base di media.
Il trucco sta nel partire dalla definizione iniziale di media e prendere la somma degli n-1 elementi e farla diventare la media al passo precedente. Per fare ciò moltiplichiamo e dividiamo per n-1 come quanto segue:
In questo modo otteniamo la media al passo precedente, poi semplificando i due n e poi mettendo 1/ n in evidenza otteniamo l'espressione finale :
Che cosa rappresenta questa espressione?
Ripetendo, abbiamo la media al passo n-1 + lo scarto del nuovo valore dalla media al passo n-1 con peso 1/n. Dal punto di vista concettuale stiamo dicendo che:
Stiamo calcolando la media al passo n come la media al passo precedente cioè al passo n-1 + un termine che ha peso 1/n esimo pari allo scarto tra l'osservazione e la media al passo precedente. Quindi stiamo esplicitamente utilizzando la media al passo precedente più un termine che rappresenta l'aggiornamento di quel valore, tramite l'ultimo valore pervenuto. E' un procedimento iterativo tramite il quale calcoliamo la media, cioè lo step n tramite la media dello step precedente modificata con il contributo dell'ennesimo termine. Costruiamo un algoritmo estremamente stabile che non ha problemi di approssimazione e che si dimostra essere notevolmente più accurato di quello che si potrebbe avere utilizzando la definizione di media.
venerdì 27 marzo 2020
Illustrare al meglio la differenza tra value type e reference type
Premessa
Sostanzialmente tutti i tipi di dati che sono preesistenti all'interno di un linguaggio o che possono essere definiti dall'utente, sono di due tipi:
1) Value Type → "Tipo valore"→ per strutture piccole
2) Reference Type → "Tipo di riferimento → per strutture grandi.
Qual'è la differenza tra questi due tipi di dati?
Il tipo Value Type è un tipo di dato in cui la variabile stesse rappresenta direttamente la locazione di memoria del dato. La variabile immagazzina direttamente il dato stesso.
Il tipo Reference Type la variabile rappresenta semplicemente un puntatore al dato e non immagazzina il dato stesso.

Perché si fa questa distinzione?
Perché in certi casi i dati da immagazzinare sono talmente vasti e complessi, che è necessario utilizzare un riferimento per poterli manipolare, perché non si posso spostare tutti quei dati!. Mentre per strutture più piccole di dati, il programmatore utilizza il tipo Value Type e sono :
DateTime, Boolean,Integer,Double,Decimal,TimeSpan →sono ValueType
Si tratta di entità piccole, cioè di frammenti limitati di dati che possono essere trattati per valori. Cosa diversa per esempio è per lo StringBuilder che potrebbe rappresentare anche una stringa lunghissima. Per esempio potrebbe contenere tutta la bibbia, se assegnassi ad una variabile questo StringBuilder, e lo passassi come parametro per una funzione, non posso fare ogni volta la copia di tutta la bibbia e passarlo all'interno del programma,e quindi si passa solamente il riferimento alla classe. Lo stesso vale per le stringhe che vengono trattate per riferimento.Vediamo come creare nuovi tipi :
Anche in questo caso si possono si possono creare dei ValueType o ReferenceType. Per quanto riguarda la creazione di quest'ultimi citati si utilizza la parola chiave Class che ci dà la possibilità di creare dei nuovi tipi che vediamo appunto come ReferenceType. Se invece volessi creare nuovi tipi ma ValueType utilizzeremo la parola chiave Structure.
Quando utilizziamo la parola chiave Class → il programma lavora su un riferimento a questa struttura.
Invece quando utilizziamo la parola chiave Structure → stiamo manipolando direttamente la struttura dei dati.
Conclusione
Di solito utilizziamo e creiamo delle classi, il ReferenceType è più utile ai nostri fini, in quanto consente di immagazzinare delle strutture di dati vaste e complesse. Cosa che non è possibile fare con le strutture. Quest'ultime essendo passate per valore devono essere strutture molto leggere, piccole e limitate. Il ValueType nel momento che vado a fare una assegnazione,ad esempio assegno una ValueType ad una nuova variabile, la vecchia variabile viene copiata nella nuova. Tutti i cambi che stanno dentro la struttura vengono copiati nella nuova variabile assegnata.
Invece per quanto riguarda la classe ReferenceType, non vengono copiati tutti i valori e tutti i campi della classe, ma viene semplicemente creato un nuovo puntatore alla stessa struttura di dati. Quindi quando noi assegniamo ad una classe una nuova variabile di tipo ReferenceType, non è che vengono copiati tutti i singoli campi, ma semplicemente copiato il puntatore. Questo fa si che possiamo maneggiare vastissime classi con migliaia di proprietà,senza andare ad ostacolare quelle che sono le prestazioni del programma.
mercoledì 25 marzo 2020
Elencare i principali tipi di dati elementari disponibili nei linguaggi C# e VB.NET
Premessa
Prima di parlare dei dati, è utile definire il concetto di assegnazione. Cioè significa allocare un certo valore(che può essere numerico, una stringa o di altro tipo,)ad una locazione di memoria. Si parte dal presupposto che bisogna definire una variabile e a seconda del tipo che abbiamo definito dobbiamo assegnare un certo valore. Ad esempio cosa significa questo codice?
Siamo in VB e stiamo definendo una variabile in questo caso nominata var1 destinata ad avere valori interi e gli sto assegnando un tipo di visibilità Public. Ossia la massima visibilità possibile all'interno della mia classe che la contiene. Abbiamo dei dati già presenti nel sistema,e possiamo crearli altri oltre a quelli già presenti.
Abbiamo le seguenti dichiarazioni di variabili:
1) Boolean è un tipo di dato che può assumere due stati True o False.
2) Integer è un tipo di dato che assume valori interi.
3) Double è un tipo di dato che prende i numeri con la virgola mobile in modo binario.
4) Decimal è un tipo di dato che prende i numeri con la virgola ma non vogliono approssimazioni, ad esempio è utilizzato per quantità monetarie.
5) Abbiamo a disposizione anche il tipo Char che va messo tra virgolette con dopo la c minuscola.
6) Anche il tipo String che intende l'insieme dei caratteri alpha numerici per lunghezze limitate, messi tra le virgolette.
Questi appena visti sono costruttori impliciti che sono molto utilizzati. Possiamo però creare una stringa con un apposito costruttore esplicito che non sono di uso comune:
7) Questo apposito costruttore esplicito si chiama New.
Nell'esempio di codice sopra posto sta a significare,replica la il char "s" 10 volte.
8) Vediamo che viene il costruttore New per utilizzare la classe StringBuilder, cioè una variante per memorizzare le stringhe e consente di memorizzare stringhe anche molto lunghe di parecchi Gigabyte, si può utilizzare per interi libri.
9) Altro tipo di dato è DateTime, dato atto ad immagazzinare le date, nello specifico gli istanti temporali. Consentendo di definire delle date è utile per le serie storiche, o i processi stocastici in quanto ci darà la possibilità di memorizzare i dati sull'asse temporale.
10) Mentre DateTime rappresenta un istante temporale, il tipo TimeSpan rappresenta un intervallo temporale quindi una durata. La differenza tra due date DateTime da luogo ad un TimeSpan.
Fin'ora sono state adottate le varie definizioni di tipo di dati al livello di Form di Classe. Se venissero utilizzate all'interno di una sub o function assumerebbero una forma simile ma si usa il Private con la parola chiave Dim in VB.
In C# l'utilizzo del tipo di dati è del tutto simile, ci sono alcune differenze per quanto concerne i codici di programmazione. In C# la parola As non è necessaria e va messo il tipo prima del nome della variabile.
Ricordando che si utilizzano le lettere minuscole a differenza di VB. E si va a capo con il ; e quindi riassumendo:
In C# con la classe Environment.NewLine ho un modo per andare a capo(considerato più elegante) oppure posso usare \n.
In VB si può utilizzare per andare a capovbcrlf ma posso usare anche l'Environment.NewLine.
lunedì 23 marzo 2020
applicazione2
Creare una applicazione winform a piacere in VB.NET dove si definiscono ed inizializzano alcuni tipi di dati e Replicare la stessa applicazione in C#
Esaminare le differenze e analogie sia sintattiche che strutturali nella gestione degli eventi in C# e VB.NET
Che cosa sono gli eventi?
L'evento in informatica è un elemento caratterizzante della programmazione ad eventi.
La programmazione ad eventi è uno stile fondamentale dell'informatica. Se si utilizziamo un tipo di programma tradizionale l'esecuzione delle istruzione segue percorsi fissi, che si diversificano soltanto in punti ben determinati predefiniti dal programmatore.
Nei programmi scritti dove si utilizza la tecnica ad eventi il flusso del programma è largamente determinato dal verificarsi di eventi esterni. Noi lavoriamo attraverso Windows Form Application che costituisce la forma più semplice di applicazione virtuale. Il programma parte con l'interfaccia di tipo grafico. Differente dai linguaggi procedurali di cui abbiamo il prompt dei comandi , il programma si sviluppa dall'inizio alla fine in un unico flusso. Eventualmente con delle condizioni logiche come l'if si può diramare il codice in certe direzioni. Ma comunque il programma si presenta come un unico blocco di codici. Nelle applicazioni virtuali che noi consideriamo , quindi nella Windows Form Application si parla di programmazione ad eventi dove non esiste un' unica procedura che viene eseguita dall'inizio alla fine.
E' l'utente stesso a sollevare gli eventi, tramite l'interfaccia virtuale.C'è un intera collezione di flussi di codici attivabili attraverso gli eventi esterni. Quindi quando apriamo Windows Form Application proprio perché siamo in ambiente totalmente visuale, non lavoriamo più all'interno di una finestra con tanto di prompt attraverso un approccio procedurale, ma con una vera e propria grafica Windows.Ciascuno di questi oggetti che abbiamo sull'interfaccia, vengono chiamati controlli. E per ogni controllo sono associati una serie di eventi.
Ricapitolando → sono associati a tutti questi controlli, tutta una serie di eventi che possono essere gestiti dal programmatore, tramite delle procedure individuali per ciascun evento chiamate gestore degli eventi.
che cosa significa questo codice?
In VB:
essenzialmente viene definita una sub, cioè una funzione vuota, cioè una funzione particolare che non restituisce alcun valore.Questa funzione ha un certo nome, in questo caso Button1_Click, e c'è questa clausola Handles Button1_Click che è fondamentale in quanto associa questa sub all'evento Button1_Click. Cioè la sub sta gestendo l'evento del Button1_Click. La parola chiave cioè l'istanza della classe corrente è Me. Si ricorda che VB è insensitive, scrivere con la minuscola o maiuscola non fa generare errore.
Per quanto riguarda C#:
Non abbiamo la clausola Handles come in VB. Ma comunque l'associazione c'è ma è nascosta. Questo deriva da ragioni storiche, proprio perché il VB è nato per un linguaggio di tipo visuale, invece C# è c'è stato portato. Questa associazione tra l'evento Click di button1 e il gestore dell'evento non viene realizzato tramite la clausola Handles, ma tramite un altra istruzione che è messa in un altro file, che viene inizialmente nascosto ma che possiamo andare a prendere in qualunque momento.
L'evento in informatica è un elemento caratterizzante della programmazione ad eventi.
La programmazione ad eventi è uno stile fondamentale dell'informatica. Se si utilizziamo un tipo di programma tradizionale l'esecuzione delle istruzione segue percorsi fissi, che si diversificano soltanto in punti ben determinati predefiniti dal programmatore.
Nei programmi scritti dove si utilizza la tecnica ad eventi il flusso del programma è largamente determinato dal verificarsi di eventi esterni. Noi lavoriamo attraverso Windows Form Application che costituisce la forma più semplice di applicazione virtuale. Il programma parte con l'interfaccia di tipo grafico. Differente dai linguaggi procedurali di cui abbiamo il prompt dei comandi , il programma si sviluppa dall'inizio alla fine in un unico flusso. Eventualmente con delle condizioni logiche come l'if si può diramare il codice in certe direzioni. Ma comunque il programma si presenta come un unico blocco di codici. Nelle applicazioni virtuali che noi consideriamo , quindi nella Windows Form Application si parla di programmazione ad eventi dove non esiste un' unica procedura che viene eseguita dall'inizio alla fine.
E' l'utente stesso a sollevare gli eventi, tramite l'interfaccia virtuale.C'è un intera collezione di flussi di codici attivabili attraverso gli eventi esterni. Quindi quando apriamo Windows Form Application proprio perché siamo in ambiente totalmente visuale, non lavoriamo più all'interno di una finestra con tanto di prompt attraverso un approccio procedurale, ma con una vera e propria grafica Windows.Ciascuno di questi oggetti che abbiamo sull'interfaccia, vengono chiamati controlli. E per ogni controllo sono associati una serie di eventi.
Ricapitolando → sono associati a tutti questi controlli, tutta una serie di eventi che possono essere gestiti dal programmatore, tramite delle procedure individuali per ciascun evento chiamate gestore degli eventi.
Differenze nella gestione degli eventi
che cosa significa questo codice?
In VB:
essenzialmente viene definita una sub, cioè una funzione vuota, cioè una funzione particolare che non restituisce alcun valore.Questa funzione ha un certo nome, in questo caso Button1_Click, e c'è questa clausola Handles Button1_Click che è fondamentale in quanto associa questa sub all'evento Button1_Click. Cioè la sub sta gestendo l'evento del Button1_Click. La parola chiave cioè l'istanza della classe corrente è Me. Si ricorda che VB è insensitive, scrivere con la minuscola o maiuscola non fa generare errore.
Per quanto riguarda C#:
Non abbiamo la clausola Handles come in VB. Ma comunque l'associazione c'è ma è nascosta. Questo deriva da ragioni storiche, proprio perché il VB è nato per un linguaggio di tipo visuale, invece C# è c'è stato portato. Questa associazione tra l'evento Click di button1 e il gestore dell'evento non viene realizzato tramite la clausola Handles, ma tramite un altra istruzione che è messa in un altro file, che viene inizialmente nascosto ma che possiamo andare a prendere in qualunque momento.
Questo file separato dove è contenuta l'associazione tra l'evento click e il gestore dell'evento click. Cioè questa riga di codice che si trova nel file From1.Designer.cs, ci sta dicendo:
considera l'evento click e aggiungigli questo nuovo gestore di evento con il nome (this.button1_Click). Quindi questo From1.Designer.cs, è un file di servizio per il designer che serve a definire in maniera automatica i vari controlli e all'interno di questi file mette anche i gestori degli eventi che ha aggiunto di default. Qui in C# la parola chiave cioè l'istanza della classe corrente è this. Per andare a capo ora si utilizza il ; mentre il VB si usa CRLF.
ANALOGIE
Sia in VB che in C# non è il nome del gestore degli eventi che conta, ma è proprio il meccanismo associativo tra l'evento ed il gestore dell'evento, che appunto nel caso del C# è realizzato attraverso questo tipo di sintassi e viene messo in un form inizialmente nascosto chiamato designer. In VB c'è sempre una associazione tra eventi e il gestore, ma che è esplicita, utilizzando la clausola Handles. Il Form1.designer disponibile anche in VB, quindi si può fare la stessa cosa che si fa in C# cioè:
associare programmaticamente gestori ed eventi.
Riassumendo:
Esiste un meccanismo di associazione tra eventi e gestori di eventi che è leggermente diverso nei due linguaggi di programmazione. In VB è più semplice in quanto si utilizza una semplice clausola, mentre in C# l'associazione viene fatta tramite una riga di codice presente nel file di servizio per il designer.
domenica 22 marzo 2020
applicazione1
Creare una applicazione winform a piacere in VB.NET dove si aggiungono alcuni controlli al form iniziale
e vengono gestiti alcuni eventi a piacere di tali controlli.
https://drive.google.com/open?id=1jAfe747VvJPEOT3zNGUW-NV4LjRzf80x
e vengono gestiti alcuni eventi a piacere di tali controlli.
https://drive.google.com/open?id=1jAfe747VvJPEOT3zNGUW-NV4LjRzf80x
sabato 21 marzo 2020
Confronto tra C# e VB.Net
Nell'ambito del Visual Studio è possibile convertire immediatamente un qualsiasi programma scritto e uno dei qualsiasi linguaggi Visual Studio in qualsiasi altro. In particolare da VB.Net a C# e viceversa. Vediamo le principali differenze tra i due linguaggi di programmazione disponibili all'interno di Visual Studio in particolare C# e VB.Net.
Analogie
c'è una corrispondenza biunivoca tra i comandi e le istruzioni tra questi due linguaggi. Questo è enfatizzato dal fatto che esistono dei code converter on-line, che dato un qualsiasi frammento di codice trasforma il linguaggio Visual studio in C# e viceversa. Da qualunque codice partiamo c'è una traduzione in uno strato intermedio di software che viene detto Mc-Low Microsoft Intermedied Language che successivamente viene poi convertito in linguaggio macchina. Questo fa si che dal punto di vista prestazionale i due linguaggi sono equivalenti.Differenze
- I principianti preferiscono VB.Net, in quanto è nato in un ambiente totalmente visuale, da cui deriva il nome Visual Basic. Invece il linguaggio C# è stato in qualche maniera portato all'interno di questo ambiente visuale.
- VB.Net è tradizionalmente case insensitive, non importa se una variabile viene scritta con maiuscola o minuscola. La variabile viene sempre considerata la stessa. In C# questa differenza si fa sentire, quindi scrivere con la maiuscola o con la minuscola cambia.
- C# usa come delimitatore il ; mentre VB.Net utilizza l'andare a capo(Carriage Return + Line Feed)
- Per quanto riguarda la parola chiiave C# utilizza il this come istanza corrente, mentre VB.Net utilizza me.
Visual Studio
Che tipo di ambiente è ?
Visual Studio è un ambiente di sviluppo integrato, sviluppato da Microsoft. Per linguaggio integrato si intende cioè un software che in fase di programmazione, supporta i programmatori nello sviluppo del codice sorgente di un programma. Spesso l'IDE (integrated design environment ) aiuta lo sviluppatore segnalando errori di sintassi del codice direttamente in fase di scrittura, oltre a tutta una serie di strumenti e funzionalità di supporto alla fase di sviluppo e debugging.
Visual Studio ha la notevole particolarità di supportare diversi tipi di linguaggio come Java, JavaScript, C, C++, C#, F#, VB.Net e Html.C#, Python.
I principali tipi di strumenti finanziari
Premessa
In
Italia il testo normativo di base è
costituito dal decreto legislativo 58 del 1998 TUF (Testo Unico Finanziario). La centralità, però, non è durata a
lungo perché ha dovuto scontare non solo l’esigenza di coordinarsi con il TUB (Testo Unico Bancario) e il CAP (Codice Assicurazioni Private), ma
è stato progressivamente emendato ed integrato dalle norme di origine
comunitaria. Convivono nella materia, quindi, tre ordinamenti che devono essere
tra loro coordinati: quello finanziario, quello bancario e quello assicurativo.
Il che ci restituisce al problema di base: COSA E’ IL DIRITTO DEI MERCATI
FINANZIARI?
Un
approccio corretto al problema è verificare se è possibile individuare una
nozione certa di attività finanziari e di impresa finanziaria, ma così non è.
ATTIVITA’ FINANZIARIA
Il TUF e il TUB, pur dandone
per presupposta la nozione, in realtà non ne dettano una definizione, né ne
individuano un tratto caratterizzante sul piano definitorio. Ciò spinge ad
adottare in via di primo approccio ad una definizione di tipo molto ampio,
potendosi definire in questo senso come attività finanziaria “ogni attività o
servizio che abbiano attinenza con il mercato finanziario e dei capitali in
genere”. Questa definizione ha un difetto ed un pregio. Il difetto di essere
troppo ampia e il pregio di consentirne un adattamento al passo con
l’evoluzione normativa (del legislatore) e dei mercati.
SISTEMI E ATTVITÀ DI INVESTIMENTO
Premessa: Fonti MIFID e MIFID 2 (direttive
comunitarie, recepite nel TUF)
Ambiti impegnati: Un complesso articolato, tra cui è
necessario segnalarne 3:
- L’attività di negoziazione
- Il collocamento di strumenti finanziari
- La gestione di portafogli
Si impone quindi di fissare 2 nozioni:
- Cosa sono i servizi finanziari
- Cosa si intende per attività di investimento
a. I SERVIZI
FINANZIARI
Le norme interne e europee non forniscono una nozione
generale di strumento finanziario, ma si affidano ad un elenco di origine
comunitaria ma con possibilità per il MEF di integrare tale elenco “al fine di
tenere conto dell’evoluzione dei mercati e per adeguarsi alle norme dettate dal
legislatore e dalle autorità Europee”.
TIPOLOGIA:
- Strumenti finanziari diversi dai derivati
- Strumenti finanziari derivati
1. Strumenti finanziari diversi dai derivati
Innanzitutto
A)
quelli aventi per oggetto i valori mobiliari negoziati
sul mercato. Vediamo le tipologie riconducibili (sussumibili) a tale categoria:
1.
Le azioni societarie o titoli equipollenti di
tale partecipazione
2.
Obbligazioni o altri titoli di debito
3.
Qualsiasi altro strumento che consenta la
negoziazione dei primi 2
B)
Strumenti del mercato monetario:
§
(ad esempio BOT e CCT )
C)
Quote di emissione in base alla convenzione di Kyoto
Il tratto comune a questa prima macro categoria è la loro
negoziabilità sui mercati.
2. Strumenti finanziari derivati
Definizione generale: Sono strumenti finanziari legati ad un
sottostante (spesso un titolo)
1.
Derivati finanziari:
Vale a dire quelli che hanno come
sottostante attività o “indicatori” tipicamente finanziari come tassi
d’interesse, valori mobiliari, valute e indici o misure finanziarie.
2.
I derivati su merci:
Sono strumenti derivati il cui sottostante è legato a merci acquistate
con il valore pagato; questi strumenti sono finanziari solo se presentano
precisi indici rivelatori di finanziarietà, ad esempio se alla scadenza è
prevista l’alternatività tra il pagamento del differenziale o la consegna del
sottostante.
3.
Strumenti finanziari esotici
Appartengono a questa categoria
·
strumenti finalizzati al trasferimento del
rischio di credito,
·
gli strumenti che attribuiscono dei
differenziali o
·
che utilizzano dei sottostanti elencati dalla direttiva
MIFID.
La disciplina di queste categorie di strumenti finanziari
derivati (tutti e 3) è a un tempo centrifuga (perché ha una possibilità
espansiva illimitata) e centripeta (perché sono esclusi da tale ambito
gli strumenti NON finanziari, ovvero quelli non destinati al mercato).
I limiti che incontra tale categoria sono:
a.
Un limite inferiore: mezzi di pagamento (dai
mezzi di pagamento in giù non sono strumenti finanziari perché non sono
scambiati sui mercati; ad esempio gli assegni non sono negoziati e quotati sui
mercati, quindi non devono sottostare alla disciplina del mercato finanziario)
b.
Un limite superiore: costituito dai prodotti finanziari.
I principali Mercati Finanziari
Che cosa è un Mercato Finanziario?
'Un mercato finanziario è un luogo ideale nel quale vengono scambiati strumenti finanziari di varia natura a medio o lungo termine: l’insieme degli strumenti finanziari di investimenti e dei soggetti consentono al risparmio di essere investito'.'Il Mercato Finanziario, nel diritto dell’economia e nella finanza, rappresenta il luogo nel quale si realizzano le operazioni di contrattazione e scambio di strumenti finanziari di varia natura, a medio o lungo termine'.
1) Il mercato forex
Sicuramente il mercato più famoso, quello che attrae più trader desiderosi di guadagnare, è il mercato forex. Si tratta del mercato in assoluto più grande e efficiente al mondo. Sul forex si scambiano tra di loro le valute. Spesso si dice che sul forex sono quotate le valute ma non è del tutto corretto. Sul forex sono sempre quotate coppie di valute perché non è possibile vendere una valuta senza comprarne contemporaneamente un’altra e viceversa. Il mercato forex è un mercato OTC , anzi possiamo dire che è il mercato OTC per eccellenza. Cioè che non esiste alcun luogo, fisico o virtuale, dove sono concentrate le transazioni. Il forex è formato da un numero immenso di transazioni che si svolgono tra singole entità finanziarie e individui. Le quotazioni ufficiali delle coppie di valute vengono rilevate, in modo statistico, dalle banche centrali e/o dalle principali agenzie di informazione finanziaria.
2) Il mercato delle materie prime
Possiamo definire materia prima (commodity) qualunque bene necessario all’attività umana che sia facilmente immaginabile, che non abbia una scadenza e che possa essere scambiato in maniera standardizzata. Molti trader finanziari apprezzano le materie prime perché spesso è facile fare previsioni sull’andamento del loro prezzo e quindi è più probabile riuscire ad avere successo con il trading online. Ci sono grandi borse dove vengono scambiate commodities, la più importante è la borsa di Chicago negli Stati Uniti d’America. In questo caso il prezzo dei beni scambiati viene fissato ufficialmente dal gestore della Borsa. Tuttavia la maggior parte di coloro che fanno trading a i fini speculativi non opera su queste borse, ma tramite strumenti derivati. In effetti in questo modo anche il mercato delle commodities diventa un mercato OTC.
3) Il mercato azionario
Giocare in borsa è da sempre sinonimo di speculazione finanziaria. La Borsa è il mercato dove vengono scambiate le azioni. Le azioni sono quote del capitale di un’azienda. Il possessore di un’azione ha diritto ha ricevere una quota degli utili, proporzionale alla quota di capitale posseduta. Per questo motivo le azioni variano il loro prezzo a seconda dell’andamento dell’azienda. Più sono buone le prospettive di profitto e più il prezzo sale. Le azioni sono tipicamente quotate sulle Borsa ma anche in questo caso è possibile fare trading utilizzando strumenti derivati. Di solito è questa la strategia scelta dai migliori trader, soprattutto perché grazie ai derivati è possibile guadagnare sia quando il mercato sale sia quando scende
4) Bitcoin
Il bitcoin è una valuta virtuale che ha rivoluzionato il mondo di internet negli ultimi anni. Il bello di questa valuta è che non esiste un’autorità centrale che possa emetterla e quindi non è sottoposta alle drammatiche pressioni inflazionistiche che tutte le altre valute del mondo conoscono, prima o poi. In pratica, la quantità di bitcoin presenti al mondo non può eccedere un limite matematico e questo fa sì che i bitcoin diventino sempre più preziosi. Il bitcoin ha però uno svantaggio: per fare trading di Bitcoin in teoria bisognerebbe accedere alla parte oscura di internet, il cosiddetto dark web. Tuttavia la maggior parte delle migliori piattaforme di trading hanno messo a disposizione dei derivati che hanno come sottostante il bitcoin. In questo modo è diventato possibile operare anche sul bitcoin in maniera seria e regolamenta, senza rischi.
martedì 17 marzo 2020
QUANTITATIVE ANALYST
Chi è un Quantitative Analyst?
Un Quantitative Analyst è una persona specializzata in applicazioni di metodi matematici e statistici.Ruoli di un Quant:
Nelle operazioni di trading e di vendita, gli analisti quantitativi lavorano per determinare i prezzi, la gestione del rischio e identificare le opportunità redditizie.
Guadagno:
Il guadagno di un buon analista è strettamente proporzionale alla sua dote nel generare profitti per le banche o imprese per cui lavora. A Londra i più bravi guadagnano più di 600 mila sterline, mentre a Parigi e a Francoforte gli analisti senior incassano 250 mila euro.
Cosa studiare per diventare un quant?
Sono molto apprezzate le lauree in matematica, fisica e in alcuni rami dell’ingegneria o scienze computazionali piuttosto che la laurea in economia, proprio per la capacità di applicare tecniche che sono state concettualmente sviluppate per il settore scientifico e applicate in seconda battuta a quello economico ( Metodo di Montecarlo, Bootstrapping, calcolo stocastico etc.).
Gli analisti quantitativi spesso provengono da matematica finanziaria , ingegneria finanziaria , matematica applicata ,fisica o ingegneria , e l'analisi quantitativa è una fonte importante di impiego per le persone con dottorati in matematica e fisica o con master in matematica finanziaria. In genere, un analista quantitativo avrà anche bisogno di ampie competenze nella programmazione informatica, più comunemente C,C++, R , MATLAB , Mathematica e Python .
Questa richiesta di analisti quantitativi ha portato a una ripresa della domanda di qualifiche attuariali , nonché alla creazione di master e dottorati specializzati in ingegneria finanziaria, finanza matematica, finanza computazionale e / o riassicurazione finanziaria . In particolare, i master in finanza matematica, ingegneria finanziaria, ricerca operativa , statistica computazionale , apprendimento automatico e analisi finanziaria stanno diventando sempre più popolari tra studenti e datori di lavoro. Vedi Master in Quantitative Finance ; Master in economia finanziaria .
I metodi di analisi e modellizzazione della scienza dei dati e dell'apprendimento automatico sono sempre più impiegati nella prestazione del portafoglio e nella modellizzazione del rischio del portafoglio e come tale i laureati in scienze dei dati e apprendimento automatico sono anche richiesti come analisti quantitativi.
Iscriviti a:
Post (Atom)
applicazione13
- Svolgere l' Esercizio 4 indicato nel video 49 (processo aleatorio + ordini e calcolo PNL) - Completare l' Esercizio 4 aggiungen...
-
Che tipo di ambiente è ? Visual Studio è un ambiente di sviluppo integrato, sviluppato da Microsoft. Per linguaggio integrato si inten...
-
Premessa Prima di parlare dei dati, è utile definire il concetto di assegnazione. Cioè significa allocare un certo valore(che può essere ...
-
Ricapitoliamo quanto visto fin'ora 1) Rw 2) Bm che sarebbe lo scaling limit della rw, cioè può essere visto come il limite di una...