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