scieee Science in your language
[es] (orig)

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

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.

Read accessible full text

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

Author: Figueros Sentana, Salvador
Year: 2022
Source: https://docta.ucm.es/bitstreams/00bc020f-29af-4083-a63d-e100bb59cfdf/download
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.