scieee Open visual document viewer

Desarrollo de una aplicación web para el backtesting de estrategias de trading

Figueros Sentana, Salvador

Abstract

El trabajo aquí presentado consiste en la especificación, diseño e implementación de una aplicación web que permita la ejecución del “backtesting” de estrategias de trading. El usuario va a poder ejecutar, a través de esta aplicación, el “backtesting” de una estrategia basada en la compra o en la venta de un activo financiero en el máximo o en el mínimo de su precio para un período temporal dado. Los datos de los precios de los activos financieros son extraídos de Yahoo! Finance y se ha seguido un diseño guiado por eventos para la implementación del simulador. La aplicación también proporciona la infraestructura necesaria para llevar a cabo la gestión de carteras. En concreto, permite la creación de carteras financieras y la optimización de estas en base al método del análisis de la varianza media. Además, también se han desarrollado otra serie de servicios con una gran aplicación práctica en la operativa del trader. Finalmente, la aplicación permite la compartición de información entre los usuarios registrados, favoreciendo el intercambio de ideas y la creación de una comunidad de gente interesada en las finanzas cuantitativas.

Full text

DESARROLLO DE UNA APLICACIÓN WEB PARA EL BACKTESTING DE ESTRATEGIAS DE TRADING DEVELOPMENT OF A WEB APPLICATION FOR THE BACKTESTING OF TRADING STRATEGIES TRABAJO DE FIN DE GRADO CURSO 2021-2022 AUTOR SALVADOR FIGUEROS SENTANA DIRECTOR ANTONIO SARASA CABEZUELO DOBLE GRADO ADE – INGENIERÍA INFORMÁTICA FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID DESARROLLO DE UNA APLICACIÓN WEB PARA EL BACKTESTING DE ESTRATEGIAS DE TRADING DEVELOPMENT OF A WEB APPLICATION FOR THE BACKTESTING OF TRADING STRATEGIES TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA AUTOR SALVADOR FIGUEROS SENTANA DIRECTOR ANTONIO SARASA CABEZUELO CONVOCATORIA: JUNIO 2022 DOBLE GRADO ADE – INGENIERÍA INFORMÁTICA FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID II RESUMEN El abajo aquí p esen ado consis e en la especi icación, diseño e implemen ación de una aplicación web que pe mi a la ejecución del “back es ing” de es a egias de ading. El usua io a a pode ejecu a , a a és de es a aplicación, el “back es ing” de una es a egia basada en la comp a o en la en a de un ac i o inancie o en el máximo o en el mínimo de su p ecio pa a un pe íodo empo al dado. Los da os de los p ecios de los ac i os inancie os son ex aídos de Yahoo! Finance y se ha seguido un diseño guiado po e en os pa a la implemen ación del simulado . La aplicación ambién p opo ciona la in aes uc u a necesa ia pa a lle a a cabo la ges ión de ca e as. En conc e o, pe mi e la c eación de ca e as inancie as y la op imización de es as en base al mé odo del análisis de la a ianza media. Además, ambién se han desa ollado o a se ie de se icios con una g an aplicación p ác ica en la ope a i a del ade . Finalmen e, la aplicación pe mi e la compa ición de in o mación en e los usua ios egis ados, a o eciendo el in e cambio de ideas y la c eación de una comunidad de gen e in e esada en las inanzas cuan i a i as. Palab as cla e back es ing, es a egia, ading, ade , ca e as, Py hon, inanzas cuan i a i as III ABSTRACT The wo k he e p esen ed consis s in he speci ica ion, design and implemen a ion o a web applica ion ha allows he execu ion o he back es ing o ading s a egies. The use o his web applica ion is going o be able o execu e he “back es ing” o a s a egy based on buying o selling an asse a i s highs o lows o a gi en ime ame. The p ice da a o he asse s is pulled ou om Yahoo! Finance and he back es e has been buil by p og amming an E en -D i en sys em. The applica ion also p o ides he necessa y in as uc u e o po olio managemen . Speci ically, i allows he c ea ion o a po olio and i s op imiza ion based on he mean- a iance analysis. Mo eo e , se e al o he ading se ices ha e also been de eloped which could p o e o be o g ea use o he ade . Finally, he applica ion allows he use s o sha e in o ma ion wi h each o he and hus p esen s an oppo uni y o he c ea ion o a communi y o people in e es ed in quan i a i e inance. Keywo ds back es ing, s a egy, ading, ade , po olios, Py hon, quan i a i e inance IV ÍNDICE DE CONTENIDOS Resumen .................................................................................................................................... II Abs ac .................................................................................................................................... III Índice de con enidos ............................................................................................................. IV Índice de ilus aciones .......................................................................................................... VII Índice de ablas ...................................................................................................................... XII Capí ulo 1 - In oducción .......................................................................................................14 1.1 Mo i ación ....................................................................................................................14 1.2 Obje i os ........................................................................................................................14 1.3 Plan de abajo .............................................................................................................15 1.4 Es uc u a de la memo ia .............................................................................................18 Chap e - In oduc ion ...........................................................................................................20 Capí ulo 2 - Es a egia de T ading ........................................................................................26 2.1 Idea gene al .................................................................................................................26 2.2 En adas .........................................................................................................................26 2.3 Salidas ............................................................................................................................26 2.4 Ac i os inancie os ........................................................................................................27 Capí ulo 3 - Es ado del a e ...................................................................................................28 Capí ulo 4 - Tecnología empleada ......................................................................................31 4.1 He amien as F on end .................................................................................................31 4.1.1 Boo s ap 5 ..............................................................................................................31 4.1.2 Jinja2 .......................................................................................................................31 4.1.3 jQue y ......................................................................................................................31 4.2 He amien as Backend .................................................................................................32 V 4.2.1 Py hon .....................................................................................................................32 4.2.2 Flask .........................................................................................................................32 4.2.3 MySQL .....................................................................................................................32 4.3 O as he amien as .......................................................................................................33 4.3.1 Visual S udio Code .................................................................................................33 4.3.2 XAMPP .....................................................................................................................33 4.3.3 Gi ............................................................................................................................33 Capí ulo 5 - Casos de uso ......................................................................................................34 5.1 Ac o es ...........................................................................................................................34 5.2 Especi icación de equisi os .........................................................................................34 5.2.1 Cuen as de usua io ................................................................................................35 5.2.2 Back es ing es a egia de ading ........................................................................39 5.2.3 Ca e as de ac i os inancie os de los usua ios ..................................................49 5.2.4 O os se icios de ading ......................................................................................53 5.2.5 Adminis a da os ...................................................................................................55 Capí ulo 6 - A qui ec u a .......................................................................................................58 6.1 A qui ec u a del sis ema ..............................................................................................58 6.2 Pa ones a qui ec ónicos .............................................................................................59 6.2.1 MVC (Modelo-Vis a-Con olado ) ........................................................................59 6.2.2 DAO .........................................................................................................................60 6.3 Pa ones de diseño .......................................................................................................61 6.3.1 Pa ón Fac o ía .......................................................................................................61 6.3.2 Pa ón Single on .....................................................................................................62 Capí ulo 7 - Modelo de da os ...............................................................................................63 7.1 Modelo En idad-Relación ............................................................................................63 VI 7.2 Implemen ación de la base de da os ........................................................................66 7.2.1 Tablas sob e las cuen as de usua io .....................................................................67 7.2.2 Tablas sob e “Back es ing” ....................................................................................67 7.2.3 Tablas sob e ges ión de ca e as ..........................................................................68 7.2.4 Tablas sob e o os se icios de ading .................................................................70 7.2.5 Tablas sob e adminis a da os .............................................................................71 Capí ulo 8 - Diseño .................................................................................................................73 8.1 Diseño de la in e az isual ...........................................................................................73 8.2 Funcionalidad de la aplicación ..................................................................................74 8.2.1 Dashboa d ..............................................................................................................74 8.2.2 Funcionalidad del “Back es ing” ..........................................................................76 8.2.3 Funcionalidad de la ges ión de ca e as .............................................................86 8.2.4 Funcionalidad de o os se icios de ading ........................................................94 8.2.5 Funcionalidad de la adminis ación de los da os his ó icos ..............................97 Capí ulo 9 - Conclusiones y abajo u u o ...........................................................................98 9.1 Conclusiones .................................................................................................................98 9.2 T abajo u u o ................................................................................................................98 Chap e - Conclusions and u u e wo k .............................................................................. 100 Bibliog a ía............................................................................................................................. 102 Apéndices ............................................................................................................................. 106 VII ÍNDICE DE ILUSTRACIONES Ilus ación 1. Diag ama de Gan E apa 1 ...........................................................................16 Ilus ación 2. Diag ama de Gan E apa 2 ...........................................................................16 Ilus ación 3. Diag ama de Gan E apa 3 ...........................................................................17 Ilus ación 4. Diag ama de Gan E apa 4.1 ........................................................................17 Ilus ación 5. Diag ama de Gan E apa 4.2 ........................................................................17 Ilus ación 6. Diag ama de Gan E apa 5 ...........................................................................18 Ilus ación 7. Diag ama de Gan E apa 6 ...........................................................................18 Ilus ación 8. Gan Cha Phase 1.........................................................................................21 Ilus ación 9. Gan Cha Phase 2.........................................................................................22 Ilus ación 10. Gan Cha Phase 3 .......................................................................................22 Ilus ación 11. Gan Cha Phase 4.1 ....................................................................................23 Ilus ación 12. Gan Cha Phase 4.2 ....................................................................................23 Ilus ación 13. Gan Cha Phase 5 .......................................................................................23 Ilus ación 14. Gan Cha Phase 6 .......................................................................................24 Ilus ación 15. A qui ec u a del sis ema ................................................................................58 Ilus ación 16. Ejemplo de la implemen ación MVC en Flask .............................................59 Ilus ación 17. Diag ama de clases del pa ón DAO ...........................................................60 Ilus ación 18. Diag ama de clase del pa ón Fac o ía.......................................................61 Ilus ación 19. Diag ama de clases del pa ón Single on ....................................................62 Ilus ación 20. Diag ama En idad-Relación ..........................................................................65 Ilus ación 21. Implemen ación de la base de da os ..........................................................66 Ilus ación 22. Plan illa "Po al" ...............................................................................................73 Ilus ación 23. Vis a Dashboa d .............................................................................................75 VIII Ilus ación 24. Vis a Back es ing con igu ado ......................................................................76 Ilus ación 25. Clase SignalE en ...........................................................................................77 Ilus ación 26. Clase O de E en ............................................................................................78 Ilus ación 27. Clase FillE en ..................................................................................................78 Ilus ación 28. Clase His o icDBDa ahandle ........................................................................79 Ilus ación 29. Mé odo _ge _new_ba () ................................................................................80 Ilus ación 30. Mé odo upda e_ba s() ..................................................................................80 Ilus ación 31. Clase BuyMaxS a egy ...................................................................................81 Ilus ación 32. Mé odo calcula e_signals() ...........................................................................82 Ilus ación 33. Clase Po olioBack es ing .............................................................................83 Ilus ación 34. Mé odo gene a e_o de () .............................................................................83 Ilus ación 35. Clase Simula edExecu ionHandle ................................................................84 Ilus ación 36. Algo i mo del back es ing .............................................................................84 Ilus ación 37. G á ico con las señales de ading ...............................................................85 Ilus ación 38. Vis a ges ión de ca e as ...............................................................................86 Ilus ación 39. Clase T ansac ion ...........................................................................................87 Ilus ación 40. Código pa a c ea una ansacción ............................................................88 Ilus ación 41. Código pa a ab i una posición ....................................................................88 Ilus ación 42. Código pa a c ea una posición ..................................................................89 Ilus ación 43. Código pa a ejecu a una ansacción .......................................................89 Ilus ación 44. Código pa a c ea una ca e a ....................................................................89 Ilus ación 45. Clase Posi ionHandle .....................................................................................90 Ilus ación 46. Código pa a modi ica una posición ...........................................................90 Ilus ación 47. Código pa a ob ene el alo de me cado de la ca e a .........................91 15 Es e obje i o se puede di idi en los siguien es obje i os especí icos: • Desa olla una aplicación web que pe mi a al usua io con igu a la ca e a, elegi los ac i os inancie os y pa ame iza la es a egia de ading sob e los que co e el “back es ing”. • Implemen a una uncionalidad que pe mi a al usua io ges iona ca e as inancie as. • Implemen a una uncionalidad que pe mi a al usua io subi al sis ema los da os his ó icos de los p ecios de los ac i os inancie os que es e quie a. • Desa olla una aplicación web que pe mi a la ges ión, colabo ación y compa ición de in o mación (“back es ings” ejecu ados y ca e as inancie as) en e los usua ios susc i os. o Implemen a una uncionalidad que pe mi a la ges ión de cuen as de usua io. o Implemen a una uncionalidad que pe mi a a un usua io egis ado gua da y compa i los “back es ing” ejecu ados. o Implemen a una uncionalidad que pe mi a a un usua io egis ado compa i una ca e a inancie a. • Implemen a o as uncionalidades que si an de ayuda a un ade . o Implemen a una uncionalidad que pe mi a al usua io lle a un dia io de ading. o Implemen a una uncionalidad que pe mi a al usua io ealiza un “back es ing” de o ma manual. • Diseña una API que sea in ui i a, minimalis a y al mismo iempo con enga una can idad de in o mación lo su icien emen e exhaus i a. 1.3 Plan de abajo Pa a el cumplimien o de los obje i os especí icos enume ados en el an e io apa ado, se han seguido una se ie de e apas. A con inuación, se explican cuáles han sido es as e apas y se mues a el Diag ama de Gan co espondien e a cada una de ellas. 16 E apa 1: Especi icación de Requisi os Es a e apa inicial ha consis ido en la discusión y especi icación de los casos de uso que iba a ene la aplicación web a desa olla . Ilus ación 1. Diag ama de Gan E apa 1 E apa 2: C eación de la Aplicación Web e Implemen ación de las Cuen as de Usua io En es a segunda e apa se ha desa ollado el código necesa io pa a la c eación de la aplicación web. Una ez hecho es o, se ha implemen ado la ges ión de las cuen as de usua io y, después, la uncionalidad elacionada con la ges ión de los da os his ó icos de los p ecios de los ac i os. Ilus ación 2. Diag ama de Gan E apa 2 E apa 3: Implemen ación de la Ges ión de Ca e as En es a e apa se ha ealizado la implemen ación de la ges ión de ca e as. En conc e o, se han desa ollado odas las uncionalidades necesa ias pa a ello: c ea , e , modi ica , publica y elimina una ca e a. 17 Ilus ación 3. Diag ama de Gan E apa 3 E apa 4: Implemen ación del “Back es ing” En es a e apa se ha ealizado la implemen ación de la uncionalidad p incipal de la aplicación: “Back es ing”. Pa a ello, en p ime luga , se ha ealizado el desa ollo del código necesa io pa a le ejecución del “back es ing” de la es a egia de ading aquí implemen ada. Una ez hecho es o, se ha desa ollado la in aes uc u a necesa ia pa a su ges ión. Aquí en a odo lo que iene que e con gua da , e , publica y elimina un “back es ing” c eado. Ilus ación 4. Diag ama de Gan E apa 4.1 Ilus ación 5. Diag ama de Gan E apa 4.2 18 E apa 5: Implemen ación de O os Se icios de T ading En p ime luga , en es a e apa se ha implemen ado el Dia io de T ading. Después, se ha desa ollado la uncionalidad elacionada con el “Back es ing” Manual. Ilus ación 6. Diag ama de Gan E apa 5 E apa 6: Desa ollo de la In e az Visual Es a e apa ha consis ido en el desa ollo de la API de la aplicación web. Ilus ación 7. Diag ama de Gan E apa 6 1.4 Es uc u a de la memo ia A con inuación, se desc ibe de o ma b e e los p incipales capí ulos en los que se di ide la memo ia: • Capí ulo 1: Es e capí ulo es á dedicado a la mo i ación del abajo, los obje i os, el plan de abajo seguido y la es uc u a de la memo ia. 19 • Capí ulo 2: Es e capí ulo es á dedicado a la explicación de la es a egia de ading implemen ada. • Capí ulo 3: Es e capí ulo es á dedicado a la desc ipción de aplicaciones que o ecen uncionalidades simila es a las implemen adas en es e p oyec o. • Capí ulo 4: Es e capí ulo es á dedicado a p esen a las ecnologías que se han u ilizado en la ealización del p oyec o. • Capí ulo 5: Es e capí ulo es á dedicado a la desc ipción de los ac o es y la especi icación de equisi os ealizada. • Capí ulo 6: En es e capí ulo se hace una desc ipción de la a qui ec u a que se ha seguido pa a el desa ollo e implemen ación de la aplicación web. • Capí ulo 7: En es e capí ulo se explica el modelo de da os que se ha de inido pa a ealiza la pe sis encia de la in o mación ges ionada po la aplicación web. • Capí ulo 8: En es e capí ulo se a a ealiza una desc ipción de las p incipales uncionalidades implemen adas y el diseño que se ha seguido pa a cada una de ellas. • Capí ulo 9: Es e capí ulo es á dedicado a las conclusiones del abajo y las líneas de abajo plan eadas de ca a al u u o. • Bibliog a ía: Es a sección con iene un lis ado con odas las uen es bibliog á icas u ilizadas en la ealización del abajo. • Apéndices: Manual de usua io 20 Chap e - In oduc ion Mo i a ion A ading s a egy is he ac ion plan one ollows wi h he in en ion o being p o i able in ading he inancial ma ke s. The e o e, a ading s a egy is a sys em made up o a g oup o ules p e iously de ined which signal which asse s o buy o sell, when o buy o sell hose asse s, which pe cen age o he capi al o alloca e o hose buys o sells, and how o manage he isk associa ed wi h one ade and wi h he po olio o e all. Be o e applying a ading s a egy in a li e en i onmen , i is necessa y o assess he p o i abili y o he s a egy. Tha is whe e he back es ing comes in o play. Back es ing a ading s a egy is he me hod by which i is possible o e alua e how a ading s a egy would ha e beha ed o e a se o his o ical da a. The e o e, unning he back es ing o a ading s a egy is like unning a simula ion using pas da a. Now, he e a e a lo o in es o s who do no know how o p og am a back es ing. Al hough execu ing a back es ing by hand o e a sho pe iod o ime is some hing anybody can do, his ask becomes di icul , i no impossible, when he leng h o he pe iod is inc eased. To add ess his p oblem, his p ojec ocuses on he de elopmen o a web applica ion ha p o ides necessa y ea u es o un a back es ing. To ha end, he applica ion is going o use a ading s a egy based on buying o selling a i s highs o lows o a gi en ime ame. Objec i es The main objec i e o his p ojec is he de elopmen o a web applica ion ha allows a use o un he back es ing o a ading s a egy o e a se o his o ical da a. This objec i e can be di ided among he ollowing speci ic objec i es: • De elop a web applica ion ha allows a use o design he po olio, choose he asse s, and change he pa ame e s o he s a egy on which he back es ing is going o be execu ed. • De elop a unc ionali y o po olio managemen . • De elop a unc ionali y o uploading his o ical da a o he sys em. • De elop a web applica ion whe e use s can collabo a e and sha e in o ma ion (back es ing in o ma ion and po olios) wi h each o he . o De elop a unc ionali y o managing use accoun s. 21 o De elop a unc ionali y o sa ing and sha ing back es ing in o ma ion. o De elop a unc ionali y o sha ing po olios. • De elop o he unc ionali ies o helping a use o ade he inancial ma ke s. o C ea e a ading jou nal. o De elop a unc ionali y o back es ing by hand. • Design an in ui i e, minimalis , and a he same ime ho ough isual in e ace. Wo k plan In o de o sa is y all he speci ic objec i es laid ou in he p e ious sec ion, he wo k plan has been di ided in o a se ies o phases. Nex is a desc ip ion o all hese phases wi h hei co esponding Gan Cha . Phase 1: Speci ica ion o Requi emen s This ini ial phase has consis ed in he discussion and speci ica ion o he use cases which ha e been implemen ed du ing he de elopmen o he web applica ion. Ilus ación 8. Gan Cha Phase 1 Phase 2: C ea ion o he Web App and Implemen a ion o Use Accoun s This second phase has been de o ed o he de elopmen o he necessa y code o he c ea ion o he web applica ion. The nex s eps ha e been he implemen a ion o he use accoun s managemen and hen, he unc ionali y ela ed o he handling o he his o ical p ice da a. 22 Ilus ación 9. Gan Cha Phase 2 Phase 3: Implemen a ion o Po olio Managemen This phase has been de o ed o he implemen a ion o po olio managemen . In pa icula , he ollowing unc ionali ies ha e been de eloped: c ea e, iew, modi y, sha e and dele e a po olio. Ilus ación 10. Gan Cha Phase 3 Phase 4: Implemen a ion o Back es ing This phase has been ocused on he implemen a ion o he main unc ionali y o he applica ion: he back es ing. Fo ha , he i s hing ha has been done has been he de elopmen o he code necessa y o he execu ion o he back es ing o he ading s a egy he e implemen ed. The nex s ep has been he de elopmen o he in as uc u e necessa y o he managemen o he back es ings. This has included sa ing, sha ing, and dele ing a p e iously c ea ed back es ing. 23 Ilus ación 11. Gan Cha Phase 4.1 Ilus ación 12. Gan Cha Phase 4.2 Phase 5: Implemen a ion o O he T ading Se ices Fi s , his phase has been de o ed o he implemen a ion o he T ading Jou nal. Once his was inished, he nex s ep has been he implemen a ion o he back es ing by hand unc ionali y. Ilus ación 13. Gan Cha Phase 5 24 Phase 6: De elopmen o he Visual In e ace This phase has consis ed in he de elopmen o he API o he web applica ion. Ilus ación 14. Gan Cha Phase 6 S uc u e o he memo y Th s uc u e o he memo y is b ie ly desc ibed below: • Chap e 1: This chap e is de o ed o he mo i a ion behind his wo k, he objec i es, he wo k plan, and he s uc u e o he memo y. • Chap e 2: This chap e is de o ed o he explana ion o he ading s a egy he e implemen ed. • Chap e 3: This chap e desc ibes he applica ions ha o e simila unc ionali ies o he ones he e implemen ed. • Chap e 4: This chap e desc ibes he echnology ha has been used h oughou he de elopmen o he p ojec . • Chap e 5: This chap e desc ibes he ac o s o he sys em and hei use cases. • Chap e 6: This chap e is de o ed o desc ibing he a chi ec u e which has been ollowed o build he web applica ion. • Chap e 7: This chap e explains he da a model which has been de ined o s o e he da a handled by he web applica ion. • Chap e 8: This chap e desc ibes he main unc ionali ies which ha e been implemen ed and he design which has been ollowed o do so. 31 Capí ulo 4 - Tecnología empleada Es e capí ulo es á dedicado a p esen a las ecnologías que se han u ilizado pa a la implemen ación de la aplicación del p oyec o. 4.1 He amien as F on end 4.1.1 Boo s ap 5 Boo s ap 5 [8] es un amewo k o almen e g a ui o que se usa pa a el desa ollo de aplicaciones web. Incluye HTML, CSS y Ja asc ip y hoy en día es el amewo k de on -end más popula a ni el mundial. Pe mi e la c eación de aplicaciones web de o ma lexible y eac i a sin muchas complicaciones ni es ue zos. En es e p oyec o, Boo s ap 5 se ha u ilizado pa a el desa ollo de la in e az isual de la aplicación web, haciendo uso de los componen es o ecidos po es e amewo k ales como o mula ios, bo ones, lashca ds, ba as de na egación o aco deones. 4.1.2 Jinja2 Jinja2 [9] es un mo o de empla es pa a Py hon inco po ado en el amewo k Flask. Un empla e es un a chi o de ex o que con iene una se ie de a iables y exp esiones que JInja2 eemplaza po las a iables pasadas a a és de los mé odos inco po ados en el amewo k Flask. En es e p oyec o, Jinja2 se ha u ilizado pa a la sepa ación de la lógica del sis ema de la p esen ación de es e. Las posibilidades que o ece es a he amien a son muchas y ello ha pe mi ido la implemen ación de una aplicación web de una o ma más limpia y o denada. 4.1.3 jQue y jQue y [10] es una lib e ía de Ja aSc ip que pe mi e la manipulación de elemen os de HTML, la ges ión de e en os, la animación y el uso de Ajax de una o ma muy sencilla. En es e p oyec o, el p incipal uso de jQue y ha sido el de pode u iliza Ja aSc ip de una o ma mucho más ácil. Además, se ha u ilizado ambién pa a aquellos aspec os de la in e az isual a los que el uso de Boo s ap 5 no alcanzaba. 32 4.2 He amien as Backend 4.2.1 Py hon Py hon [11] es un lenguaje de p og amación in e p e ado y de al o ni el cuya p incipal iloso ía adica en su ácil legibilidad. Es un lenguaje mul ipa adigma, dinámico y mul ipla a o ma. Ac ualmen e, cuen a con una comunidad muy g ande y un núme o muy al o de lib e ías que hacen de su uso una elección muy deseable. En es e p oyec o, Py hon se ha u ilizado como lenguaje de p og amación de la lógica del p og ama. En conc e o, se elegido el uso de Py hon como lenguaje de p og amación pa a la lógica del sis ema po la posibilidad que o ece es e de u iliza las lib e ías de análisis de da os Pandas y Numpy. 4.2.2 Flask Flask [12] es un mic o amewo k pa a Py hon que pe mi e la c eación de aplicaciones web de una o ma bas an e ápida. El concep o de mic o amewo k hace e e encia a ma cos de aplicaciones minimalis as que, a di e encia de los ma cos de aplicación comple os (“mac o amewo k”), suelen en oca se exclusi amen e en el manejo de solici udes HTTP y dejan de lado o os aspec os más complejos. En es e p oyec o, Flask se ha u ilizado pa a el desa ollo de la aplicación web bajo el pa ón Modelo-Vis a-Con olado . 4.2.3 MySQL MySQL [13] es un sis ema de ges ión de bases de da os elacional de código abie o. A di e encia de o os p oyec os con unciones pa ecidas, MySQL es á desa ollada po una emp esa p i ada, O acle Co po a ion, la cual iene los de echos de la mayo pa e del código. Además, MySQL u iliza ambién el modelo clien e-se ido . Los da os esiden en la pa e del se ido y el clien e en ía pe iciones a es e pa a aquellos da os que el clien e necesi a. En es e p oyec o, MySQL se ha u ilizado pa a la ges ión de la base de da os de la aplicación web. Po ejemplo, los da os de los usua ios o los p ecios de los ac i os inancie os han sido gua dados en el se ido de es e modelo pa a su pos e io u ilización y consul a du an e la ejecución de la aplicación. 33 4.3 O as he amien as 4.3.1 Visual S udio Code Visual S udio Code [14] es un edi o de código desa ollado pa a Mic oso , Linux, macOS y Web. Incluye sopo e pa a la depu ación, ejecución de a eas, esal ado de sin axis, inalización in eligen e de código y con ol de e siones. El desa ollo de los a chi os de ex o que componen la aplicación web se ha hecho en su o alidad a a és de es a he amien a. En conc e o, es e IDE se ha u ilizado pa a el desa ollo de a chi os con ex ensión “.py”, “.h ml”, “.css” y “.js”. 4.3.2 XAMPP XAMPP [15] es una dis ibución de Apache que consis e básicamen e en el sis ema de ges ión de base de da os MySQL, el se ido Apache y los in é p e es pa a lenguajes de sc ip PHP y Pe l. Es g a ui a y ácil de ins ala . De hecho, una de sus p incipales i udes eside en la acilidad de ins alación y uso que b inda dicho paque e. Es á disponible en Windows, Linux y macOS. En es e p oyec o, XAMPP se ha u ilizado pa a la ges ión de la base de base de da os a a és de MySQL. Se ha hecho uso de es a he amien a pa a diseña , con igu a , c ea y modi ica las a ias ablas y elaciones que componen la base de da os del sis ema. 4.3.3 Gi Gi [16] es un so wa e g a ui o y de código abie o que si e pa a el con ol de e siones en el desa ollo de p oyec os an o g andes como pequeños. Es á pensado pa a el man enimien o de e siones de una o ma ápida y e icien e. Hoy en día, es e so wa e de con ol de e siones es el más u ilizado del mundo. Po lo an o, es a he amien a ha sido u ilizada con la inalidad de lle a a cabo una coo dinación y man enimien o de las e siones de una o ma con iable, e icien e y ápida a lo la go de odo el p oyec o. 34 Capí ulo 5 - Casos de uso Es e capí ulo es á dedicado a la desc ipción de los ac o es y la especi icación de equisi os ealizada. 5.1 Ac o es A con inuación, se enume an cuáles son los p incipales ac o es del sis ema y se ealiza la desc ipción co espondien e de cada uno de ellos: • Usua io egis ado: Aquellos usua ios que se egis en en la aplicación pod án dispone de una se ie de p i ilegios en e aquellos usua ios que no lo hagan. Pod án ealiza odos los ipos de “back es ing” y simulaciones, dispone de ca e as de ac i os inancie os y dis u a de o as uncionalidades como el dia io de ading y el “back es ing” manual. Además, pod án compa i con enido (“back es ing” y ca e as) con el es o de los usua ios y e el con enido compa ido po el es o de los usua ios igualmen e. • Usua io no egis ado: es e ipo de usua io pod á na ega po la aplicación y u iliza alguna de sus uncionalidades, pe o no pod á dis u a de odo el epe o io o ecido po la aplicación. En conc e o, es e ipo de usua io pod á ealiza “back es ing” y búsquedas, pe o no pod á compa i con enido, con igu a ca e as de ac i os inancie os y dis u a de o as uncionalidades como el dia io de ading. • Adminis ado : es e usua io se dedica á a la ges ión de las cuen as de usua io (da de baja cuen as de usua io y modi ica las cuen as de usua io). Además, pod á adminis a los da os almacenados en la aplicación (5.2.5 Adminis a da os). 5.2 Especi icación de equisi os En es a sección se an a explica los casos de uso de inidos pa a la aplicación. Pa a ello los casos de uso se han ag upado modula men e de la siguien e o ma: 1. Cuen as de usua io 2. Back es ing 3. Ges ión de ca e as 4. O os se icios de ading 5. Adminis ación de da os his ó icos 35 5.2.1 Cuen as de usua io Requisi o Regis a usua io Iden i icado 1.1 P io idad Al a P econdición NA Desc ipción Los usua ios pueden c ea se una cuen a en es a aplicación. En ada Nomb e, Apellidos, Nomb e de Usua io, Con aseña, Co eo Elec ónico Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y hace click en “Regis a se”. 2 El sis ema mues a una pan alla en la que se le pide al usua io oda la in o mación necesa ia pa a egis a se. 3 El usua io ellena odos los campos y hace click en “C ea Cuen a”. 4 El sis ema alida la in o mación. 5 El sis ema mues a de nue o la pan alla p incipal. Pos condición Se ha c eado la cuen a de usua io. Excepciones Paso Acción 3 Se mues a el mensaje co espondien e si la con aseña no cumple con los equisi os. 3 Se mues a el mensaje co espondien e si el co eo elec ónico no es co ec o. 3 Se mues a el mensaje co espondien e si el co eo elec ónico o el nomb e de usua io ya exis en. Comen a ios NA Ac o es Usua io no egis ado, Admin Tabla 1. Regis a usua io 36 Requisi o Login Iden i icado 1.2 P io idad Al a P econdición El usua io ha de es a egis ado. Desc ipción Los usua ios egis ados pueden inicia sesión. En ada Nomb e de Usua io, Co eo Elec ónico, Con aseña Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y hace click en “Login”. 2 El sis ema mues a una pan alla en la que se le pide al usua io oda la in o mación necesa ia pa a inicia sesión. 3 El usua io ellena odos los campos y hace click en “Login”. 4 El sis ema alida la in o mación. 5 El sis ema mues a de nue o la pan alla p incipal. Pos condición El usua io ha iniciado sesión. Excepciones Paso Acción 4 No se ha podido ealiza el inicio de sesión. Comen a ios NA Ac o es Usua io no egis ado, Admin Tabla 2. Login Requisi o Logou Iden i icado 1.3 P io idad Al a P econdición El usua io ha de habe iniciado sesión. Desc ipción Los usua ios pueden sali de la sesión iniciada pa a inicia una nue a sesión o na ega sin es a egis ados. En ada Nomb e de usua io, Id de usua io 37 Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y hace click en “Logou ”. 2 El sis ema cie a la sesión y uel e a la pan alla p incipal. Pos condición Se ha ce ado la sesión. Excepciones Paso Acción 2 No se puede ce a sesión. Comen a ios NA Ac o es Usua io egis ado, Admin Tabla 3. Logou Requisi o Da de baja usua io Iden i icado 1.4 P io idad Media P econdición El admin iene que habe se egis ado y ene una sesión iniciada. Desc ipción El admin puede elimina cuen as de usua io. En ada ID usua io, Nomb e de Usua io Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y hace click en “Elimina Usua io”. 2 El sis ema mues a una pan alla en la que se le pide al usua io que in oduzca el nomb e del usua io que quie e elimina . 3 El usua io in oduce el nomb e del usua io. 4 El sis ema mues a una lis a con los nomb es de usua io que con engan la palab a in oducida an es. 5 El usua io selecciona el usua io que quie e elimina y hace click en “Elimina ”. 6 El sis ema mues a un mensaje p egun ando po la con i mación. 7 El usua io hace click en “Con inua ”. 38 8 El sis ema mues a la pan alla p incipal. Pos condición Se ha eliminado la cuen a de usua io. Excepciones Paso Acción 4 No se ha encon ado ningún usua io. 7 El usua io hace click en “Cancela ”. Comen a ios NA Ac o es Admin Tabla 4. Da de baja usua io Requisi o Modi ica da os de usua io Iden i icado 1.5 P io idad Media P econdición El admin iene que habe se egis ado y ene una sesión iniciada. Desc ipción El admin puede modi ica los da os de o as cuen as de usua io. En ada ID usua io, Nomb e de Usua io, Nomb e, Apellidos, Co eo Elec ónico Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y hace click en “Modi ica Usua io”. 2 El sis ema mues a una pan alla en la que se le pide al usua io que in oduzca el nomb e del usua io que quie e modi ica . 3 El usua io in oduce el nomb e del usua io. 4 El sis ema mues a una lis a con los nomb es de usua io que con engan la palab a in oducida an es. 5 El usua io selecciona el usua io que quie e modi ica y hace click en “Modi ica ”. 6 El sis ema mues a odos los da os del usua io. 7 El usua io modi ica los da os y hace click en “Modi ica ”. 8 El sis ema mues a un mensaje p egun ando po la con i mación. 9 El usua io hace click en “Con inua ”. 39 10 El sis ema mues a los da os del usua io que se ha modi icado. Pos condición Se han modi icado los da os del usua io. Excepciones Paso Acción 4 No se ha encon ado ningún usua io. 9 El usua io hace click en “Cancela ”. 10 No se han podido modi ica los da os del usua io. Comen a ios NA Ac o es Admin Tabla 5. Modi ica da os de usua io 5.2.2 Back es ing es a egia de ading Requisi o Hace el back es ing de un ac i o inancie o conc e o Iden i icado 2.1 P io idad Al a P econdición El sis ema iene que ene da os his ó icos del ac i o inancie o sob e el que se quie e hace el back es ing. Desc ipción Realiza el back es ing de la es a egia de posiciones la gas y co as de máximos y mínimos sob e el ac i o inancie o seleccionado po el usua io. En ada Nomb e del ac i o inancie o, Capi al inicial, Ma co empo al, Tipo de salida Salida Resul ado del back es ing Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y selecciona la opción “Realiza Back es ing” 2 El sis ema mues a una nue a pan alla con odas las opciones de con igu ación necesa ias pa a lle a a cabo el back es ing. 3 El usua io selecciona las opciones de con igu ación con las que hace el back es ing y hace click en el bo ón “Back es ing”. 4 El sis ema mues a los esul ados del back es ing lle ado a cabo. Pos condición NA 40 Excepciones Paso Acción Comen a ios Las opciones de con igu ación pa a lle a a cabo el back es ing que el usua io necesi a selecciona son las siguien es: • Selecciona el ac i o inancie o sob e el que hace el back es ing y el capi al inicial. • Selecciona el ma co empo al de e e encia a u iliza pa a calcula los máximos y los mínimos. • Selecciona el ipo de salida que quie e e ec ua : salida empo al o salida con ailing s op. • En caso de elegi la salida con ailing s op, selecciona el mul iplicado a u iliza . Ac o es Usua io egis ado, Usua io no egis ado Tabla 6. Hace el back es ing de un ac i o inancie o conc e o Requisi o Hace el back es ing de una ca e a de ac i os inancie os Iden i icado 2.2 P io idad Al a P econdición El sis ema debe ene da os his ó icos de los ac i os inancie os que an a compone la ca e a sob e la que se quie e hace el back es ing. Desc ipción Realiza el back es ing de la es a egia de posiciones la gas y co as de máximos y mínimos sob e una ca e a o mada po una se ie de ac i os inancie os seleccionados po el usua io. En ada Nomb es de los ac i os inancie os, Nº de acciones/con a os, Capi al inicial, Ma co empo al, Tipo de salida Salida Resul ado del back es ing Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y selecciona la opción “Realiza Back es ing de una Ca e a” 2 El sis ema mues a una nue a pan alla con odas las opciones de con igu ación necesa ias pa a lle a a cabo el back es ing de una ca e a. 3 El usua io selecciona las opciones de con igu ación con las que hace el back es ing y hace click en el bo ón “Back es ing”. 4 El sis ema mues a los esul ados del back es ing lle ado a cabo. Pos condición NA Excepciones Paso Acción Comen a ios Las opciones de con igu ación pa a lle a a cabo el back es ing que el usua io necesi a selecciona son las siguien es: 47 Requisi o Gua da back es ing Iden i icado 2.9 P io idad Al a P econdición El usua io iene que es a egis ado y habe iniciado sesión. El usua io iene que encon a se en la pan alla que con iene los da os del back es ing ealizado an e io men e y que aho a quie e gua da . Desc ipción Gua da la in o mación de un back es ing ealizado an e io men e con la in ención de pode e lo después. En ada ID del back es ing, Id usua io Salida NA Secuencia no mal Paso Acción 1 El usua io se encuen a en la pan alla que con iene los esul ados del back es ing y hace click en “Gua da ”. 2 El sis ema mues a un mensaje p egun ando al usua io si quie e segui adelan e. 3 El usua io hace click en “Sí”. Pos condición Los da os del back es ing se han gua dado. Excepciones Paso Acción 3 El usua io hace click en “No”. Comen a ios Ac o es Usua io egis ado Tabla 14. Gua da Back es ing Requisi o Ve in o mación de un back es ing Iden i icado 2.10 P io idad Al a P econdición El back es ing debe exis i . Desc ipción El usua io pod á e la in o mación ela i a a un back es ing publicado po o o usua io. En ada ID del back es ing Salida In o mación del back es ing Paso Acción 48 Secuencia no mal 1 El usua io accede a una lis a de back es ings. 2 El usua io selecciona un back es ing. 3 El sis ema mues a la in o mación del back es ing. Pos condición NA Excepciones Paso Acción Comen a ios NA Ac o es Usua io egis ado, Usua io no egis ado Tabla 15. Ve in o mación de un back es ing Requisi o Realiza Análisis Desc ip i o del Back es ing Iden i icado 2.11 P io idad Baja P econdición El usua io iene que es a egis ado y iene que exis i el back es ing sob e el que se quie e ealiza el análisis desc ip i o. Desc ipción Se puede mos a más in o mación de ca ác e es adís ico ace ca del back es ing ealizado p e iamen e po el usua io. En ada ID back es ing Salida Da os de ca ác e es adís ico Secuencia no mal Paso Acción 1 El usua io accede a una lis a de back es ings. 2 El usua io selecciona un back es ing. 3 El sis ema mues a la in o mación del back es ing. 4 El usua io selecciona la opción “Análisis Desc ip i o”. 5 El sis ema mues a los esul ados del análisis desc ip i o. Pos condición NA Excepciones Paso Acción Comen a ios NA Ac o es Usua io egis ado Tabla 16. Realiza Análisis Desc ip i o del Back es ing 49 5.2.3 Ca e as de ac i os inancie os de los usua ios Requisi o C ea ca e a de ac i os inancie os Iden i icado 3.1 P io idad Media P econdición El usua io ha de es a egis ado y con la sesión iniciada. Desc ipción Se puede con igu a una ca e a de ac i os inancie os pa a obse a cómo e oluciona el endimien o p oducido po ella en el iempo. En ada Nomb es de los ac i os inancie os, Nº de acciones/con a os, ID usua io Salida Ca e a de ac i os inancie os y endimien o Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y selecciona la opción “C ea ca e a” 2 El sis ema mues a una pan alla en la que se le pide al usua io in oduci los ac i os inancie os que an a compone la ca e a. 3 El usua io in oduce el nomb e de los ac i os inancie os y el núme o de acciones/con a os de cada uno de ellos. 4 El usua io hace click en el bo ón “C ea ”. Pos condición NA Excepciones Paso Acción 4 Se mues a un mensaje de e o en caso de que se haya in oducido un nomb e que no exis e o un alo nega i o. Comen a ios NA Ac o es Usua io egis ado Tabla 17. C ea ca e a de ac i os inancie os Requisi o Modi ica ca e a de ac i os inancie os Iden i icado 3.2 P io idad Media P econdición El usua io ha de es a egis ado y con la sesión iniciada. La ca e a iene que exis i . 50 Desc ipción Un usua io puede modi ica una ca e a suya comp ando o endiendo ac i os inancie os. En ada ID ca e a, Nomb es de los ac i os inancie os, Nº de acciones/con a os, ID usua io Salida Ca e a de ac i os inancie os y endimien o Secuencia no mal Paso Acción 1 El usua io accede a la lis a de sus ca e as. 2 El usua io selecciona una ca e a. 3 El sis ema mues a una pan alla en la que se obse an los da os de la ca e a. 4 El usua io hace click en el bo ón “Modi ica ” 5 El sis ema mues a una pan alla que pe mi e comp a y ende ac i os inancie os. 6 El usua io comp a o ende ac i os inancie os y hace click en “Finaliza ”. 7 El sis ema mues a de nue o una pan alla en la que se obse an los da os de la ca e a. Pos condición NA Excepciones Paso Acción 6 Se mues a un mensaje de e o en caso de que se haya in oducido el nomb e de un ac i o inancie o que no exis e o un núme o nega i o. Comen a ios NA Ac o es Usua io egis ado Tabla 18. Modi ica ca e a de ac i os inancie os Requisi o Finaliza ca e a de ac i os inancie os Iden i icado 3.3 P io idad Media P econdición El usua io ha de es a egis ado y con la sesión iniciada. La ca e a iene que exis i . Desc ipción Un usua io puede elimina una ca e a suya. En ada ID Ca e a, ID usua io Salida NA Paso Acción 51 Secuencia no mal 1 El usua io accede a la lis a de sus ca e as. 2 El usua io selecciona una ca e a. 3 El sis ema mues a una pan alla en la que se obse an los da os de la ca e a. 4 El usua io hace click en el bo ón “Elimina ” 5 El sis ema mues a un mensaje de con i mación. 6 El usua io hace click en “Con inua ”. 7 El sis ema uel e a la lis a de las ca e as. Pos condición La ca e a eliminada ya no exis e. Excepciones Paso Acción 6 El usua io hace click en “Cancela ”. Comen a ios NA Ac o es Usua io egis ado Tabla 19. Finaliza ca e a de ac i os inancie os Requisi o Compa i ca e a de ac i os inancie os Iden i icado 3.4 P io idad Media P econdición El usua io ha de es a egis ado y con la sesión iniciada. La ca e a iene que exis i . Desc ipción Un usua io puede compa i una ca e a suya pa a que el es o de usua ios pueda e la. En ada ID ca e a, ID usua io Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la lis a de sus ca e as. 2 El usua io selecciona una ca e a. 3 El sis ema mues a una pan alla en la que se obse an los da os de la ca e a. 4 El usua io hace click en el bo ón “Compa i ” 5 El sis ema mues a un mensaje de con i mación. 52 6 El usua io hace click en “Con inua ”. 7 El sis ema uel e a mos a los da os de la ca e a. Pos condición La ca e a es isible po el es o de los usua ios. Excepciones Paso Acción 6 El usua io hace click en “Cancela ”. Comen a ios NA Ac o es Usua io egis ado Tabla 20. Compa i ca e a de ac i os inancie os Requisi o Busca ca e a de ac i os inancie os Iden i icado 3.5 P io idad Media P econdición NA Desc ipción Los usua ios pueden busca las ca e as compa idas po o os usua ios po el nomb e de alguno de los ac i os inancie os que componen dicha ca e a. En ada Nomb e del ac i o inancie o Salida Lis a de ca e as Secuencia no mal Paso Acción 1 El usua io se encuen a en la pan alla p incipal, hace click en la ba a de búsqueda e in oduce el nomb e del ac i o inancie o. 2 El sis ema mues a los esul ados de la búsqueda. Pos condición NA Excepciones Paso Acción Comen a ios NA Ac o es Usua io egis ado, Usua io no egis ado Tabla 21. Busca ca e a de ac i os inancie os 53 Requisi o Ve in o mación de ca e a de ac i os inancie os Iden i icado 3.6 P io idad Media P econdición La ca e a debe exis i . Desc ipción Se pod án e los de alles que componen una ca e a, en conc e o, los ac i os inancie os que la componen y el esul ado a ojado po es a. En ada ID ca e a Salida Nomb es de los ac i os inancie os, Nº de acciones/con a os, Capi al, Rendimien o Secuencia no mal Paso Acción 1 El usua io accede a una lis a de ca e as. 2 El usua io selecciona una ca e a. 3 El sis ema mues a la in o mación de la ca e a. Pos condición NA Excepciones Paso Acción Comen a ios NA Ac o es Usua io egis ado, Usua io no egis ado Tabla 22. Ve in o mación de una ca e a de ac i os inancie os 5.2.4 O os se icios de ading Requisi o Realiza back es ing de o ma manual Iden i icado 4.1 P io idad Baja P econdición NA Desc ipción El usua io puede in oduci de o ma manual las ganancias y las pé didas que ob iene siguiendo una de e minada es a egia y, así, obse a el endimien o ob enido con esa es a egia. En ada Capi al inicial, Ganancias, Pé didas Salida Rendimien o ob enido 54 Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y selecciona la opción “Realiza back es ing de o ma manual” 2 El sis ema mues a una pan alla con las opciones necesa ias pa a ealiza el back es ing de o ma manual. 3 El usua io in oduce el capi al inicial. 4 El usua io in oduce la can idad de cada ganancia y la can idad de cada pé dida y hace click en el bo ón co espondien e pa a añadi una ganancia o una pé dida. Y así pa a cada ganancia y pé dida ealizada. 5 El sis ema mues a los esul ados y una g á ica ac ualizada con el endimien o ealizado. Pos condición El endimien o mos ado po pan alla es el co ec o después de aplica las ganancias y pé didas ealizadas po el usua io. Excepciones Paso Acción 3 Si el usua io in oduce un alo nega i o, se mues a un mensaje de e o . 4 Si el usua io in oduce un alo nega i o an o en la ganancia como en la pé dida, se mues a un mensaje de e o . Comen a ios Hay un bo ón e de pa a añadi una ganancia y un bo ón ojo pa a añadi una pé dida. Ac o es Usua io egis ado, Usua io no egis ado Tabla 23. Realiza back es ing de o ma manual Requisi o Esc ibi dia io de ading Iden i icado 4.2 P io idad Baja P econdición El usua io iene que es a egis ado y habe iniciado sesión. Desc ipción Los usua ios pueden esc ibi como si de un dia io se a a a sus pensamien os y sus e lexiones ace ca de sus ope aciones en bolsa y, ambién, los back es ing ealizados. En ada ID usua io, Tex o del dia io Salida NA Secuencia no mal Paso Acción 1 El usua io accede a la aplicación, se le mues a la pan alla p incipal y selecciona la opción “Dia io de T ading” 55 2 El sis ema mues a un calenda io. 3 El usua io selecciona el día del calenda io sob e el que quie e esc ibi . 4 El sis ema pe mi e al usua io in oduci ex o. 5 El usua io in oduce ex o y hace click en “Finaliza ”. 6 El sis ema uel e al calenda io. Pos condición El calenda io con iene el ex o in oducido po el usua io en el día seleccionado po es e. Excepciones Paso Acción Comen a ios NA Ac o es Usua io egis ado Tabla 24. Esc ibi dia io de ading 5.2.5 Adminis a da os Requisi o Subi da os his ó icos Iden i icado 5.1 P io idad Baja P econdición El admin iene que habe iniciado sesión como al. Desc ipción Se pueden subi da os sob e ac i os inancie os a la base de da os del sis ema. En ada Da os que se quie en añadi . Salida Da os ecién añadidos. Secuencia no mal Paso Acción 1 El usua io se encuen a en la pan alla p incipal y selecciona la opción “Adminis a Da os”. 2 El sis ema mues a una pan alla en la que se obse an dos opciones a elegi po el usua io: “Subi Da os” y “Elimina Da os”. 3 El usua io hace click en “Elimina Da os”. 56 4 El sis ema mues a una pan alla que pide in oduci los da os a añadi . 5 El usua io in oduce los da os. 6 El usua io hace click en “Añadi ”. 7 El sis ema mues a un mensaje p egun ando po la con i mación. 8 El usua io hace click en “Con inua ”. 9 El sis ema mues a po pan alla los da os ecién añadidos. Pos condición Los da os han sido añadidos al sis ema. Excepciones Paso Acción 8 El usua io hace click en “Cancela ”. 9 No se pueden añadi los da os. Comen a ios Se i á de allando cuáles son los ipos de da os que se a a pode subi con o me se a diseñando la aplicación con mayo p o undidad. Ac o es Admin Tabla 25. Subi da os his ó icos Requisi o Elimina da os his ó icos Iden i icado 5.2 P io idad Baja P econdición Tienen que exis i los da os que se quie en elimina y el admin iene que habe iniciado sesión como al. Desc ipción Se pueden elimina da os de ac i os inancie os de la base de da os del sis ema. En ada ID de los da os que se quie en elimina . Salida NA Secuencia no mal Paso Acción 1 El usua io se encuen a en la pan alla p incipal y selecciona la opción “Adminis a Da os”. 2 El sis ema mues a una pan alla en la que se obse an dos opciones a elegi po el usua io: “Subi Da os” y “Elimina Da os”. 3 El usua io hace click en “Elimina Da os”. 4 El sis ema mues a una pan alla que pide in oduci los da os a elimina . 63 Capí ulo 7 - Modelo de da os En es e capí ulo se explica el modelo de da os que se ha de inido pa a ealiza la pe sis encia de la in o mación ges ionada po la aplicación web. 7.1 Modelo En idad-Relación Pa a el diseño de la base de da os del sis ema, se ha desc i o un modelo en idad- elación que e leje las en idades de in o mación que necesi an se ges ionadas po la aplicación. Los da os que gua da el sis ema pueden se de dos ipos dis in os: da os de los ac i os inancie os y da os del usua io o gene ados po el usua io. Los da os de los ac i os inancie os son ambién de dos ipos. En p ime luga , es án los da os e e en es a las especi icaciones de los con a os de los ac i os inancie os. Aquí es a ían, po ejemplo, el nomb e del ac i o, el me cado en el que co iza el ac i o inancie o en cues ión o la moneda en la que es á denominado dicho con a o. Po o o lado, es a ían los da os his ó icos de los p ecios dia ios de los ac i os inancie os. Es os da os incluyen la echa, el p ecio de ape u a, el p ecio de cie e, el máximo del día, el mínimo del día, el p ecio de cie e ajus ado y el olumen. En cuan o a los da os del usua io o gene ados po el usua io, en p ime luga , es a ían los que hacen e e encia a las cuen as de usua io. Pa a con igu a una cuen a de usua io, es necesa io ene un nomb e de usua io, un nomb e comple o, una con aseña y un ol (“Adminis ado ” o “Usua io”). Los da os gene ados po el usua io pueden se de cua o ipos dis in os (en unción de la uncionalidad a la que es én asociados): “back es ing”, ges ión de ca e as, “back es ing” manual y dia io de ading. Pa a la ejecución de un “back es ing”, es necesa io almacena el usua io que ejecu a dicho “back es ing”, el nomb e que es e usua io le pone, la in o mación de la ca e a que se ha con igu ado pa a la ejecución de es e, las echas de inicio y de in, si el usua io lo ha gua dado o no, si el usua io lo ha hecho público o no, la pa ame ización de la es a egia a es ea y los ac i os inancie os sob e los que co e el “back es ing”. El usua io, la pa ame ización de la es a egia y los ac i os inancie os sob e los que co e el “back es ing” an a con o ma en idades independien es y el es o de los a ibu os mencionados an a pe enece a la en idad “Back es ing”. La ges ión de ca e as gene a igualmen e una se ie de da os a ene en cuen a. En p ime luga , se gene an los da os de la con igu ación de la ca e a. Los a ibu os de la en idad 64 “Ca e a” son la echa de inicio y de in, el capi al, la moneda en la que es á denominada la ca e a y si el usua io la ha compa ido o no. En segundo luga , la ges ión de ca e as ambién incluye ansacciones y posiciones. Po lo an o, ambién ienen que exis i dichas en idades. Pa a cada “back es ing” manual que un usua io c ea y ejecu a, se necesi a conoce el usua io que lo ha c eado, el nomb e que le ha pues o, la con igu ación de la ca e a de es e y si el usua io lo ha gua dado o no pa a su pos e io ecupe ación. Además, cada “back es ing” manual es á compues o po una se ie de ope aciones añadidas a a és de la aplicación po el usua io. Es as úl imas an a con o ma igualmen e una en idad. Finalmen e, el sis ema ambién gua da los da os gene ados po el usua io en la uncionalidad “Dia io de ading”. Los a ibu os de la en idad “Dia io de ading” an a se el usua io, la echa de c eación del ex o, la echa a la que hace e e encia el ex o y el ex o mismo. La Ilus ación 20 con iene el diag ama En idad-Relación e e ido al modelo que se acaba de desc ibi . 65 Ilus ación 20. Diag ama En idad-Relación 66 7.2 Implemen ación de la base de da os La implemen ación del modelo E-R desc i o en el an e io apa ado se ha hecho a a és de una base elacional de ipo MySQL. Ilus ación 21. Implemen ación de la base de da os 67 A con inuación, se desc iben cada una de las ablas de la base de da os. 7.2.1 Tablas sob e las cuen as de usua io • Tabla “use s”: incluye la in o mación necesa ia que ha de ene oda cuen a de usua io c eada en la aplicación web. Es os son sus campos de in o mación: o “id”: iden i icado del usua io. o “use _name”: nomb e de usua io. o “use _ ull_name”: nomb e y apellidos del usua io. o “passwo d”: con aseña de la cuen a. o “ ole”: ol que iene el usua io. Puede se “Admin” (Adminis ado ) o “Use ” (Usua io egis ado co ien e). 7.2.2 Tablas sob e “Back es ing” • Tabla “back es ing”: incluye odos los da os que se necesi an pa a la ejecución de un “back es ing”. Es os son sus campos de in o mación: o “id”: iden i icado del “back es ing”. o “use _id”: iden i icado del usua io al que pe enece el “back es ing”. o “name”: nomb e que le ha pues o el usua io al “back es ing”. o “s a egy_id”: iden i icado de la es a egia del “back es ing”. o “s a ing_cash”: capi al inicial de la ca e a sob e la que se ejecu a el “back es ing”. o “cu ency”: moneda en la que es án denominados los da os del campo “s a ing_cash”. o “s a _d ”: echa de inicio del “back es ing”. o “end_d ”: echa de in del “back es ing”. o “sha ed”: si el usua io ha compa ido el “back es ing” o no. o “sa ed”: si el usua io ha gua dado el “back es ing” o no. • Tabla “s a egy_ ype”: abla que elaciona la es a egia del “back es ing” ( abla an e io ) con el ipo de es a egia que es es a. Es os son sus campos de in o mación: o “id”: iden i icado de la es a egia (“s a egy_id” en abla “back es ing”). 68 o “s a egy_ ype”: ipo de la es a egia. • Tabla “s a egy_buy_sho _max_min”: incluye la pa ame ización de la es a egia implemen ada en es a aplicación web ( eco da que la es a egia aquí implemen ada es una es a egia global que se puede di idi en cua o ipos de sub-es a egias más conc e as: comp a en máximos, ende en máximos, comp a en mínimos y ende en mínimos). Es os son sus campos de in o mación: o “id”: iden i icado de la es a egia. o “s a egy”: nomb e de la sub-es a egia. Puede se “buymax” (comp a en máximos), “sho max” ( ende en máximos), “buymin” (comp a en mínimos) y “sho min” ( ende en mínimos). o “ ime_ ame”: núme o de días sob e los que calcula el máximo o el mínimo de la es a egia. o “exi _ ade”: ipo de salida de la es a egia. Puede se “exi _ ime” (salida po iempo) o “ ailing_s op” (salida cuando se ejecu a un s op). o “exi _con igu a ion”: pa áme o del ipo de salida. Su signi icado depende del alo de “exi _ ade”. • Tabla “back es ing_asse s”: abla que gua da cuál es la lis a de ac i os inancie os sob e los que se ejecu a un “back es ing”. Es os son sus campos de in o mación: o “id”: iden i icado de la ila. o “back es ing_id”: iden i icado del “back es ing”. o “asse _id”: iden i icado del ac i o inancie o. o “asse _class”: clase del ac i o inancie o. Puede se “S ock” (el ac i o inancie o es en onces una acción) o “Fu u e” (el ac i o inancie o es en onces un u u o). 7.2.3 Tablas sob e ges ión de ca e as • Tabla “po olios”: incluye la in o mación de con igu ación de cada ca e a inancie a c eada po un usua io. Es os son sus campos de in o mación: o “id”: iden i icado de la ca e a inancie a. o “name”: nomb e pues o po el usua io p opie a io. o “use _id”: iden i icado del usua io p opie a io. 69 o “s a _d ”: echa de c eación de la ca e a. o “end_d ”: echa de eliminación/ in de la ca e a. o “s a ing_cash”: capi al inicial de la ca e a. o “cu en _cash”: capi al ac ual de la ca e a. o “cu ency”: moneda en la que es á denominada la ca e a. o “sha ed”: si el usua io ha compa ido la ca e a o no. • Tabla “posi ions”: con iene la in o mación de cada posición exis en e. Es os son sus campos de in o mación: o “id”: iden i icado de la posición. o “use _id”: iden i icado del usua io. o “asse ”: icke del ac i o inancie o de la posición. o “cu en _p ice”: úl imo p ecio del ac i o inancie o. o “cu en _d ”: echa del úl imo p ecio del ac i o inancie o. o “buy_quan i y”: núme o de con a os comp ados. o “sell_quan i y”: núme o de con a os endidos. o “a g_bough ”: p ecio medio de comp a de los con a os. o “a g_sold”: p ecio medio de en a de los con a os. o “buy_commission”: can idad en comisiones pagadas en ope aciones de comp a. o “sell_commission”: can idad en comisiones pagadas en ope aciones de en a. • Tabla “posi ion_po olio”: abla que elaciona cada posición de la abla “posi ions” con su co espondien e ca e a inancie a de la abla “po olio”. Es os son sus campos de in o mación: o “id”: iden i icado de la ila. o “po olio_id”: iden i icado de la ca e a inancie a. o “posi ion_id”: iden i icado de la posición. • Tabla “ ansac ions”: incluye oda la in o mación de odas las ope aciones de comp a y de en a e ec uada du an e la ges ión de ca e as. o “id”: iden i icado de la ansacción. 70 o “use _id”: iden i icado del usua io que ha ealizado dicha ansacción. o “asse ”: icke del ac i o inancie o sob e el que se ha ealizado la ansacción. o “quan i y”: can idad de con a os comp ados o endidos en la ansacción. o “p ice”: p ecio del ac i o inancie o al que se ha comple ado la ansacción. o “d ”: echa de la ansacción. o “commission”: comisión de la ansacción. o “posi ion_id”: iden i icado de la posición al que es á asociada la ansacción. 7.2.4 Tablas sob e o os se icios de ading • Tabla “back es ing_manual”: incluye la in o mación de los “back es ing” manuales c eados y ejecu ados po los usua ios. Es os son sus campos de in o mación: o “id”: iden i icado del “back es ing” manual. o “name”: nomb e pues o po el usua io p opie a io. o “use _id”: iden i icado del usua io p opie a io. o “s a ing_cash”: capi al inicial de la ca e a del “back es ing” manual. o “cu ency”: moneda en la que es án denominados los da os del campo de in o mación “s a ing_cash”. o “sa ed”: si el usua io lo ha gua dado o no pa a su pos e io ecupe ación. • Tabla “back es ing_manual_ope a ions”: incluye las ope aciones que ha añadido cada usua io du an e la ejecución del “back es ing” manual. Es os son sus campos de in o mación: o “id”: iden i icado de la ope ación. o “back es ing_manual_id”: iden i icado del “back es ing” manual. o “quan i y”: bene icio o pé dida de la ope ación. o “da e”: echa de la ope ación. • Tabla “jou nal”: incluye oda la in o mación del dia io de ading de cada usua io. Es os son sus campos de in o mación: o “id”: iden i icado del comen a io. o “use _id”: iden i icado del usua io que ha ealizado el comen a io. 71 o “c ea e_d ”: echa en la que el usua io ha ealizado el comen a io. o “da e”: echa a la que hace e e encia el comen a io. o “ ex ”: ex o del comen a io. 7.2.5 Tablas sob e adminis a da os • Tabla “asse _class”: con iene odos los ac i os inancie os del sis ema sean de la clase que sean. Es os son sus campos de in o mación: o “id”: iden i icado del ac i o inancie o. o “asse _class”: clase del ac i e inancie o. Puede se “S ock” (el ac i o inancie o es en onces una acción) o “Fu u e” (el ac i o inancie o es en onces un u u o). • Tabla “s ocks”: incluye los da os de las especi icaciones de los con a os de las acciones. Es os son sus campos de in o mación: o “id”: iden i icado del ac i o inancie o. o “ icke ”: icke del ac i o inancie o. o “company_name”: nomb e de la compañía. o “ma ke ”: me cado en el que co iza la acción. o “cu ency”: moneda en la que es á denominada la acción. o “me ic”: alo de la mé ica que se u iliza en la uncionalidad “Back es ing” po g upos. • Tabla “s ock_p ices”: incluye los da os dia ios de los p ecios de las acciones. Es os son sus campos de in o mación: o “id”: iden i icado de la ila. o “s ock_id”: iden i icado del ac i o inancie o. o “da e”: echa del da o. o “open”: p ecio de ape u a del día. o “high”: máximo p ecio del día. o “low”: mínimo p ecio del día. o “close”: p ecio de cie e del día. 72 o “adjus ed_close”: p ecio de cie e del día ajus ado. o “ olumen”: olumen de ope aciones ealizadas en el día. • Tabla “ u u es”: incluye los da os de las especi icaciones de los con a os de los u u os. Es os son sus campos de in o mación: o “id”: iden i icado del ac i o inancie o. o “ icke ”: icke del ac i o inancie o. o “ u u es_name”: nomb e del con a o. o “cu ency”: moneda en la que es á denominado el u u o. • Tabla “ u u es_p ices”: incluye los da os dia ios de los p ecios de los u u os. Es os son sus campos de in o mación: o “id”: iden i icado de la ila. o “ u u es_id”: iden i icado del ac i o inancie o. o “da e”: echa del da o. o “open”: p ecio de ape u a del día. o “high”: máximo p ecio del día. o “low”: mínimo p ecio del día. o “close”: p ecio de cie e del día. o “adjus ed_close”: p ecio de cie e del día ajus ado. o “ olumen”: olumen de ope aciones ealizadas en el día. 79 Ilus ación 28. Clase His o icDBDa ahandle El mé odo siguien e, “upda e_ba s” (de la clase “His o icDa aDBHandle ”), es el enca gado de gene a los e en os de me cado y pa a ello, ejecu a el mé odo “_ge _new_ba ” (de la clase “His o icDa aDBHandle ”). Es a a és de la ejecución e in e acción de es os dos mé odos como se consigue e i a el sesgo de an icipación. La Ilus ación 29 incluye la de inición del mé odo “_ge _new_ba ()” y la Ilus ación 30 del mé odo “upda e_ba ”. 80 Ilus ación 29. Mé odo _ge _new_ba () Ilus ación 30. Mé odo upda e_ba s() Es a egia [25]: Es e componen e con iene la lógica de la es a egia de ading a implemen a y, po lo an o, es el enca gado de gene a las señales de comp a y de en a (“SignalE en ”). Como se ha comen ado al inicio de la memo ia, es a aplicación web ha a ado de implemen a una es a egia de ading que se podía di idi concep ualmen e en cua o sub- es a egias. Po lo an o, se ha c eado una clase po cada una de las sub-es a egias a implemen a . En la Ilus ación 31 se obse a el código del cons uc o de la clase “BuyMaxS a egy” (clase e e en e a la sub-es a egia basada en la comp a en máximos): 81 Ilus ación 31. Clase BuyMaxS a egy El siguien e mé odo, “calcula e_signals” (de la clase “BuyMaxS a egy”), en la Ilus ación 32, se ejecu a cada ez que el algo i mo ecibe un e en o de me cado y su lógica consis e en a a de de e mina las señales de comp a y de en a gene adas po las eglas de la es a egia de ading. Es a es a egia consis e en la comp a en los máximos del p ecio. Po lo an o, es a es a egia gene a una señal de comp a cuando el máximo del día e aluado pa a un ac i o inancie o supe a al máximo de un pe íodo empo al dado po el usua io. Es a es la condición “i ba s[0][3] > sel .maximum[ ]”. “ba s[0][3]” con iene el alo del máximo del ac i o inancie o en el día e aluado y “sel .maximum[ ]” con iene el máximo del ac i o inancie o en el pe íodo empo al p e io. En cuan o a las señales de salida, es as dependen del ipo de salida elegido po el usua io. Cuando se haya elegido una salida empo al, se e alúa si han anscu ido o no el núme o de días elegidos po el usua io. Es a es la condición “i sel .days_s a egy[ ] == in (sel .exi _con igu a ion * 0.5 * sel . ime_ ame)”. “sel .days_s a egy[ ]” con iene el alo del núme o de días que han anscu ido desde que se comp ó dicho ac i o inancie o y “sel .exi _con igu a ion * 0.5 * sel . ime_ ame” es el núme o de días elegido po el usua io (sel .exi _con igu a ion puede se “1”, “2” o “3”). Po o o lado, si el usua io ha elegido una salida basada en un ailing s op, en onces se e alúa si el mínimo del p ecio del ac i o inancie o en el día e aluado es meno o igual al p ecio de e minado po el ailing s op. Es a es la condición “i ba s[0][4] <= sel . ailing_s op[ ]. “ba s[0][4]” con iene el alo del mínimo del ac i o inancie o en el día e aluado y “sel . ailing_s op[ ]” con iene el alo del ailing s op del ac i o en cues ión. 82 Ilus ación 32. Mé odo calcula e_signals() Ca e a [26]: Es e componen e es el enca gado de ecibi las señales de ading (“SignalE en ”) y gene a ó denes en consecuencia (“O de E en ”). Es en es e componen e donde cab ía codi ica la ges ión del iesgo. Además, una ez gene adas las ó denes de comp a o de en a, es e componen e ecibe e en os del ipo “FillE en ” y ac ualiza las posiciones man enidas en la ca e a de acue do. La implemen ación de es e componen e se ha ealizado a a és de la clase “Po olioBack es ing”. Es a clase lle a un seguimien o de odas las posiciones y de la e olución de es as du an e odo el “back es ing”. La Ilus ación 33 con iene un ex ac o de código con la de inición de es a clase. 83 Ilus ación 33. Clase Po olioBack es ing Pa a la gene ación de las ó denes una ez ob enida la señal de comp a o en a, se asigna el capi al de la ca e a de o ma equi a i a en e odos los ac i os inancie os al como se puede obse a en la Ilus ación 34. Ilus ación 34. Mé odo gene a e_o de () 84 Ejecu o de Ó denes [27]: Es e componen e ecibe ó denes (“O de E en ”) y simula una conexión a un b óke . Si se ealiza a la implemen ación de la ejecución de una es a egia en i o y en eal, en onces es e componen e se ía el enca gado de conec a se al b óke pa a ealiza las ansacciones. Ilus ación 35. Clase Simula edExecu ionHandle Po úl imo, odos es os componen es o man pa e de la clase “Back es ing”. Es a clase con iene un mé odo, “execu e_back es ing”, que se enca ga de ejecu a el algo i mo que ecibe y ges iona los e en os en bucle [22]. En la Ilus ación 36 se puede obse a la lógica de dicho algo i mo. Ilus ación 36. Algo i mo del back es ing 85 Una ez ejecu ado el “back es ing”, el usua io ya puede e los esul ados a ojados po es e. Además, el usua io ambién iene la opción de e , pa a cada uno de los ac i os inancie os incluidos en el “back es ing”, las co espondien es señales de en ada y de en a gene adas po la es a egia. La Ilus ación 37 con iene un ejemplo de es e ipo de g á ico. Pa a la gene ación de es e, además, se ha hecho uso de la lib e ía mpld3. Es a ha pe mi ido la gene ación del código HTML necesa io pa a la c eación de g á icos in e ac i os. Es o esul a muy con enien e, pues en unción del pe íodo empo al escogido, puede llega a se necesa io hace zoom en el g á ico pa a obse a con mayo cla idad los momen os exac os de comp a y de en a del ac i o en cues ión. Ilus ación 37. G á ico con las señales de ading La uncionalidad del “back es ing” po g upos a a igualmen e de ejecu a el “back es ing” de una es a egia de ading de la misma o ma y siguiendo el mismo diseño que se acaba de comen a . La di e encia eside en que, p e iamen e, se di ide el conjun o de ac i os inancie os en dos g upos en unción de la mé ica seleccionada po el usua io. Es a 86 mé ica puede se la capi alización del me cado o el olumen. De al o ma, que, si el usua io ha elegido la p ime a, se incluyen los ac i os inancie os con baja capi alización de me cado en un conjun o y a los que iene una capi alización de me cado g ande se les incluye en el o o conjun o. Y se sigue la misma lógica en el caso de que el usua io hubie a elegido el olumen como mé ica. Una ez sepa ados los ac i os inancie os en dos g upos, se c ea y ejecu a un “back es ing” po cada uno de los dos conjun os exis en es. 8.2.3 Funcionalidad de la ges ión de ca e as La Ilus ación 38 incluye la is a de la p incipal uncionalidad de la ges ión de ca e as. Ilus ación 38. Vis a ges ión de ca e as La p incipal uncionalidad de la ges ión de ca e as es la c eación y man enimien o en el iempo de ca e as inancie as. La es uc u a que se ha seguido pa a la implemen ación de es a uncionalidad conc e a es á compues a po los siguien es componen es: 87 • T ansacción: Una ansacción es una ope ación de comp a o de en a de un ac i o inancie o, a un p ecio de e minado y en una echa conc e a. • Posición: Una posición hace e e encia al núme o de con a os que man iene un usua io sob e un ac i o inancie o conc e o. Cuando un usua io no ha comp ado ni endido un ac i o inancie o, se dice que ese usua io no man iene ninguna posición en dicho ac i o. Aho a, si ese mismo usua io ealiza po p ime a ez una ansacción sob e ese ac i o inancie o, en onces se c ea una posición en dicho ac i o inancie o. De la misma o ma, si el usua io ejecu a una nue a ansacción que le hace ol e a ene ce o con a os de dicho ac i o, en onces se elimina dicha posición. • Ca e a: Una ca e a inancie a es á compues a po un conjun o de posiciones en a ios ac i os inancie os. De al o ma, que los esul ados de la ca e a se án consecuencia de los esul ados que a ojen odas sus posiciones a ni el indi idual. Una ez de inida la es uc u a a ni el concep ual, y siguiendo las indicaciones encon adas en la se ie de a ículos de Quan S a dedicados a la ges ión de ca e as con Py hon [28], se de inen las siguien es clases pa a su implemen ación: “T ansac ion”: Clase enca gada de engloba la lógica en lo que espec a a las ansacciones. La ansacción se ejecu a al úl imo p ecio del ac i o inancie o en cues ión. Pa a ello, se ejecu a el mé odo “ge _las _quo e”, que ob iene dicho p ecio a a és de écnicas de web sc aping y el uso de la lib e ía “pandas_da a eade ”. La Ilus ación 39 incluye un ex ac o del código pa a la de inición de la clase “T ansac ion” y la Ilus ación 40 indica cómo se ha hecho pa a c ea una ansacción. Ilus ación 39. Clase T ansac ion 88 Ilus ación 40. Código pa a c ea una ansacción “Posi ion” [28]: Clase enca gada de engloba la lógica en lo que espec a a una posición. La Ilus ación 41, la Ilus ación 42 y la Ilus ación 43 con ienen mé odos muy impo an es de es a clase. Ilus ación 41. Código pa a ab i una posición 95 Ilus ación 53. Vis a Back es ing Manual El g á ico ep esen a la e olución del capi al de la ca e a as cada bene icio o pé dida añadidos y se ha hecho uso de la lib e ía ma plo lib pa a su c eación. Además, con iene comen a que, una ez comple ada con éxi o la pe ición Ajax, es necesa io cambia la u l asociada al g á ico pa a que es e se ac ualice en el momen o. Pa a ello, ha habido que asocia un imes amp a dicha u l, pues e esca únicamen e la u l sin cambia el imes amp asociado no pe mi ía ac ualiza el g á ico en i o. La Ilus ación 54 con iene el código u ilizado pa a la ges ión de la pe ición Ajax. 96 Ilus ación 54. Código pa a la ejecución de pe iciones AJAX El o o se icio de ading implemen ado ha sido el dia io de ading. Si el usua io no ha esc i o ningún comen a io en su dia io, en el dashboa d apa ece á como al. De odas o mas, siemp e que es e quie a puede c ea un nue o comen a io accediendo al o mula io co espondien e desde el panel cen al. En la Ilus ación 55 se puede obse a un ejemplo de es a uncionalidad. Ilus ación 55. Vis a Dia io de T ading 97 8.2.5 Funcionalidad de la adminis ación de los da os his ó icos El adminis ado del sis ema puede subi da os his ó icos de los p ecios de los ac i os inancie os a la base de da os. Pa a la ob ención de es os da os, se han u ilizado écnicas de web sc aping. El adminis ado an sólo iene que comple a un o mula io indicando los da os que quie e subi al sis ema. Una ez en iado, el sis ema ob iene los da os de los p ecios de las acciones de Yahoo! Finance. Pa a ello, se hace uso del mé odo “ ead_cs ” de la lib e ía pandas al como se puede obse a en la Ilus ación 56. A es e mé odo hay que pasa como pa áme o la u l de Yahoo! Finance que pe mi a la desca ga de un a chi o “cs ”. Es e a chi o con iene los da os con los p ecios de las acciones que el adminis ado quie e subi al sis ema. Finalmen e, en caso de in oduci una u l inco ec a, ya sea po el en ío de un o mula io con da os e óneos po pa e del adminis ado o po cualquie o o mo i o, el sis ema no pe mi e la ealización de la a ea e in o ma al usua io de la imposibilidad de comple a es a con éxi o. Ilus ación 56. Código pa a la ob ención de da os de Yahoo! Finance Además, el sis ema de ec a si los da os que el adminis ado quie e subi ya exis en o no, y solo ealiza la inse ción en la base de da os de aquellos que no exis an. 98 Capí ulo 9 - Conclusiones y abajo u u o 9.1 Conclusiones En es e p oyec o, se ha ealizado el desa ollo de una aplicación web que pe mi e la ejecución del “back es ing” de una es a egia basada en la comp a o en a en máximos o mínimos del p ecio de un ac i o inancie o. La implemen ación de es a uncionalidad se ha hecho siguiendo un diseño guiado po e en os. Ello hace que el usua io de la aplicación pueda co e su “back es ing” con las ga an ías su icien es y sin cae en el sesgo de an icipación. Además, su implemen ación pe mi e una g an escalabilidad en é minos del núme o de es a egias de ading que se pueden añadi al sis ema. Tan sólo ha ía al a c ea una nue a clase con el nomb e de la es a egia que se quie e añadi e implemen a el mé odo enca gado de gene a las señales de es a. El obje i o p incipal de es a aplicación e a el desa ollo del “back es ing”, sin emba go se han implemen ado o as uncionalidades que pe mi en al usua io ealiza un seguimien o de su ope a i a como ade . Es as son la ges ión de ca e as, el “back es ing” manual, el dia io de ading y la adminis ación de los da os his ó icos. Po lo an o, la aplicación web aquí desa ollada con o ma un conjun o de he amien as muy ú iles pa a in e i en los me cados inancie os. 9.2 T abajo u u o La aplicación puede se mejo ada de di e sas o mas. En es e sen ido, se plan ean las siguien es líneas de abajo u u o: • Añadi más es a egias: El diseño guiado po e en os pe mi e ácilmen e codi ica nue as es a egias y añadi las pa a que el usua io pueda ejecu a las. Añadiendo nue as es a egias al sis ema, se consegui ía inc emen a la iqueza y el alo añadido apo ados po la aplicación. • T ading en i o: El diseño guiado po e en os pe mi e eu iliza g an pa e de su es uc u a pa a el ading en i o. La di icul ado adicional an solo es a ía en la ob ención y ges ión en i o de los da os de los p ecios de los ac i os inancie os. Po lo an o, una uncionalidad an in e esan e como es a pod ía implemen a se con no mucha di icul ad. • E iciencia del back es ing: En unción del pe iodo empo al escogido y el núme o de ac i os inancie os sob e el que co e el “back es ing”, es e puede llega a a da una 99 suma conside able de iempo. La ejecución de es a a ea pod ía e se educida en una can idad no poco impo an e si se ealiza a una implemen ación mul ip oceso o mul ihilo de es a. • Op imización de ca e as: Apa e del mé odo de análisis de a ianza media que se ha u ilizado pa a implemen a la op imización de ca e as, ambién exis en o os mé odos de op imización dis in os (HRP, mCVAR…). La u ilidad de la aplicación inc emen a ía mucho si se pudie an implemen a o os mé odos de op imización y el usua io pudie a elegi cuál quie e u iliza pa a lle a a cabo la a ea. • Añadi más clases de ac i os inancie os: Ac ualmen e, es a aplicación cuen a sólo con la posibilidad de ges iona acciones y u u os. Nue as clases de ac i os, como bonos, c ip omonedas o monedas ( ó ex), pod ían se añadidas al sis ema. Es o da ía luga a una aplicación más amplia y ex ensa. • Aplicación del Ap endizaje Au omá ico: La aplicación de écnicas de Ap endizaje Au omá ico al mundo inancie o es cada ez mayo . Tan o pa a una ges ión adecuada del iesgo como pa a la con igu ación e icien e de una es a egia de ading, es as écnicas pod ían apo a una en aja compe i i a muy impo an e en e al es o de he amien as simila es. 100 Chap e - Conclusions and u u e wo k Conclusions This p ojec has de eloped a web applica ion ha allows he use s o un he back es ing o a ading s a egy based on he buying o selling a he highs o lows o an asse ’s p ice. The back es e has been buil ollowing an E en -D i en sys em. This allows he use o a oid he look- ahead bias when unning he simula ion. I s implemen a ion also allows o a apid scalabili y in e ms o he numbe o ading s a egies han can be added o he sys em. I would only be necessa y o c ea e a new class wi h he name o he s a egy o be added and o implemen he me hod esponsible o gene a ing he ading signals. The main goal o his web applica ion was he de elopmen o he backes ing. Ne e heless, o he unc ionali ies which allow he use o keep ack o his ading ha e also been implemen ed. These a e he unc ionali ies ela ed o po olio managemen , back es ing by hand, he ading jou nal, and he handling o his o ical da a. The e o e, he web applica ion he e de eloped is made up o a se o ools which a e e y use ul o in es ing in inancial ma ke s. Fu u e wo k I is possible o imp o e he applica ion in se e al ways. In ha sense, hese a e he ollowing lines o wo k o ocus in he u u e: • Add mo e s a egies: The E en -D i en sys em makes i e y easy o code new s a egies and add hem o he sys em so ha he use can un hem. By doing his, he applica ion would be o mo e use o a ade and would, he e o e, gain in added alue. • Li e ading: I is also possible o euse mos o he code o he E en -D i e back es e o he implemen a ion o li e ading. I would only be necessa y o handle he eed o li e da a. • Back es ing e iciency: Depending on he pe iod and he numbe o asse s on which o un he back es ing, his could ake a as amoun o ime o be comple ed. The execu ion o his ask could be g ea ly imp o ed i mul ip ocessing o mul i h eading we e included in he de elopmen o such. 101 • Po olio op imiza ion: Apa om he mean a iance analysis me hod ha has been used in he web applica ion o po olio op imiza ion, he e a e o he di e en op imiza ion me hods ha can be used (HRP, mCVAR…). The unc ionali y o he applica ion would be en ichened i he use could choose which me hod he wan s o use o comple e his ask. • Add mo e asse classes: This p ojec has only conside ed he possibili y o in es ing in equi ies and u u es, bu o he asse classes, such as bonds, c yp ocu encies, and cu encies ( o ex), could be added o he sys em. This would c ea e a mo e ample and ho ough applica ion. • Machine Lea ning: The applica ion o Machine Lea ning echniques o inancial ma ke s is g ea ly inc easing in popula i y. These echniques, which could be used o bo h isk managemen and he de elopmen o success ul s a egies, could p o ide he applica ion wi h a compe i i e ad an age o e he es o simila ools in he ma ke . 102 BIBLIOGRAFÍA [1 ] Fideli y, «Fideli y,» [En línea]. A ailable: h ps://www. ideli y.com/lea ning- cen e / ading-in es ing/ echnical-analysis/ echnical-indica o -guide/a . [2 ] Me aT ade 5, «Me aT ade ,» [En línea]. A ailable: h ps://www.me a ade 5.com/es. [3 ] Me aS ock, «Me aS ock,» [En línea]. A ailable: h ps://www.me as ock.com/. [4 ] In e ac i e B oke s, «In e ac i e B oke s,» [En línea]. A ailable: h ps://www.in e ac i eb oke s.co.uk/es/home.php. [5 ] T endSpide , «T endSpide ,» [En línea]. A ailable: h ps:// endspide .com/. [6 ] T adingView, «T adingView,» [En línea]. A ailable: h ps://es. ading iew.com/. [7 ] NinjaT ade , «NinjaT ade ,» [En línea]. A ailable: h ps://ninja ade .com/es/. [8 ] Boo s ap , «Boo s ap 5,» [En línea]. A ailable: h ps://ge boo s ap.com/docs/5.0/ge ing-s a ed/in oduc ion/. [9 ] A. Na a o, «Junco TIC,» 7 Mayo 2019. [En línea]. A ailable: h ps://junco ic.com/jinja2-en- lask-in oduccion/. [1 0] jQue y, «jQue y,» [En línea]. A ailable: h ps://jque y.com/. [1 1] Wikipedia, «Wikipedia,» [En línea]. A ailable: h ps://es.wikipedia.o g/wiki/Py hon. 103 [1 2] J. J. L. Gómez, «j2logo,» [En línea]. A ailable: h ps://j2logo.com/ u o ial- lask- espanol/. [1 3] Wikipedia, «Wikipedia,» [En línea]. A ailable: h ps://es.wikipedia.o g/wiki/MySQL. [1 4] Visual S udio Code, «Visual S udio Code,» [En línea]. A ailable: h ps://code. isuals udio.com/. [1 5] XAMPP, «XAMPP,» [En línea]. A ailable: h ps://www.apache iends.o g/es/index.h ml. [1 6] Wikipedia, «Wikipedia,» [En línea]. A ailable: h ps://es.wikipedia.o g/wiki/Gi . [1 7] CIO Wiki, «Clien e Se e A chi ec u e,» [En línea]. A ailable: h ps://cio- wiki.o g/wiki/Clien _Se e _A chi ec u e#:~: ex =Clien %20Se e %20A chi ec u e%2 0is%20a,a%20ne wo k%20o %20in e ne %20connec ion.. [1 8] PLEDIN 3.0, «Pa ón modelo- is a-con olado ,» [En línea]. A ailable: h ps://pla a o ma.josedomingo.o g/pledin/cu sos/ lask/cu so/u03/. [1 9] Z. Vojko ic, «Flask- amewo k: MVC pa e n,» [En línea]. A ailable: h ps://s acko e low.com/ques ions/12547206/ lask- amewo k-m c-pa e n. [2 0] I. Rod íguez, «The Fac o y Me hod Pa e n and I s Implemen a ion in Py hon,» 11 Feb e o 2019. [En línea]. A ailable: h ps:// ealpy hon.com/ ac o y-me hod-py hon/. [2 1] UX & Boo s ap, «Po al: F ee Boo s ap 5 Admin Dashboa d Templa e Fo De elope s,» [En línea]. A ailable: h ps:// hemes.3 dwa emedia.com/boo s ap- empla es/s a up/po al- ee-boo s ap-admin-dashboa d- empla e- o - de elope s/. [2 2] Quan S a , «E en -D i en Back es ing wi h Py hon - Pa I,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/E en -D i en-Back es ing-wi h-Py hon-Pa -I/. 104 [2 3] Quan S a , «E en -D i en Back es ing wi h Py hon - Pa II,» [En línea]. A ailable: h p://www.quan s a .com/a icles/E en -D i en-Back es ing-wi h-Py hon-Pa -II/. [2 4] Quan S a , «E en -D i en Back es ing wi h Py hon - Pa III,» [En línea]. A ailable: h p://www.quan s a .com/a icles/E en -D i en-Back es ing-wi h-Py hon-Pa -III/. [2 5] Quan S a , «E en -D i en Back es ing wi h Py hon - Pa IV,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/E en -D i en-Back es ing-wi h-Py hon-Pa -IV/. [2 6] Quan S a , «E en -D i en Back es ing wi h Py hon - Pa V,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/E en -D i en-Back es ing-wi h-Py hon-Pa -V/. [2 7] Quan S a , «E en -D i en Back es ing wi h Py hon - Pa VI,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/E en -D i en-Back es ing-wi h-Py hon-Pa -VI/. [2 8] Quan S a , «Ad anced T ading In as uc u e - Posi ion Class,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/Ad anced-T ading-In as uc u e-Posi ion- Class/. [2 9] Quan S a , «Ad anced T ading In as uc u e - Po olio Class,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/Ad anced-T ading-In as uc u e-Po olio- Class/. [3 0] Quan S a , «Ad anced T ading In as uc u e - Po olio Handle Class,» [En línea]. A ailable: h ps://www.quan s a .com/a icles/Ad anced-T ading-In as uc u e- Po olio-Handle -Class/. [3 1] Algo ibes, «Mode n po olio heo y in Py hon: E icien F on ie and minimum- a iance po olio,» 2020. [En línea]. A ailable: h ps://www.you ube.com/wa ch? =mJT Q z 0R4. [3 2] L. A. Bucki, Wo d 2013 Bible, John Wiley & Sons, 2013. [3 3] CFI, «Cu sos de Fo mación en In o má ica,» [En línea]. A ailable: h p://cu sosin o ma ica.ucm.es. [Úl imo acceso: 01 06 2019]. 111 Ilus ación 65. Fo mula io Back es ing Paso 1 En el segundo paso, el usua io ha de in oduci la lis a de icke s de los ac i os inancie os sob e los que quie e co e el “back es ing”. Ilus ación 66. Fo mula io Back es ing Paso 2 En el e ce paso, el usua io ha de elegi las echas en e las que quie e co e el “back es ing”. Si elige unas echas sob e las que no exis an da os pa a los ac i os inancie os escogidos, la aplicación in o ma á al usua io después de que es e haya en iado el o mula io. 112 Ilus ación 67. Fo mula io Back es ing Paso 3 En el paso 4, el usua io elige la sub-es a egia que quie e e alua . Aquí puede elegi las cua o sub-es a egias implemen adas: “Comp a Máximos”, “Vende Máximos”, “Comp a Mínimos” y “Vende Mínimos”. Ilus ación 68. Fo mula io Back es ing Paso 4 Finalmen e, en el úl imo paso el usua io iene que elegi los pa áme os de la sub- es a egia escogida. Aquí, iene que in oduci el ma co empo al y el ipo de salida que quie e implemen a . 113 Ilus ación 69. Fo mula io Back es ing Paso 5 Una ez comple ados odos los campos del o mula io, el usua io ya puede hace click en “Ejecu a ”. En onces, si odos los da os son co ec os, se c ea el “back es ing” y se mues a po pan alla su con igu ación. Pa a ejecu a lo inalmen e, el usua io ha de hace click en el bo ón e de “Ejecu a Back es ing”. Ilus ación 70. Vis a Con igu ación Back es ing 114 Una ez ejecu ado, se mues an los esul ados del “back es ing”. En p ime luga , el sis ema mues a una ale a ace ca de si se ecomienda o no el uso de es a es a egia al como se puede e en la Ilus ación 71. Ilus ación 71. Ale a Resul ado Back es ing Lo siguien e ya son los esul ados es adís icos del “back es ing” ejecu ado. Como se puede obse a en la Ilus ación 72, se mues a el endimien o acumulado, el Ra io de Sha pe (que mide la elación en e endimien o y iesgo), el mayo D awdown (máxima caída) y la du ación de es e D awdown. A es o, además, hay que añadi un g á ico con la e olución de la cu a de capi al de la es a egia. Ilus ación 72. Vis a Resul ados Back es ing Si el usua io hace sc oll hacia abajo iene ambién la opción de e un g á ico, pa a cada uno de los ac i os inancie os sob e los que se ha ejecu ado el “back es ing”, en el que se mues a la e olución del p ecio del ac i o inancie o en cues ión jun o a las señales de comp a 115 y de en a ma cadas po la es a egia. En la Ilus ación 73 se puede obse a un ejemplo de es e ipo de g á ico con la e olución del p ecio pa a Ibe d ola y las señales de comp a ( e de) y de en a ( ojo) ma cadas po la es a egia. Ilus ación 73. Vis a G á ico de las Señales de T ading Pa a gua da el “back es ing” pa a su pos e io ecupe ación, el usua io iene que hace click en el bo ón “Gua da ” que apa ece en la Ilus ación 70. Una ez gua dado, apa ece án, como se puede obse a en la Ilus ación 74, los bo ones pa a compa i y elimina el “back es ing”. Ilus ación 74. Bo ones "Compa i " y "Elimina " Back es ing 116 La ejecución del “back es ing” po g upos se hace de una o ma muy pa ecida. Pa a accede a es a página, hay que hace click en el elemen o “Back es ing” de la ba a la e al de na egación. Una ez abie o el menú desplegable, el usua io iene que hace click en “Ejecu a Back es ing Po G upos”. Ilus ación 75. Selecciona "Ejecu a Back es ing Po G upos" Aho a, el usua io ha de comple a un o mula io casi idén ico al de “Ejecu a Back es ing”. La única di e encia eside en comple a un paso p e io en el que hay que elegi la mé ica que se quie e u iliza pa a di idi a los ac i os inancie os en dos g upos. Pa a ello, el usua io iene dos opciones: “Capi alización del Me cado” y “Volumen”. En la Ilus ación 76 se puede e la is a pa a es e p ime paso del o mula io. El es o de los pasos son los mismos que hay que comple a en el o mula io de “Ejecu a Back es ing”. Ilus ación 76. Fo mula io "Ejecu a Back es ing Po G upos" 117 Una ez comple ado el o mula io, el usua io ya puede e po pan alla los “back es ing” c eados po cada uno de los dos conjun os de ac i os inancie os o mados al como se mues a en la Ilus ación 77. A pa i de ahí, es e puede ges iona los ( e los, ejecu a los, gua da los, publica los o elimina los) siguiendo los pasos que se han comen ado has a aquí. Ilus ación 77. Vis a Back es ing Po G upos Ges ión de ca e as Al igual que la opción “Ejecu a Back es ing”, el usua io puede accede a la página “C ea Ca e a” an o a a és del dashboa d como de la ba a de na egación. A a és del dashboa d, el usua io iene que hace click en el bo ón “C ea Ca e a” den o de la sección “Lis a de Ca e as”. Y pa a hace lo a a és de la ba a de na egación, iene que hace p ime o click en el bo ón “Ca e a” de la ba a de na egación la e al. Es e ab i á un menú desplegable y el usua io debe á hace click en la opción “C ea Ca e a”. En la Ilus ación 78 se puede obse a cómo selecciona la opción de “C ea Ca e a” a a és de las dos ías desc i as. 118 Ilus ación 78. Selecciona "C ea Ca e a" La c eación de una ca e a se hace ambién a a és de un o mula io. Es e o mula io es á compues o po los dos pasos incluidos en la Ilus ación 79. Ilus ación 79. Vis a Fo mula io C ea Ca e a Una ez c eada la ca e a, el usua io puede accede a las es adís icas más ele an es de es a, como se puede obse a en la Ilus ación 80. Ahí el usua io puede consul a isualmen e las pé didas o ganancias, el alo de me cado de la ca e a, el capi al que iene en su cuen a y el 119 “Equi y” ( alo de me cado + capi al). Además, ambién cuen a con un g á ico que ep esen a la dis ibución de los ac i os de la ca e a. Ilus ación 80. Vis a Ca e a Pa a compa i o elimina la ca e a, el usua io iene que hace click en los co espondien es bo ones que apa ecen en el encabezado supe io a la de echa en la Ilus ación 80. Además, desde es a misma is a y an solo haciendo sc oll hacia abajo, el usua io ambién iene acceso al conjun o de es adís icas elacionadas con las posiciones y las ansacciones de la ca e a, al como se mues a en la Ilus ación 81. 120 Ilus ación 81. Vis a Posiciones y T ansacciones de la Ca e a La modi icación de la ca e a consis e en la comp a o en a de con a os de alguno de los ac i os inancie os que componen dicha ca e a. Pa a ello, y con o me se puede obse a en la Ilus ación 81, hay un o mula io en la pa e supe io en donde el usua io ha de in oduci el icke , indica si quie e comp a o ende (“Buy” o “Sell”) y la can idad de con a os que quie e comp a o ende . Además, debajo de cada ac i o inancie o hay o o o mula io en el que el usua io indica ambién si quie e comp a o ende y la can idad de con a os que quie e comp a o ende del ac i o inancie o en cues ión. Po ejemplo, si se quie en comp a 100 acciones más de Indi ex hab ía que selecciona la opción “Buy”, in oduci la ci a de 100 en el campo siguien e y hace click en el bo ón “En ia ” al como se mues a en la Ilus ación 82. Ilus ación 82. Vis a Modi ica Ca e a 127 Adminis a da os Sólo el adminis ado iene acceso a es a uncionalidad. Po lo an o, una ez iniciada la sesión como adminis ado , el usua io puede hace click en el bo ón “Subi Da os His ó icos” que apa ece en la ba a la e al de na egación al como se indica en la Ilus ación 94. Ilus ación 94. Selecciona "Subi Da os His ó icos" En onces, al cual apa ece en la Ilus ación 95, el usua io iene la opción de subi da os sob e acciones o u u os. Ilus ación 95, Vis a Acciones o Fu u os Si po ejemplo, el usua io elige la p ime a opción, en onces end á que ellena un o mula io con los da os co ec os. Pa a ello, iene que in oduci el icke del ac i o inancie o sob e el que quie e subi los da os, el nomb e de la compañía, el me cado en el que co iza la acción, la moneda en la que es á denominada la acción y las echas de los da os. El nomb e, el 128 me cado y la moneda an sólo son necesa ios ellena los pa a aquellas acciones sob e las que no se hayan subido da os his ó icos p e iamen e. Ilus ación 96, Vis a Fo mula io pa a subi da os his ó icos Una ez en iado dicho o mula io, se mues a una is a con el g á ico de los p ecios a modo de con i mación. Ilus ación 97. Vis a Con i mación después de subi da os his ó icos 129 Finalmen e, pa a elimina da os his ó icos que se hayan subido p e iamen e, el adminis ado ha de hace click en el bo ón “Elimina Da os His ó icos” de la ba a de na egación la e al. Ilus ación 98. Selecciona "Elimina Da os His ó icos" Una ez hecho es o, el adminis ado debe comple a el o mula io que apa ece po pan alla. Aquí, ha de in oduci el icke del ac i o inancie o sob e el que quie e elimina los da os y, después, las echas de los da os que quie e elimina . Tiene ambién la posibilidad de elimina odos los da os del icke in oducido ma cando la casilla de “Selecciona Todo”. La Ilus ación 99 con iene una imagen con los dos pasos que iene que comple a el adminis ado . Ilus ación 99. Vis a Fo mula io Elimina Da os His ó icos 130 Si los da os in oducidos po el usua io son co ec os, el sis ema p ocede á con la eliminación de los da os indicados po el adminis ado y, pos e io men e, di igi á a es e al menú p incipal. Ges ión de las Cuen as de Usua io Po úl imo, cada usua io puede modi ica la in o mación asociada a su cuen a. Pa a ello, el usua io ha de hace click en el bo ón “Cuen a de Usua io” que apa ece en el menú desplegable asociado al símbolo de usua io si uado a iba a la de echa. Se puede e dónde se encuen a dicho bo ón en la Ilus ación 100. Ilus ación 100. Vis a Selecciona "Cuen a de Usua io" Una ez hecho es o, el usua io accede a la página en donde puede modi ica oda su in o mación. En conc e o, desde aquí puede modi ica su nomb e de usua io, su nomb e comple o y su con aseña y, además, puede da se de baja ambién en la aplicación haciendo click en el bo ón ojo “Elimina Cuen a” que apa ece en Ilus ación 101. Ilus ación 101. Vis a Cuen a de Usua io 131 Cada usua io end á acceso únicamen e a la in o mación de su p opia cuen a y pod á modi ica únicamen e la in o mación de su p opia cuen a excep o el adminis ado , que pod á ealiza sendas acciones pa a odas las cuen as de usua io del sis ema.