250 likes | 364 Views
Icarus A multi-agent system for e-broking. e-broking – Another “E” Dimension. Autor: Bogdan Iordache (bogdan@mymail.ro) Indrumator: Adina Florea Grupul AI-MAS, UPB, octombrie 2002. Ce ne propunem Identificarea problemei.
E N D
IcarusA multi-agent system for e-broking e-broking – Another “E” Dimension Autor: Bogdan Iordache (bogdan@mymail.ro)Indrumator: Adina FloreaGrupul AI-MAS, UPB, octombrie 2002
Ce ne propunemIdentificarea problemei • Cresterea fluxului de date necesita instrumente de analiza automata, analiza umana devenind ineficienta • Identificarea domeniilor ce prezinta astfel de probleme poate duce la crearea unor aplicatii de succes • Unul dintre acestea este domeniul bursier
Ce ne propunemRezolvarea problemei • Crearea unor instrumente de analiza financiara ce permit utilizatorului (brokerul):- eliberarea de sarcini de rutina- analiza automata a unor volume mari de date • Caracteristici obligatorii: factor de risc mic, securizare, ergonomie a interfetei
Scurta prezentare a domeniului bursier • Actiunea: unitate indivizibila tranzactionabila a unei societati comerciale • Cotatia unei actiuni: influentata de performantele firmei • Tranzactionarea de actiuni este realizat prin intermediul bursei de catre traderi
Persoane fizice(cumparatori individuali) Market-makeri /traderi(executanti directi al ordinelor pe bursa) Firma de brokeraj (Active, Vanguard) bani/actiuni pentrucumparare/vanzare ordine de cumparare/vanzare Persoane juridice(fonduri de investitii, banci …) tranzactii efective Bursa(mediu computerizat sau necomputerizat)RASDAQNYSE NASDAQ Functionarea bursei de valori
Functionalitati propuse • Atentionarea asupra unor tranzactii neobisnuite • Gestiunea automata a unui stoc de actiuni • Indeplinirea unor sarcini precise de cumparare/vanzare • Prezentarea unor scenarii de tranzactionare pe termen scurt
De ce sistem multi-agent ? • Fiecare dintre functionalitatile sistemului poate fi modelata ca o sarcina distincta, iar fiecare sarcina ca un agent • Aplicatia devine un sistem multi-agent • Utilizatorul poate instantia aceeasi functionalitate cu date diferite (ex: urmarirea altui stoc), creand astfel mai multe sarcini
Impartirea sarcinilor • In cadrul sistemului se folosesc doua tipuri de agenti: - Agent-A: folosit pentru comunicarea sistemului cu exteriorul - Agent-B: folosit pentru implementarea functionalitatilor sistemului
Agent-Bprezentare scenarii SMA Cotatiile actiunilor Agent-Bcumpar/vinde Agent-Agestioneaza comunicatia Datele financiare Agent-Bgestiune stocuri Input utilizator Agent-B atentionare anomalii Impartirea sarcinilor
Sarcinile agentului A • Crearea agentilor B • Comunicarea cu utilizatorul prin intermediul interfetei • Comunicarea cu sursele de date externe (cotatii, date financiare etc.) • Comunicarea cu agentii B • Interfatarea cu agentii A • Gestionarea bazei de cunostinte
Agent-A compus din Baza de cunostinte Modulul de comunicare Interfata Modulul de interfatare keyboard/mouse KMQL/XML User Servicii Agenti-B Site cotatiiStiri financiare Agent-A Agent-B Agent-A Agent-B Agent-A Agent-B Layer WEB Layer specific Arhitectura agentului A
Sarcinile agentului B • Implementarea operatiilor specifice fiecarei functionalitati folosind un modul de cunostinte • Comunicarea agentului B cu agentul A (furnizarea de date externe) si alti agenti B (cooperare) • Codificarea invatarii intr-un format propriu
Agent-A compus din Baza de cunostinte Modulul de comunicare Interfata Modulul de interfatare keyboard/mouse KMQL/XML User Servicii Agenti-B Site cotatiiStiri financiare Agent-A Agent-B Agent-A Agent-B Agent-A Agent-B Layer WEB Layer specific Arhitectura agentului B
Agentul B catre A: Sell Buy Bid Ask getCotation getCompanyInformation getBid getAsk getIndecs getTransaction Agentul A catre B: setCotation setBid setAsk setIndecs setCompanyInformation setTransaction Primitivele de comunicare
Reprezentarea cunostintelor • Pentru realizarea functionalitatilor propuse, este nevoie de gasirea unui format de reprezentare si memorare a cunostintelor despre sistemul bursier • Dificultatile imediate apar datorita complexitatii si dinamicii sistemului • O prima varianta: procese decizionale Markov (MDP)
De ce MDP ? • Fiabilitate: modelul de stari/probabilitati/tranzitii este asemanator cu ceea ce se intampla pe o bursa • Lizibilitate: cunostintele acumulate sunt exprimate intr-un format clar
Prima problema: definirea starilor/tranzitiilor • O stare: valoarea unei actiuni • O tranzitie: o actiune de cumparare/vanzare a unei actiuni ce ii schimba valoarea ABC-$4.1 ABC-$3 vanzare 5000 ABC 50% 20% 30% ABC-$4.4 ABC-$4.2
Prima problema:Definirea starilor • Pe caz general, o stare este o suma de parametrii ce influenteaza valoarea actiunii • O tranzitie este o tranzactie ce influenteaza starea sistemului in forma definita anterior ABC-$4.1S&P - 199 ABC-$3S&P - 200 vanzare 5000 ABC 50% 20% 30% ABC-$4.4S&P - 201 ABC-$4.1S&P - 202
A doua problema:Reducerea spatiului starilor • In mod evident, spatiul starilor generat este infinit • Pentru reducere se incearca aplicarea mai multor variante: - construirea iterativa a spatiului starilor - exprimarea relativa a valorilor actiunilor/indicilor prin procente - asimilarea starilor apropiate in cazul unor diferente acceptabile, prin folosirea unei functii de distanta
Incapsularea cunostintelor • Pentru o definire cat mai corecta a modelului bursier, se pot crea modele de stari/tranzitii pentru fiecare actiune • Motivatia este identificarea in fiecare caz a factorilor ce influenteaza valoarea actiunii • Se creaza un model de codificare a starilor/tranzitiilor
Agent-B Agent-B Agent-B modul de cunostintefolosibil pentru ROMC modul de cunostintefolosibil pentru ROMC modul de cunostintefolosibil pentru ROMC Knowledge base creaza Agent-A creaza creaza Task list- task1- task2… Manipularea cunostintelor
Aplicarea Reinforcement Learning • Pentru etapa de invatare, metoda cea mai potrivita pare a fi Reinforcement Learning • Datorita felului natural in care foloseste reprezentarea prin Procese Decizionale Markov • Invatarea se va aplica peste spatiul construit al starilor
Analiza business Codificare stari/tranzitii + functia distanta Invatare (auto-organizarea starilor/tranzitiilor) costisitoare eficient/completa convergenta Problemele organizarii cunostintelor
Stadiul de dezvoltare • Ce este facut:- Specificarea sistemului la nivel conceptual- Specificatii preliminarii ale interfetei- Stabilirea unei platforme de dezvoltare si a unei metodologii
Stadiul de dezvoltare • Ce mai este de facut:- stabilirea unor contacte in lumea brokerajului pentru rafinarea cunostintelor domeniului si obtinerea de feedback - implementare - efectuarea unor studii de caz pentru a evidentia suficienta functionalitatilor si a modalitatii de stocare a cunostintelor, precum fiabilitatea interfetei