scieee Open visual document viewer

Trading app: desarrollo de una herramienta de ayuda a la inversión en Bolsa

Campoverde Méndez, Marlon

Full text

T ading App: De elopmen o a ool o help in es men in he S ock Ma ke T ading App: Desa ollo de una he amien a de ayuda a la in e sión en Bolsa T abajo de in de g ado del G ado en Ingenie ía In o má ica Facul ad de In o má ica Au o Ma lon Campo e de Méndez Di ec o An onio Sa asa Cabezuelo Cu so 2022–2023 T ading App De elopmen o a ool o help in es men in he S ock Ma ke Final Deg ee P ojec Repo Ma lon Campo e de Méndez Di ec ed by An onio Sa asa Cabezuelo Facul y o Compu e Science Complu ense Uni e si y o Mad id Mad id, 2023 Sob e TEFLONX Te lon X(cc0 1.0(documen ación) MIT(código))es una plan illa de L A T EX c eada po Da id Pacios Izquie do con echa de Ene o de 2018. Con a i- buciones de uso CC0. Es a plan illa ue desa ollada pa a acili a la c eación de documen ación p o esional pa a T abajos de Fin de G ado, T abajos de Fin de Más e o Doc o ados. La e sión usada es la X V:X O e lea V2 wi h XeLaTeX, ma gin 1in, bib Con ac o Au o : Da id Pacios Izquie o Co eo: [email p o ec ed] ASCII: [email p o ec ed] Despacho 110 - Facul ad de In o má ica ii Índice gene al Página 1. In oducción 1 1.1. Mo i ación .................................. 1 1.2. Obje i os ................................... 2 1.3. Me odología .................................. 3 1.3.1. Fases del p oyec o .......................... 3 1.3.2. O ganización del abajo ....................... 5 1. In oduc ion 6 1.1. Mo i a ion ................................... 6 1.2. Objec i e ................................... 7 1.3. Me hodology ................................. 8 1.3.1. Fases del p oyec o .......................... 8 1.3.2. Wo k o ganiza ion .......................... 9 2. Es ado del a e 11 2.1. Me aT ade 4 ................................. 11 2.2. Thinko swim ................................. 11 2.3. T adingView ................................. 12 2.4. eTo o ..................................... 12 2.5. Quan Connec ................................. 12 3. Tecnología empleada 13 3.1. Lenguaje de p og amación .......................... 13 3.2. Q Designe .................................. 13 iii UCM 3.3. PySide2 .................................... 14 3.4. Alpha Van age ................................ 14 3.5. TA Lib e ia .................................. 14 3.6. MySQL .................................... 15 3.7. PyCha m ................................... 15 3.8. Gi Hub .................................... 15 4. Especi icación de equisi os 16 4.1. Ac o es .................................... 16 4.2. Módulos .................................... 17 4.2.1. Ges ión de cuen as de usua io .................... 18 4.2.2. Á ea de ading ............................ 22 4.2.3. His o ial de ading .......................... 26 4.2.4. Adminis a da os de la aplicación ................. 27 5. A qui ec u a de la aplicación 28 5.1. A qui ec u a de la aplicación ........................ 28 5.2. Modelo de da os ............................... 30 5.2.1. Usua ios ................................ 31 5.2.2. His o ial ................................ 31 5.2.3. Asse ................................. 31 6. Implemen ación y diseño de la aplicación 32 6.1. Modulo ges ión de cuen as de usua io .................... 33 6.1.1. Inicio de sesión ............................ 33 6.1.2. Regis a usua io ........................... 35 6.1.3. Logou ................................. 38 6.1.4. Modi ica pe il ............................ 38 6.1.5. Da se de baja ............................. 41 6.2. Á ea de ading ................................ 43 6.2.1. Realiza comp as/ en as ....................... 43 6.2.2. Visualización de da os écnicos ................... 46 6.3. His o ial de ading .............................. 48 6.3.1. Visualiza his o ial .......................... 48 i UCM 6.4. Adminis a da os de la aplicación ..................... 50 6.4.1. Añadi ac i os ............................ 50 6.4.2. Ges ión de cuen a de usua io .................... 51 7. Conclusiones y abajo u u o 54 7.1. Conclusiones ................................. 54 7.2. T abajo u u o ................................ 55 7. Conclusions and u u e wo k 56 7.1. Conclusions .................................. 56 7.2. Fu u e wo k .................................. 57 A. Guía de uso 59 A.1. Vis a p incipal del adminis ado ...................... 59 A.1.1. Añadi ac i os ............................ 59 A.2. Á ea de ading ................................ 61 A.3. Resul ados ................................... 64 Índice de igu as 1.1. Diag ama de Gan .............................. 4 1.1. Gan diag am ................................ 9 4.1. Diag ama de casos de uso módulo ges ión cuen as de usua io ....... 18 4.2. Caso de uso egis a usua io ........................ 19 4.3. Caso de uso Login .............................. 20 4.4. Caso de uso Logou .............................. 21 4.5. Caso de uso modi ica pe il ......................... 21 4.6. Diag ama de caso de uso cuen a demo ................... 22 4.7. Diag ama de caso de uso ob ene da os ................... 22 4.8. Caso de es ablece saldo ........................... 23 4.9. Caso de selección de ac i o .......................... 24 4.10. Caso de uso ealiza comp a/ en a ..................... 25 4.11. Caso de uso isualiza da os écnicos .................... 25 4.12. Diag ama de caso de uso his o ial ...................... 26 4.13. Caso de uso his o ial ............................. 26 4.14. Diag ama de caso de uso adminis ación de la aplicación ......... 27 4.15. Caso de uso adminis ación de la aplicación ................ 27 5.1. Esquema de la a qui ec u a ......................... 29 5.2. Diag ama UML del modelo de da os .................... 30 6.1. Pan alla de login ............................... 34 6.2. F agmen o de código Login ......................... 34 6.3. F agmen o de código Login en consul as SQL ............... 35 i UCM 6.4. Pan alla de egis a ............................. 36 6.5. F agmen o de código de egis a ...................... 37 6.6. F agmen o de código de la consul a SQL de egis a ........... 37 6.7. Sección pa a hace Logou .......................... 38 6.8. Pan alla de modi ica da os ......................... 39 6.9. F agmen o de código cambia nomb e .................... 39 6.10. F agmen o de código de la consul a SQL cambia nomb e ......... 40 6.11. F agmen o de código cambia con aseña .................. 40 6.12. F agmen o de código de la consul a SQL elimina cuen a ......... 40 6.13. Pan alla de da se de baja .......................... 41 6.14. F agmen o de código de elimina cuen a .................. 41 6.15. F agmen o de código elimina cuen a consul a SQL ............ 42 6.16. Pan alla selección de da os .......................... 44 6.17. F acción de código donde se leen los da os ................. 44 6.18. F agmen o de código de ealiza comp a/ en a ............... 45 6.19. F agmen o de código de ealiza comp a .................. 45 6.20. F agmen o de código de ealiza las en as ................. 46 6.21. F agmen o de código de consul a SQL pa a egis a en his o ial ..... 46 6.22. Pan alla de los esul ados .......................... 47 6.23. F agmen o de código pa a la isualización de los da os .......... 47 6.24. Pan alla his o ial ............................... 48 6.25. F agmen o de código de mos a his o ial .................. 48 6.26. F agmen o de código de la consul a SQL pa a his o ial .......... 49 6.27. Pan alla añadi ac i o ............................ 50 6.28. F agmen o de código de añadi ac i o .................... 51 6.29. F agmen o de código gua da da os ..................... 51 6.30. F agmen o de código gua da da os dia ios ................. 51 6.31. Pan alla ges ión de cuen as de usua io ................... 52 6.32. F agmen o de código mos a usua ios ................... 52 6.33. F agmen o de código elimina usua io .................... 52 6.34. F agmen o de código de consul a SQL elimina usua io .......... 53 A.1. Pan alla añadi ac i o ............................ 60 ii UCM Fase 3: Desa ollo de la aplicación En la e ce a e apa, se lle ó a cabo el desa ollo de la aplicación la cual se di idió en 4 i e aciones. Se ealizó la implan ación de los módulos ges ión de cuen as de usua io, adminis ación de los da os, á ea de ading e his o ial de ading. Fase 4: P uebas y solución de e o es En la ase cua o, se ealiza on p uebas de usua io de la aplicación, p obando odas las uncionalidades pa a co obo a su co ec o uncionamien o y se soluciona on aquellos e o es que iban apa eciendo. Fase 5: P esen ación al u o En la quin a ase se hizo una p esen ación del uncionamien o la aplicación al u o , modulo po modulo. 1.3.2. O ganización del abajo Pa a ealiza el p oyec o se ha es ablecido una me odología de abajo i e a i a inc e- men al. Es deci , se dice que es inc emen al ya que en cada en ega se añaden nue as uncionalidades, e i e a i a debido a que sob e las uncionalidades exis en es se ealizan mejo as. Cada i e ación se inalizaba con una eunión en la cual se e i icaba el abajo ealizado, pasando a ma ca los obje i os de la siguien e. Po o o lado, la necesidad de lle a un seguimien o del desa ollo del so wa e hizo que uese necesa io el uso de Gi Hub como sis ema de con ol de e siones. 5 Capí ulo 1 In oduc ion In es ing in he s ock ma ke is an ac i i y ha has cap u ed he a en ion o indi iduals and en i ies alike. The pu sui o oppo uni ies o maximize capi al e u ns has led o he de elopmen o a ious s a egies and app oaches. Among hese app oaches, ech- nical analysis has es ablished i sel as an essen ial ool in in es men decision-making, elying on he s udy o p ice cha s, pa e ns, and olume o p edic u u e ma ke mo- emen s. 1.1. Mo i a ion The ola ile and dynamic na u e o inancial ma ke s p esen s in es o s wi h a challenging and e e -changing en i onmen . The ques o pa e ns and ends in p ice mo emen s has become an ongoing pu sui o hose looking o seize in es men oppo uni ies. Howe e , comp ehensi e analysis o his o ical da a and he in e p e a ion o echnical indica o s can be labo -in ensi e. Addi ionally, a ho ough s a egy es ing (back es ing) is necessa y o de e mine in which scena ios i pe o ms well and in which i doesn’ . Mo i a ed by he need o s eamline he decision-making p ocess o in es o s o all le els, he idea o de eloping an applica ion ha simpli ies and au oma es pa o his p ocess was concei ed. The applica ion is based on he p emise o using echnical indica o s as signals o iden i y po en ial buying and selling poin s in he s ock ma ke , p o iding easy 6 UCM and as access o his o ical da a o analysis 1.2. Objec i e The main objec i e is o de elop a basic applica ion o assis in s ock in es men decision- making, using echnical indica o s as he basis o pu chase ecommenda ions. To de e - mine selling poin s, isk managemen p inciples a e use. Based on his objec i e, he ollowing subobjec i es a e p oposed: Es ablish a gene al unde s anding o he objec i es o echnical analysis and i s applica ion in in es men decision-making. Selec an app op ia e se o echnical indica o s ha will be used as he basis o pu chase signals. P o ide a a ge p ice o es ablish selling poin s. Design and implemen he applica ion, ensu ing i s unc ionali y and he abili y o gene a e in es men ecommenda ions. E alua e he e ec i eness o he applica ion h ough es s u ilizing his o ical ma ke da a and execu ing he ecommenda ions. P o ide an analysis o he ob ained esul s, discussing he limi a ions o he appli- ca ion, po en ial imp o emen s, and i s possible u ili y in he eal inancial en i- onmen .” 7 UCM 1.3. Me hodology The p ojec implemen a ion has been ca ied ou in acco dance wi h a p ojec plan and a wo k o ganiza ion, bo h o which a e desc ibed in he ollowing sec ions. 1.3.1. Fases del p oyec o Fo he p ojec de elopmen , a p elimina y phase was conduc ed o ga he equi emen s. This helped de ine he scope o he applica ion, de e mining he modules ha would be included. In he subsequen phases, he p og am unc ionali y was de eloped and es ed, and in he inal phase, he p ojec epo was p epa ed. The able 1.1 shows he du a ion o each p ojec phase. Addi ionally, a Gan cha depic ing his in o ma ion isually is p esen ed in Figu e 1.1. Phase Du a ion da e Resea ch and Requi emen Ga he ing 19/09/2022 - 19/10/2022 API Acquisi ion and Tes ing 20/10/2022 - 18/11/2022 Applica ion De elopmen 19/10/2022 - 30/05/2023 Tes ing and Bug Resolu ion 01/06/2023 - 24/06/2023 P esen a ion o Supe iso 25/06/2023 Repo De elopmen 26/06/2023 - 03/09/2023 Cuad o 1.1: Phases in P ojec De elopmen 8 UCM Figu a 1.1: Gan diag am 1.3.2. Wo k o ganiza ion Phase 1: Requi emen Ga he ing In he ini ial s age, an analysis was conduc ed o de e mine he p incipal modules ha an applica ion should ha e, in addi ion o hose ha a dedica ed in es men so wa e should include. Subsequen ly, a de ailed b eakdown o he unc ionali ies o each module was p o ided. Phase 2: API Acquisi ion and Tes ing The second phase consis s o wo p ocesses. The i s p ocess in ol es esea ch, whe e a se ies o companies p o iding an API o ob aining inancial da a we e analyzed. The second p ocess is es ing, in which hei p ope unc ionali y as well as he limi a ions o each we e e i ied. This was done o ul ima ely choose he one ha bes sui ed he p ojec . 9 UCM Phase 3: Applica ion De elopmen In he hi d s age, he de elopmen o he applica ion was execu ed, which was di ided in o 4 i e a ions. The implemen a ion o he use accoun managemen modules, da a adminis a ion, ading a ea, and ading his o y was ca ied ou . Phase 4: Tes ing and Bug Resolu ion In phase ou , use es ing o he applica ion was conduc ed, es ing all unc ionali ies o e i y hei p ope ope a ion. Any e o s ha a ose we e add essed and esol ed du ing his es ing phase. Phase 5: P esen a ion o Supe iso In he i h phase, a p esen a ion o he applica ion’s unc ionali y was gi en o he supe iso , module by module. 10 Capí ulo 2 Es ado del a e En es a capí ulo se exponen algunas aplicaciones que compa en uncionalidades simila es con el sis ema c eado en es e p oyec o. 2.1. Me aT ade 4 Es a pla a o ma de ading pe mi e la c eación y ejecución de aseso es expe os (EAs). Son p og amas que uncionan en la pla a o ma de Me aT ade 4 [5], se emplean pa a ope- a los me cados inancie os median e algo i mos, es deci , ading au omá ico diseñado con los gus os y p e e encias de cada usua io. Se enca gan de encon a opo unidades en unción de pa áme os es ablecido po el usua io, no i icando o ab iendo la posición de o ma au omá ica. Una ez que la posición se ha abie o se es ablecen las condiciones de cie e. 2.2. Thinko swim B oke que pe mi e ope a di e en es me cados. O ece da os en iempo eal, g á icos, es udios écnicos y mas u ilidades. Dispone de una sección ”demo”que pe mi e es ea en un en o no simulado di e en es écnicas y es a egias.[10] 11 UCM 2.3. T adingView En es a pla a o ma se pueden ealiza análisis de odos los me cados inancie os del mundo, o eciendo a los usua ios g á icos y he amien as. [11]. A a és de su unción Pine Sc ip el cual es un lenguaje de p og amación desa ollado po la misma emp esa. Median e un edi o inco po ado en la pla a o ma los usua ios pueden esc ibi indicado es y es a egias pe sonalizadas que pueden se au oma izadas pa a gene al señales de comp a y de en a. 2.4. eTo o Emp esa que pe mi e accede a a ios me cados, es deci , es un b oke . Cuen a con una sección denominada ading social, los usua ios o man una comunidad en donde exponen sus mo imien os pe mi iendo que o os usua ios puedan copia au omá icamen e dichos mo imien os de o os in e so es. La emp esa denomina es a acción CopyT ade , la cual pe mi e imi a ope aciones en iempo eal. [3] 2.5. Quan Connec Es un en o no de código abie o, de ading algo í mico diseñado en la nube. Pe mi e a los usua ios c ea y p oba algo i mos de ading median e lib e ías esc i as en Py hon y C#. Ya sea pa a hace back es ing u ope a en i o. [9] Además dispone de un en o no de ap endizaje, an o pa a los conocimien os de p og a- mación como de uncionamien o de la pla a o ma. 12 Capí ulo 3 Tecnología empleada 3.1. Lenguaje de p og amación El lenguaje de p og amación que se ha seleccionado pa a la c eación de es a aplicación ha sido Py hon. El mo i o p incipal pa a la elección de es e lenguaje sob e los o os exis en es, ha sido que en Py hon la manipulación de da os es median e el uso de lib e ías como Numpy, la cual hace que sea sencillo. Además de las nume osas APIs y lib e ías que exis en. 3.2. Q Designe Es una he amien a g á ica pa a el diseño de in e aces de usua io (UI). Q Designe se ca ac e iza po acili a la c eación y el diseño de las in e aces de usua io de mane a isual. Pe mi e a los p og amado es diseña en anas, bo ones, menús, e c. Sin ene que esc ibi el código manualmen e. Q Designe p opo ciona una in e az g á ica en la cual se puede a as a y sol a ele- men os de la in e az a c ea , es o educe de mane a muy signi ica i a la necesidad de codi ica . 13 UCM Pe mi e con igu a las p opiedades de los elemen os de nues a aplicación como el ama- ño, la ubicación, los colo es. Di ec amen e desde la in e az de la aplicación. Una ez que se haya e minado de diseña la in e az se puede gene a de o ma au o- má ica el código en C++ o Py hon que co esponde con la in e az que se ha c eado. [4]. 3.3. PySide2 Es un conjun o de biblio ecas la cual p opo ciona una in e az de Py hon pa a el uso de Q . Es deci , PySide2 pe mi e a los desa ollado es u iliza Q desde Py hon, es o pe mi e la c eación de aplicaciones con in e az g á icas complejas desde un en o no de al o ni el como lo es Py hon.[8]. 3.4. Alpha Van age P o eedo de da os inancie os el cual o ece g an can idad de in o mación y se icios elacionados con el me cado de alo es y las inanzas. Los da os que o ece Alpha Van age se ealiza median e su API (In e az de P og amación de Aplicaciones). [1]. Es a API o ece da os his ó icos de ac i os, pe mi iendo a los usua ios analiza el endi- mien o pasado además de pode ealiza análisis écnico. Además inco po a una amplia gama de indicado es écnicos los cuales se pueden usa pa a e alua las endencias de los me cados. 3.5. TA Lib e ia Lib e ia de análisis écnico hecha po Bukosabino cuya licencia es MIT. La cual pe mi e el uso de Da aF ames de la lib e ía Panda de Py hon pa a la ges ión de se ies empo ales de da os. De es a o ma la ges ión de a ios da os que con ienen los p ecios de un ac i o no esul a complejo. [2]. 14 UCM Figu a 4.4: Caso de uso Logou Figu a 4.5: Caso de uso modi ica pe il 21 UCM 4.2.2. Á ea de ading El usua io puede simula el uncionamien o de la aplicación con dine o ic icio, el saldo se e á inc emen ado o disminuido dependiendo del éxi o de las ope aciones. También se pod án ob ene pa áme os écnicos del ac i o pa a conoce los alo es según empo ali- dad. Figu a 4.6: Diag ama de caso de uso cuen a demo Figu a 4.7: Diag ama de caso de uso ob ene da os 22 UCM Vamos a desc ibi los casos de uso de es e módulo. Figu a 4.8: Caso de es ablece saldo 23 UCM Figu a 4.9: Caso de selección de ac i o 24 UCM Figu a 4.10: Caso de uso ealiza comp a/ en a Figu a 4.11: Caso de uso isualiza da os écnicos 25 UCM 4.2.3. His o ial de ading En es a sección el usua io pod á e el lis ado de ope aciones ealizadas, se pod án clasi- ica po ipo, o den de comp a u o den de en as. Figu a 4.12: Diag ama de caso de uso his o ial Figu a 4.13: Caso de uso his o ial 26 UCM 4.2.4. Adminis a da os de la aplicación La pe sona enca gada de adminis a la aplicación end ía la capacidad de añadi nue os ac i os, nue os componen es pa a el análisis écnico. También se enca ga á de la base de conocimien o po lo que pod á elimina cuen as de usua ios que es én egis ados en la base de da os. Figu a 4.14: Diag ama de caso de uso adminis ación de la aplicación Figu a 4.15: Caso de uso adminis ación de la aplicación 27 Capí ulo 5 A qui ec u a de la aplicación En es e capí ulo se explica á la es uc u a de la aplicación y el modelo de da os que se ha u ilizado. 5.1. A qui ec u a de la aplicación La aplicación implemen a una a qui ec u a denominada ”sin se ido ”(Se eless) La A qui ec u a sin se ido p opo ciona una isión de diseño de aplicaciones en la que los desa ollado es no necesi an p eocupa se po la ges ión de se ido es o in aes uc u- as en su luga deben en oca se undamen almen e en esc ibi código que impelen e la lógica de la aplicación. Los desa ollado es diseñan segmen os de código pa a que se puedan ejecu a de mane a au omá ica en espues a a e en os especí icos. Es as uncionalidades se ejecu an en in a- es uc u as de un p o eedo de se icios en la nube. De es a o ma los clien es delegan en MySQL los da os de au en icación y los da os e e en es a su cuen a de usua io. 28 UCM Los clien es ambién ob ienen in o mación adicional a a és de dos API REST de e ce- os. Un API (applica ion p og amming in e ace), son un conjun o de eglas que de inen como los disposi i os y aplicaciones se pueden conec a y comunica se en e ellos. Un API REST es una API que se ajus a a los p incipios del REST ( ep esen a ional s a e ans e ), el cual es un es ilo a qui ec ónico. Se hace e e encia a in e az de p og amación de aplicaciones (API) de e ce os ya que quien la p opo ciona es una en idad ex e na que no ienen nada que e con los que es án desa ollando la aplicación. En la igu a 5.1 se mues a un esquema de la a qui ec u a empleado, como in e ac úa el clien e con el sis ema. Figu a 5.1: Esquema de la a qui ec u a 29 UCM 5.2. Modelo de da os La in o mación que se gua da en la base de da os es: in o mación pe sonal de los usua ios, his o ial de cada uno de ellos en una abla di e en e la cual se elaciona po el nomb e de usua io. La abla asse es ges ionada po el admin donde se gua da que ac i o se ha añadido y la empo alidad. Se ha elegido la base de da os phpMyAdmin como almacenamien o pe sis en e ya que es un sis ema sencillo de u iliza . Es e sis ema u iliza un sis ema de base de da os SQL, lo cual pe mi e gua da la in o mación en ablas pe mi iendo que se elacionen en e si median e un a ibu o en común. Figu a 5.2: Diag ama UML del modelo de da os Pa a pode es ablece el modelo de da os que se a a u iliza , p ime o se ha de decidi el ipo de base de da os que mejo se adap e. Pa a pos e io men e hace una selección de la in o mación que es necesa ia almacena . De es a o ma se ob iene un modelo de da os como el de la Figu a 5.2. 30 UCM Figu a 6.5: F agmen o de código de egis a Figu a 6.6: F agmen o de código de la consul a SQL de egis a 37 UCM 6.1.3. Logou En la pa e supe io de la pan alla se encuen a el bo ón pa a pode hace el logou , po un lado desde el bo ón izquie do de ce a la en ana y po o o desde el bo ón ojo de la de echa ambos cie an sesión y la aplicación simul áneamen e. Es as acciones se con igu an au omá icamen e, uno el sis ema ope a i o y o o median e Q Designe espec i amen e. Figu a 6.7: Sección pa a hace Logou 6.1.4. Modi ica pe il Una ez se ha iniciado sesión, desde el menú izquie do se puede accede a la sección ”Pe il”. Desde aquí se puede accede pa a pode cambia los da os de la cuen a. En la igu a 6.8 se puede cambia el nomb e de usua io, al igual que en el egis o se comp ueba que el nomb e es único y no exis e pa a pode pe mi i hace el cambio. Po o o lado se debe hace una comp obación pa a ello se solici a la con aseña si es co ec a se p ocede a hace el cambio, en caso con a io se mues a un mensaje de e o . En la imagen 6.9 se puede e la la unción la cual ecoge los da os is os en la igu a an e io . Es a unción llama a la unción que ealiza la consul a en la base de da os ealizando un consul a del ipo UPDATE 6.10. De la misma o ma se hace con el cambio de con aseña y modi icación del saldo. 38 UCM Figu a 6.8: Pan alla de modi ica da os Figu a 6.9: F agmen o de código cambia nomb e 39 UCM Figu a 6.10: F agmen o de código de la consul a SQL cambia nomb e Figu a 6.11: F agmen o de código cambia con aseña Figu a 6.12: F agmen o de código de la consul a SQL elimina cuen a 40 UCM 6.1.5. Da se de baja Desde es a pan alla 6.13 se pe mi e al usua io elimina su cuen a. P e iamen e se ha de indica con el ick que se quie e bo a la cuen a además de in oduci la con aseña pa a con i ma el p oceso. Pos e io men e se cie a la aplicación. La unción de la igu a 6.14 se enca ga de comp oba que se cumplen los c i e ios mos- ados en la in e az pa a p ocede a la eliminación de la cuen a. Po o o lado, es a unción llama a la unción 6.15 la cual hace una consul a del ipo DELETE en la base de da os. Figu a 6.13: Pan alla de da se de baja Figu a 6.14: F agmen o de código de elimina cuen a 41 UCM Figu a 6.15: F agmen o de código elimina cuen a consul a SQL 42 UCM 6.2. Á ea de ading En es a pan alla el usua io in e ac úa con la aplicación. 6.2.1. Realiza comp as/ en as La is a pasa oda la in o mación que se ecoge de la pan alla 6.16 a las unciones in e - nas, enca gadas de usa dichos da os. En la po ción de código de la igu a 6.17 se enca ga de ecopila los da os necesa ios pa a comenza con el análisis, es a unción es la in e - media ia en e el usua io y la lógica de negocio. Po un lado ecoge los da os en iados po el usua io median e la in e az y po o o ab e pa a lee los da os his ó icos. Los da os que se de uel en es án en o ma o de da aF ame el cual se pasa po pa áme o pa a ex ae los da os écnicos. Toda es a in o mación es pasado como a gumen o de la unción adingResul 6.18, la cual se enca ga de hace la ope a i a, la comp a y la en a espec i amen e. Cada unción de uel e lo e e en e al p oceso de comp a y en a. La unción que se e en la igu a 6.19, ecibe un da aF ame con las posibles en adas así como un po cen aje pa a p omedia , el nomb e del ac i o y el mon o o al de la posición. Un da o impo e a ene en cuen a es que se desca a odas aquellas ope aciones que se hagan después de las 16h po bajada de la ola ilidad del me cado y e i a un exceso de exposición. Cabe des aca que en cada comp a que se ealiza se egis a en la base de da os pa a pode ene un his o ial. Los da os se de uel en en un a ay pa a su pos e io uso y además pa a que puedan se isualizados po el usua io. Seguidamen e es á la unción en aDia 6.20, la cual de e mina el p ecio de en a en unción de los da os de uel os po compo asDia. Dado que se sigue una ope a i a conse - ado a se es ablece en un 1,5% el p ecio de en a en unción del p ecio medio de comp a. Al igual que en la comp a, en es a ambién se egis a en la base de da os. En la igu a 6.21, es a la unción enca gada de conec a con la base de da os y ealiza una consul a SQL del ipo inse pa a añadi los da os de la ope ación en la abla his o ial. 43 UCM Figu a 6.16: Pan alla selección de da os Figu a 6.17: F acción de código donde se leen los da os 44 UCM Figu a 6.18: F agmen o de código de ealiza comp a/ en a Figu a 6.19: F agmen o de código de ealiza comp a 45 UCM Figu a 6.20: F agmen o de código de ealiza las en as Figu a 6.21: F agmen o de código de consul a SQL pa a egis a en his o ial 6.2.2. Visualización de da os écnicos La igu a 6.22 es lo que el usua io e inalmen e después del p oceso desc i o en el apa - ado an e io . Como se puede e , en es a pan alla se isualizan los da os en o ma o de abla la cual cons a de ocho columnas. En las columnas de comp as cuando apa ece un ce o es que no se ha ealizado ninguna comp a, del mismo modo en la columna de en as si apa ece un ce o signi ica que no se ha alcanzado el p ecio de en a. Cuando no se alcanza el p ecio de en a se asume como pe dida, el cual es á en un 2% ( alo p ede e minado) del p ecio de comp a medio. Po o o lado, en la igu a 6.23 se puede e el código que hace posible que se isuali- cen los da os. La unción T adingResul desc i a an e io men e es la que p opo ciona la in o mación necesa ia pa a pode mos a la in o mación al usua io. Es a in o mación se almacena en o ma de a ay de ilas el cual se a eco iendo una a una. 46 UCM Figu a 6.34: F agmen o de código de consul a SQL elimina usua io 53 Capí ulo 7 Conclusiones y abajo u u o 7.1. Conclusiones Se ha desa ollado una aplicación de ading uncional que inco po a indicado es écnicos como el RSI y el Es ocás ico, así como eglas de comp a y en a basadas en p omedios y po cen ajes de ganancias. Lo que se p e ende con es a aplicación es ealiza un p oceso de au oma ización, pe mi iendo a los in e so es a oma decisiones basadas en eglas p e- de inidas en luga de las emociones. Es e ipo de ope a i a suele ae mejo es esul ados ya que es necesa io segui un plani icación ma cada y no sali se de ahí. Al es ablece un po cen aje pa a el pun o de en a pe mi e es ablece unos c i e ios pa a la ges ión del iesgo. Es o es undamen al pa a p o ege el capi al y minimiza las pe didas. Po o o lado, el adminis ado juega un papel impo an e ya que es el enca gado de aña- di nue os índices, es a acción hace que se comunique con la API y desca gue los da os his ó icos pa a que los usua ios puedan accede en o ma de lec u a de un documen o, de es a o ma se educe en g an can idad el iempo de acceso a los da os. Los iche os del p oyec o se encuen an almacenados en el siguien e eposi o io de Gi Hub: h ps://gi hub.com/naadiee/TFG_q 54 UCM 7.2. T abajo u u o Aunque se han podido alcanza y desa olla la mayo pa e de los obje i os plan eados al p incipio del p oyec o en la ase de oma de equisi os. Se han encon ado nue as ca ac e ís icas que se p oponen a con inuación como abajo u u o: Más da os écnicos. Pe mi i a los usua ios inco po a en los esul ados mas da os écnicos según sus p e e encias, pa a que en base a eso mues o los esul ados. Es o pe mi e hace simulaciones de una ope a i a. Fil os de búsqueda en el his o ial. Dado que los esul ados del his o ial son bas an es y muy a iados. Hace que el usua io pueda ob ene unos esul ados en conc e o median e unos il os de búsqueda. Tempo alidad de esul ados. Hace una selección más amplia e la empo alidad de análisis, ac ualmen e es de un mes en e o. Da de al a a admin. Pe mi i que median e la in e az se pueda da de al a un adminis ado pa a que sea una acceso más ácil, ac ualmen e se hace de o ma in e na median e una consul a en phpMyAdmin. Ope a i a con da os en iempo eal. Pode hace un análisis a iempo eal, pa a ello es necesa io una pla a o ma de pago que p opo cione los da os. 55 Capí ulo 7 Conclusions and u u e wo k 7.1. Conclusions A unc ional ading applica ion has been de eloped ha inco po a es echnical indica o s such as RSI and S ochas ic, as well as buying and selling ules based on a e ages and p o i pe cen ages. The goal o his applica ion is o au oma e he ading p ocess, allowing in es o s o make decisions based on p ede ined ules a he han emo ions. This ype o ading o en yields be e esul s since i equi es ollowing a p ede e mined plan and s icking o i . Se ing a pe cen age o he selling poin allows o isk managemen c i e ia o be es ablished, which is c ucial o p o ec ing capi al and minimizing losses. On he o he hand, he adminis a o plays an impo an ole as hey a e esponsible o adding new indices. This ac ion in ol es communica ing wi h he API and downloading his o ical da a so ha use s can access i in he o m o a documen , signi ican ly educing da a access ime. The p ojec iles a e s o ed in he ollowing Gi Hub eposi o y: h ps://gi hub.com/ naadiee/TFG_q 56 UCM 7.2. Fu u e wo k While mos o he ini ially se p ojec objec i es ha e been achie ed and de eloped du ing he equi emen s ga he ing phase, new ea u es ha e been iden i ied o u u e wo k: Mo e echnical da a: Allow use s o inco po a e addi ional echnical da a in o he esul s based on hei p e e ences, enabling simula ions o ading ope a ions. Sea ch il e s in he his o y: Gi en he abundance and di e si y o his o ical esul s, enable use s o ob ain speci ic esul s by implemen ing sea ch il e s. Resul ime ames: Expand he selec ion o analysis ime ames, cu en ly limi ed o one en i e mon h. Admin egis a ion: Enable use - iendly admin egis a ion h ough he in e - ace, as i cu en ly equi es in e nal se up ia phpMyAdmin que ies. Real- ime da a ading: Enable eal- ime analysis, equi ing access o a paid pla o m ha p o ides eal- ime da a. 57 Bibliog a ía [1] AlphaVan age. «API Documen a ion.» (), di ección: h ps://www.alpha an age. co/documen a ion/. [2] Bukosabino. «Documen a ion.» (), di ección: h ps:// echnical-analysis-lib a y-in- py hon. ead hedocs.io/en/la es / a.h ml# end-indica o s. [3] eTo o. (), di ección: h ps://www.e o o.com/es/copy ade /. [4] Q. G oup. «Documen a ion.» (), di ección: h ps://doc.q .io/q -6/q widge s- index.h ml. [5] Me aT ade 4. (), di ección: h ps://www.me a ade 4.com/es/au oma ed- ading. [6] J. J. Mu phy, Análisis écnico de los me cados inancie os. 1986. [7] PyCha m. «Documen a ion.» (), di ección: h ps://www.je b ains.com/help/ pycha m/ge ing-s a ed.h ml. [8] Pyside. «Documen a ion.» (), di ección: h ps://doc.q .io/q o py hon-5/PySide2/ Q Widge s/index.h ml. [9] Quan Connec . (), di ección: h ps://www.quan connec .com/docs/ 2. [10] Thinko swim. (), di ección: h ps:// lc. hinko swim.com/cen e . [11] T adingView. (), di ección: h ps://www. ading iew.com. 58 Apéndice A Guía de uso A.1. Vis a p incipal del adminis ado A.1.1. Añadi ac i os En es a pan alla A.1 el adminis ado puede añadi ac i os, es deci , se desca ga los da- os de los p ecios de un de e minado ac i o en una empo alidad en conc e o. De es a mane a se gene a una ez un cs con la in o mación pe mi iendo a los usua ios lee es e documen o lo cual hace que no se a de nada en la ob ención de la in o mación. P ime o, el admin de la lis a de ac i os disponibles selecciona cual quie e añadi A.2, pos e io men e selecciona que empo alidad quie e que se gene en los da os, como se e en la igu a A.3. Finalmen e, le da al bo ón acep a pa que se gene e. Dependiendo de la empo alidad se a da á mas o menos. 59 UCM Figu a A.1: Pan alla añadi ac i o Figu a A.2: Pan alla añadi ac i o selección 60 UCM Figu a A.3: Pan alla añadi ac i o ime ame A.2. Á ea de ading En es a pan alla los usua ios eligen las opciones pa a pode ob ene los esul ados. P ime o elige un ac i o en conc e o de la lis a de disponibles A.4. Pos e io men e, elige la echa del análisis que se ealiza á median e un calenda io desplegable A.5. La e ce a opción es elegi la empo alidad median e un menú desplegable A.6. Finalmen e se elige el mon o o al de las ope aciones que se ha án, como se puede e en la igu a A.7. Pa a p ocede a ob ene los esul ados se pulsa el bo ón acep a . 61 UCM Figu a A.4: Pan alla ading selección de ac i o Figu a A.5: Pan alla ading elegi echa 62