Trading EToro Un linguaggio per descrivere e gestire operazioni di borsa Progetto di Linguaggi e Modelli Computazionali LS Prof. Enrico Denti Mancini Laura.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

VIA GIULIO RATTI, CREMONA – Tel. 0372/27524
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
Analizzatori Sintattici con Cup Giuseppe Morelli.
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Semantica di linguaggi di programmazione Ne esistono differenti stili a seconda di paradigma di programmazione uso (validazione, prototyping, verifica.
Type Checking (1° parte)
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
Ms. Access: corso pratico di utilizzo dello strumento
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Fogli elettronici - Spreadsheet
MARKET CONNECT WEB Modulo: Eventi New Business Info Services & Products Borsa Italiana.
Daniel Stoilov Tesi di Laurea
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
LOCALIZZAZIONE SATELLITARE GEOREFENRENZIATA. OBIETTIVI Gestire il database cartografico al fine di poter visualizzare la posizione dei mezzi localizzati,
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Progetto per lesame di Linguaggi e Modelli Computazionali LS Chiara Chiara Gualtieri.
{ CrashLang Un linguaggio per raccogliere i risultati di un crash test Attività progettuale di Linguaggi e Modelli Computazionali M Anno Accademico: 2010/2011.
ANTLR V.3 Renzi Alberto.
Progetto desame di Gianluca Gallo Linguaggi e modelli computazionali LM Prof. Enrico Denti.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
CineMan Linguaggio per la descrizione della programmazione di cinema
Gestimp IV Il pacchetto software GESTIMP© di Isea S.r.l., di seguito indicato con GESTIMP©, permette di gestire la supervisione e la telegestione di impianti.
Corso di Laurea Specialistica in Ingegneria Informatica Itinerari aerei Progetto per lesame di Linguaggi e Modelli Computazionali LS realizzato da Stefano.
S ::= Formazione Formazione ::= NomeSquadra Team NomeSquadra ::= Team ::= Schema Tabellino | Tabellino Schema ::= Difesa Tabellino ::= ElencoTitolari.
Linguaggio per la generazione di biglietti da visita
Gianfranco Zampolini Progetto per il corso di: Linguaggi e Modelli Computazionali LS EM Linguaggio per la Descrizione di un Evento Musicale.
Corso di Laurea Specialistica in Ingegneria Informatica Model Drive Applicazione per il pilotaggio di veicoli Esame di Linguaggi e Modelli computazionali.
Linguaggi e modelli computazionali LS
Progetto di un linguaggio e interprete per giocare a MemoryPlus Progetto di:Docente: Vito La PortaEnrico Denti.
Lazienda SCInformatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
runhome Progetto di Linguaggi e Modelli Computazionali LS Luca Bueti
Corso di Laurea Specialistica in Ingegneria Informatica Previsione dei Consumi Elettrici = Progetto per lesame di Linguaggi e Modelli Computazionali LS.
Un linguaggio ed un interprete per il gioco Citadels
Progetto don’t you forget
Attività progettuale in Linguaggi e Modelli Computazionali M
Progetto Fireworks Simulatore di spettacoli pirotecnici
Tablabla Progetto di Valent Cristina
SQL File Manager un nuovo modo di gestire il filesystem….
Università degli Studi di Bologna Facoltà di Ingegneria Anno Accademico 2007/2008 Laurea Specialistica in Ingegneria Informatica Linguaggi e Modelli Computazionali.
Chess Game Visualizer Un interprete per Short Algebraic Notation Progetto per lesame di Linguaggi e modelli computazionali LS prof. Denti – A.A. 2007/08.
Evolve. Il software EVOLVE consente un veloce accesso, visualizzazione ed estrazione dei dati contenuti nel data base dellAmministrazione del Personale.
Linguaggi e modelli computazionali LS Manni Tiziano
ATTIVITÀ PROGETTUALE LINGUAGGI E MODELLI COMPUTAZIONALI L-M Un linguaggio per la descrizione di coreografie giocabili STUDENTE: BACCHILEGA SIMONE A.A 2013/2014.
IV D Mercurio DB Lezione 2
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
MySQL Database Management System
Algoritmi euristici per l’ottimizzazione dell’offerta nella raccolta di rifiuti Tesi di laurea di Nicola Bindini Relatore: Chiar.mo Prof. Ing. DANIELE.
DRAUGHTS Linguaggi e Modelli Computazionali LS Linguaggio e interprete per effettuare una partita di dama inglese contro un’intelligenza artificiale Progetto.
Giannicola Spezzigu Accordo: sovrapposizione di 3 o più suoni Ogni sigla denota un accordo, ossia i suoni da cui esso è formato Accordi e.
Calendar Generator Progetto Linguaggi e Modelli Computazionali LS Docente: Enrico Dentidi: Alberto Renzi.
Progetto di Linguaggi e modelli computazionali M Prof. Enrico Denti Progetto di: Francesco Paci.
DerIntCalculator La calcolatrice per integrali e derivate Progetto di Linguaggi e Modelli Computazionali M Prof. Enrico Denti Realizzato da: Gabriella.
Linguaggi e Modelli Computazionali LS Anno Accademico 2007/2008 Alessio Della Motta Un linguaggio per descrivere partite di Maraffone: il gioco più popolare.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
CAKE Ambiente per la scrittura e la riproduzione audio di ricette per torte Linguaggi e Modelli Computazionali LSElisabetta Visciotti.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Eye Computer Sistema per l'interazione con un computer dotato di controllo oculare Linguaggi e modelli computazionali LS Realizzato da: Ciavarella Primiano.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
LA SOLUZIONE READY PER IL CBI E LA TESORERIA. Cos’è Banche24?! E’ l’innovativa soluzione Web, Multiazienda e Multibanca, che consente, attraverso un unico.
La gestione anticipata della tesoreria aziendale
Tecnologie informatiche.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
TeNG Linguaggio per la generazione di English Test Donato Cataldo Università di Bologna, facoltà di ingegneria Linguaggi e Modelli Computazionali '09/'10.
Transcript della presentazione:

Trading EToro Un linguaggio per descrivere e gestire operazioni di borsa Progetto di Linguaggi e Modelli Computazionali LS Prof. Enrico Denti Mancini Laura Mat

Obiettivi del progetto  Creare un ambiente che consenta di definire in modo semplice e rapido le operazione da svolgere sul proprio portafoglio azioni.  Consentire di impostare regole per la gestione automatica del portafoglio, istruendo il programma ad acquistare o vendere azioni sotto determinate condizioni.  Mantenere una visione costantemente aggiornata dell’andamento della borsa e dello stato del proprio portafoglio.

Grammatica-Sintassi (1/5) COSA POSSIAMO FARE CON ETORO: ::= ( | | | | )  Acquistare quote di valute o di beni da aggiungere al proprio portafoglio  Vendere quote di valute o beni appartenenti al proprio portafoglio  Visualizzare graficamente gli andamenti del mercato o dei movimenti del proprio portafoglio  Impostare delle regole di gestione per automatizzare l’acquisto o la vendita di quote di valute o beni quando si verificano determinate condizioni  Eliminare regole di gestione non più desiderate  Non è prevista la stringa ε nello scopo della grammatica.

Grammatica-Sintassi (2/5) OPERAZIONI DI ACQUISTO: ::= “=” “BUY” “;”  L’utente deve specificare l’identificativo dell’operazione di acquisto, indicare cosa intende comprare ed il numero di quote desiderate. OPERAZIONI DI VENDITA: ::= “SELL” [ ] “;”  L’utente può vendere una parte o la totalità delle quote di un movimento presente nel proprio portafoglio. CONTROLLO SEMANTICO L’identificativo dell’operazione deve essere unico CONTROLLO SEMANTICO L’identificativo deve essere presente nel proprio portafoglio

Grammatica-Sintassi (3/5) OPERAZIONI DI VISUALIZZAZIONE: ::= “PLOT” (“MARKET” | ) [ ] “;”  Consente all’utente di visualizzare l’andamento del mercato per la valuta o il bene di interesse o l’andamento di un movimento nel portafoglio. È possibile anche specificare un intervallo di tempo limitato. ::= | “-” ::= “-” CONTROLLO SEMANTICO L’identificativo deve essere presente nel proprio portafoglio CONTROLLO SEMANTICO Le due valute devono essere distinte CONTROLLO SEMANTICO L’intervallo temporale deve essere consistente. Il primo orario deve precedere il secondo, in modo coerente con gli orari di apertura della borsa

Grammatica-Sintassi (4/5) REGOLE DI GESTIONE: ::= “= ” “HANDLE” ( | ) “;”  Consente all’utente di specificare delle regole di gestione per automatizzare operazioni di acquisto o di vendita. Possibilità di specificare delle regole composte, in relazione di AND od OR. ::= “BUY” ::= [ ( “AND” | “OR” ) ] ::= “(” “)” | ::= ( “>” | “>=” | “ | | “LAST” (“>” | “>=” | “ CONTROLLO SEMANTICO L’identificativo della regola di gestione deve essere unico Contiene self-embedding CONTROLLO SEMANTICO L’orario deve essere successivo al momento attuale CONTROLLO SEMANTICO Num deve essere inferiore al numero di dati finora raccolti

Grammatica-Sintassi (5/5)  ::= “SELL” [ ]  ::= [ ( “AND” | “OR” ) ]  ::= “(” “)” |  ::= | “AFTER” | ( “+” | “-” ) “%”  ELIMINAZIONE DI REGOLE:  ::= “DELETE” “;” CONTROLLO SEMANTICO L’identificativo deve essere presente nel proprio portafoglio CONTROLLO SEMANTICO L’orario non deve superare l’orario di chiusura della borsa CONTROLLO SEMANTICO L’identificativo deve essere presente tra le regole di gestione

Grammatica-Lessico   >  “.” ([“0” – “9”])*>   “:” “:” >  LESSICO Sottoparti del linguaggio descritte con grammatiche regolari di tipo 3. Il lessico viene trattato separatamente dagli strumenti per ottimizzare il processo di riconoscimento e di costruzione dell’APT

Espressioni di assegnamento  Nel caso delle operazioni di BUY e per le regole di gestione HANDLE si ha l’assegnamento di un identificativo. È necessario un controllo semantico per garantire l’unicità degli ID ed una struttura per la loro memorizzazione  ::= “=” “BUY” “;”  ::= “= ” “HANDLE” ( | ) “;” IDOPMOVEMENTS OP1movement1 OP2movement2 IDRULERULES RULE1rule1 RULE4rule4 Realizzata con una Hashtable: La chiave è IDOP e il valore è un riferimento ad un oggetto Movement, una operazione nel portafoglio Realizzata con una Hashtable: La chiave è IDRULE e il valore è un riferimento ad un oggetto Rule, una regola di gestione delle operazioni

Classificazione  Le produzioni sintattiche sono tutte riconducibili a:  La grammatica è di TIPO 2 (context-free) secondo la classificazione di Chomsky  Il linguaggio realizzato è di TIPO 2 per la presenza di self-embedding, si hanno produzioni del tipo:  La grammatica è di tipo LL(1) → dimostrazione con Starter Symbol PDA (Push Down Automaton) deterministico, realizzabile con analisi ricorsiva discendente

Architettura - Packages Genarato da JavaCC Esegue l’analisi sintattica Genarato da JTB Classi necessarie per creare l’albero Genarato da JTB Contiene gli scheletri del visitor Pianifica l’aggiornamento dei dati e la verifica delle regole di gestione Interfaccia grafica e listener dei comandi Classi per la gestione delle operazioni richieste Gestore dei dati della borsa, ordinati cronologicamente Classi per il recupero periodico dei dati di borsa

DATA Architettura generale USER SCHEDULER RICHIEDI OPERAZIONE (Buy, Sell, Plot) GESTIONE RULES (Handle, Delete) VALUTA REGOLE DI GESTIONE AGGIORNA DATI PORTAFOGLIO OPERAZIONI CONTENITORE RULES INPUT STREAM evalRules updateData

Richiedi operazione (1/2)

Richiedi operazione (2/2)

Valuta regole

L’interfaccia grafica Valori attuali costantemente aggiornati Movimenti attivi presenti nel portafoglio Regole di gestione Movimenti già chiusi Casella in cui inserire i comandi Casella in cui inserire i comandi Casella di output

 Linguaggio di programmazione: Java 1.6 – Libreria JFreeChart per il plot dei grafici  Ambiente di sviluppo: Eclipse Galileo  Strumenti automatici: – JavaCC 4.0: generazione del parser e dello scanner con analisi top- down discendente – JTB 1.3.2: generazione delle classi per l’APT e per il visitor – JJDoc: generazione della documentazione Strumenti utilizzati

POSSIBILI ESTENSIONI AL PROGETTO:  Connessione a fonti di dati online per ottenere flussi di informazioni reali aggiornati dinamicamente;  Definizione di regole di gestione più complesse e raffinate;  Grafici aggiornati dinamicamente in tempo reale;  Traduzioni delle informazioni derivanti dai mercati economici in regole di gestione. Sviluppi futuri Servirebbe un esperto finanziario…

Demo  Let’s play and start gaining!