Un sistema de apoyo al arbitraje de criptomonedas
Abstract
En la actualidad, las criptomonedas son un activo cada vez más frecuente a la hora de comprar y vender, con una gran capitalización de mercado. Las plataformas que ofertan estas criptomonedas, que han aumentado notablemente, ofrecen en ocasiones el mismo activo con diferentes cotizaciones. Es por ello que encontramos interesante aprovechar esta situación para desarrollar un software que de manera automática y empleando técnicas de arbitraje, logre generar un rendimiento económico.
Full text
UNSISTEMA DE APOYO AL ARBITRAJE
DE CRIPTOMONEDAS
TRABAJO FIN DE GRADO
CURSO 2021-2022
AUTORES
ALBERTO BAÑEGIL DÍAZ
FRANCISCO JAVIER VEGA MILLET
DIRECTOR
MANUEL NUÑEZ
GRADO EN INGENIERÍA INFORMÁTICA
GRADO EN INGENIERÍA DE COMPUTADORES
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
Resumen
En la ac ualidad, las c ip omonedas son un ac i o cada ez más ecuen e a la
ho a de comp a y ende , con una g an capi alización de me cado. Las pla a o mas
que o e an es as c ip omonedas, que han aumen ado no ablemen e, o ecen en
ocasiones el mismo ac i o con di e en es co izaciones. Es po ello que encon amos
in e esan e ap o echa es a si uación pa a desa olla un so wa e que de mane a
au omá ica y empleando écnicas de a bi aje, log e gene a un endimien o
económico.
Palab as cla e
C ip omonedas, Blockchain, A bi aje, Ma ke Making, Aplicación
I
Abs ac
Cu en ly, c yp ocu encies a e becoming mo e and mo e equen ly asse s in
he ma e o ading, wi h a huge ma ke capi aliza ion. Pla o ms which o e hose
c yp ocu encies ha e g own no o iously, and some imes hey o e he same asse wi h
di e en alues. Fo ha , we ind i in e es ing o ake ad an age o his si ua ion and
de elop a so wa e which, au oma ically and using a bi age echniques, makes p o i .
Keywo ds
C yp ocu encies, Blockchain, A bi age, Ma ke Making, Applica ion
II
Índice de con enidos
Resumen I
Abs ac II
Índice de con enidos III
Índice de igu as V
In oducción 1
Mo i ación 1
Obje i os 1
Plan de abajo 2
Es uc u a del p oyec o 2
In oduc ion 5
Mo i a ion 5
Goals 5
Wo kplan 6
S uc u e o he p ojec 6
Es ado del a e 7
Blockchain 7
C ip omonedas 7
A bi aje 9
Ma ke Making 10
HummingBo 11
Cc x 14
Me odologías y Tecnologías 15
Me odologías 15
Tecnologías 17
Websocke s 17
cURL 17
AWS 17
C++ 17
API Exchange 17
Gi hub 18
III
Implemen ación 19
Algo i mo P incipal 19
Es uc u a del código 21
Expe imen ación 27
E aluación 27
Tes ing 28
Ejemplo de ejecución 28
Con ibuciones 31
Con ibuciones de Albe o Bañegil Díaz 31
Con ibuciones de Ja ie Vega Mille 32
Conclusiones y T abajo Fu u o 33
Conclusiones 33
T abajo Fu u o 34
Conclusions and u u e wo k 37
Conclusions 37
Fu u e Wo k 38
Bibliog a ía 41
IV
Índice de igu as
Figu a 3.1 Ejemplo de blockchain 7
Figu a 3.2 Co ización del Bi coin desde su inclusión en Coinma ke cap has a agos o 8
de 2022
Figu a 3.3 A bi aje a es pun os 10
Figu a 3.4 Diag ama de lujo de a bi aje en HummingBo 12
Figu a 3.5 Ejemplo ejecución comando c ea e en Hummingbo 13
Figu a 3.6 Ejemplo ejecución comando s a en Hummingbo 14
Figu a 4.1 Table o Kanban 16
Figu a 5.1 Diag ama de la clase pad e Exchange 23
Figu a 5.2 Diag ama de las clase hijas de Exchange 24
Figu a 6.1 Ejemplo de O den Simple 29
Figu a 6.2 Ejemplo de O den Compues a 29
V
Capí ulo 1 -
In oducción
Es e capí ulo si e como p esen ación de nues o abajo inal de g ado.
Comienza explicando el con ex o que mo i a la elabo ación del p oyec o.
Pos e io men e, enume a los obje i os que se pe siguen y la plani icación del abajo.
Finalmen e, se ecoge una b e e desc ipción de la memo ia po capí ulos.
1.1 Mo i ación
En la ac ualidad las c ip omonedas ocupan un luga p incipal en e los ac i os
de comp a en a. La can idad de pla a o mas online que las o e an, conocidas como
exchanges, no pa a de c ece . Sin emba go, es e c ecimien o no ha sido p opo cional
al núme o de p o eedo es de liquidez (o ma ke make s) pa a es os me cados. Es e
ac o , sumado a que el me cado c ip o no cesa su ac i idad y a su ca ác e
ex emadamen e olá il, p opicia que se puedan encon a di e en es p ecios del
mismo ac i o en dis in as exchanges.
Po ello, hemos de ec ado la necesidad de una he amien a sencilla y
accesible, que gene e un endimien o económico mien as apo a liquidez a los
me cados.
1.2 Obje i os
El obje i o de es e p oyec o es desa olla un so wa e capaz de ap o echa las
di e en es co izaciones de las c ip omonedas en las p incipales exchanges, y po
medio de es a egias de a bi aje, consegui un bene icio económico.
Pa a ello nos cen a emos en las monedas con una capi alización su icien e
pa a que engan liquidez en di e en es pla a o mas, pe o ninguna de las p incipales
(bi coin, e he eum…) ya que la compe encia es mucho mayo y es más complicado
encon a opo unidades.
Pa a consegui el obje i o inicial, nos hemos p opues o los siguien es
subobje i os:
1
CAPÍTULO 1.In oducción 2
●En ende el uncionamien o de la ecnología blockchain en las
c ip omonedas.
●Es udia a bi aje inancie o y sus posibles aplicaciones al mundo c ip o.
●Compa a las opciones que exis en ac ualmen e en el me cado
ce canas a nues a idea.
●Implemen a la solución y comp oba su co ec o uncionamien o.
1.3 Plan de abajo
Es e p oyec o ha sido desa ollado po dos pe sonas a lo la go del cu so
2021/2022. T as las p ime as euniones con el u o de TFG, se aco dó cambia el ema
inicial, “Back es ing de es a egias de in e sión c ea i as”, dándole un en oque
o ien ado o almen e a las c ip omonedas. Pensamos que son ecnologías no edosas
que en un u u o pueden ene una adopción masi a, y nos esul ó in e esan e ene la
opo unidad de o ma nos en es e campo du an e nues o TFG.
Es e p oceso comenzó con la labo de in es igación y documen ación de los
di e en es emas a a a (c ip omonedas, a bi aje, ma ke making…), ase que aba có
desde oc ub e has a ene o. Desde en onces has a mayo, desa ollamos di e en es
uncionalidades de la aplicación, ealizando i e aciones p og esi as. Finalmen e
lle amos a cabo la esc i u a de es a memo ia, de mane a pa alela al es eo inal de la
aplicación, du an e los meses de junio, julio y agos o.
Pa a el epa o de a eas u ilizamos la web T ello, adop ando me odologías
ágiles como se comen a en la sección 4.1
1.4 Es uc u a del p oyec o
Es e abajo es á compues o po 9 capí ulos.
●Capí ulo 1 In oducción. Se de ine la mo i ación del p oyec o y los
obje i os a alcanza .
●Capí ulo 2 In oduc ion. T aducción al inglés del Capí ulo 1.
●Capí ulo 3 Es ado del a e. P esen a el con ex o ecnológico y el es ado
del a e.
●Capí ulo 4 Me odologías y Tecnologías. T a a las me odologías de
desa ollo y las he amien as usadas en el p oyec o.
CAPÍTULO 1.In oducción 3
●Capí ulo 5 Implemen ación. Se desc ibe cómo se ha implemen ado el
p oyec o en sus di e en es ases de abajo.
●Capí ulo 6 Expe imen ación. De alla las p uebas de es ing y
expe imen ación lle adas a cabo.
●Capí ulo 7 Apo aciones. Apo aciones indi iduales al p oyec o po cada
uno de los miemb os del equipo.
●Capí ulo 8 Conclusiones y abajo u u o. Cie a el abajo con las
conclusiones ob enidas, además del plan de abajo pa a con inua el
desa ollo del p oyec o.
●Capí ulo 9 Conclusions and u u e wo k. T aducción al inglés del Capí ulo
8.
CAPÍTULO 3. Es ado del A e 10
Figu a 3.3 A bi aje a es pun os
Aplicado a nues o p oyec o, u iliza emos un a bi aje a dos pun os pa a
simpli ica el desa ollo de la aplicación. Funciona á al y como se ha explicado:
busca emos la di e encia de co ización de la misma moneda en e al dóla en
di e en es exchanges. Nos cen a emos en las conocidas como CEX, es deci ,
exchanges cen alizadas [4].
3.4 Ma ke Making
Un ma ke make es un p o eedo de liquidez en me cados inancie os. Juega
un papel impo an e ya que o ece simul áneamen e ó denes de comp a y de en a
pa a el mismo ac i o en una exchange.
Una analogía pa a en ende el concep o de Ma ke making, adap ada a pa i
de la documen ación de HummingBo , es la siguien e: imaginemos que Juan iene una
gui a a en casa que no usa, y le end ía bien un dine o ex a. Po o o lado, Ma ía
lle a iempo p ac icando con la gui a a de un amigo, y aho a c ee que conoce lo
su icien e pa a in e i en comp a se una, pe o no quie e gas a se demasiado en una
nue a.
En es e con ex o, una casa de empeño pod ía o ece un se icio en e Juan y
Ma ía; o ece una mane a de comp a / ende el ac i o a un p ecio jus o (gene a
liquidez). La casa de empeño ecibe la di e encia de p ecio (sp ead) en e el p ecio al
que ende Juan y al que comp a Ma ía, y lo educe.
CAPÍTULO 3. Es ado del A e 11
Po o o lado, el ma ke make necesi a de a iedad de ac i os en una
exchange pa a unciona , ya que es án con inuamen e ealizando ope aciones de
comp a en a.
Los ac i os de medio-baja capi alización de me cado no ienen la liquidez
necesa ia pa a que los bo s egulen el sp ead y po lo an o no se educe ni aumen a
el olumen de me cado. Po ello, hay que encon a el equilib io en las monedas con
el su icien e olumen de me cado pa a pode emplea écnicas de a bi aje, pe o
alejados de las p incipales c ip omonedas que p edominan en el me cado, ya que la
compe encia pa a encon a opo unidades es mucho mayo .
Una ez analizados an o el a bi aje como el ma ke making de c ip omonedas,
des acamos dos opciones que ac ualmen e ealizan algo simila a nues o so wa e: el
so wa e HummingBo y la lib e ía CCTX.
3.5 HummingBo
Hummingbo [5] es un clien e so wa e que pe mi e al usua io c ea y
pe sonaliza negociaciones de c ip oac i os. Pa a ello, o ece una in e az en línea de
comandos, donde el usua io puede p og ama bo s de a bi aje que uncionen an o
en CEX (e.g. Binance), como en exchanges descen alizadas o DEX (e.g. Uniswap).
El a bi aje en HummingBo sigue cua o ases di e enciadas, que son las
siguien es:
1. Lo p ime o es ealiza es comp obaciones pa a ga an iza el co ec o
uncionamien o del sis ema. Es as son:
a. Comp oba que el sis ema se encuen a conec ado a los dos
me cados en los que se a a comp a y ende .
b. Comp oba que no hay ó denes pendien es de en a en el
me cado en el que que emos ealiza la ope ación.
c. Comp oba que no ha habido un ade de a bi aje
ecien emen e. Es necesa io po que en ocasiones los exchanges
a dan en e esca el p ecio al que co izan los ac i os.
2. T as es as comp obaciones, se p ocede a busca la opo unidad de
a bi aje, que se p oduci á si en dos exchanges di e en es el mismo pa
iene p ecios di e en es.
CAPÍTULO 3. Es ado del A e 12
3. A con inuación debemos calcula el amaño óp imo de la o den de
a bi aje. Es as opo unidades siemp e ienen un amaño limi ado, po que
según comp es en el lib o de en as, el p ecio aumen a á. De igual
o ma, según endas en el lib o de comp as, cada ez ende ás a un
p ecio más bajo. Así, llega á un pun o en el que el a bi aje no se á
posible. La es a egia de a bi aje analiza á las ó denes de ambos lib os
pa a calcula el amaño óp imo de a bi aje. Po úl imo, se comp oba á
que se ienen ondos su icien es pa a ejecu a las ó denes seleccionadas.
4. El paso inal es ejecu a ambas ó denes a la ez. Es o es así po que es as
opo unidades no son áciles de encon a y son ápidamen e explo adas
po los ade s.
Es e p oceso se esume en la igu a 3.3, un diag ama de lujo del
uncionamien o del a bi aje en HummingBo .
Figu a 3.4 Diag ama de lujo de a bi aje en HummingBo
CAPÍTULO 3. Es ado del A e 13
En la igu a 3.4 se obse a un ejemplo de ejecución del comando c ea e, con el
cual se c ea un bo de a bi aje. Pa a ello se indica la es a egia que se quie e u iliza ,
en nues o caso a bi aje, las exchanges y los pa es que u iliza á, así como el mínimo
bene icio eque ido pa a ejecu a una o den. Finalmen e, la con igu ación se gua da
en un a chi o .yml.
Figu a 3.5 Ejemplo ejecución comando c ea e en Hummingbo
Al ejecu a el comando s a , las ó denes se c ea án en ambas exchanges, y el bo
es a á p epa ado pa a cuando encuen e la opo unidad de a bi aje con los
pa áme os que incluimos en la con igu ación (Figu a 3.5).
CAPÍTULO 3. Es ado del A e 14
Figu a 3.6 Ejemplo ejecución comando s a en Hummingbo
3.6 Cc x
CCXT [6] es una de las biblio ecas de código abie o más a anzadas pa a
ealiza ading con c ip omonedas, y ue diseñada pensando en un pe il de ade
con conocimien os écnicos y con habilidades pa a el desa ollo de código.
Su desa ollo inicial ue en Ja aSc ip ,y pos e io men e se compa ibilizó pa a PHP
y Py hon. La biblio eca o ece a los desa ollado es una base sólida pa a cons ui y
emplea algo i mos de ading de acue do con sus obje i os, necesidades y deseos.
[7].
Ac ualmen e sopo a cien o dieciséis exchanges, es ando 13 de ellas
ce i icadas pa a su uso en CCTX po la p opia en idad
Capí ulo 4 -
Me odologías y Tecnologías
En es e capí ulo analiza emos la me odología Kanban, que ha sido la elegida
pa a el desa ollo de nues o p oyec o, así como las di e en es ecnologías que hemos
u ilizado.
4.1 Me odologías
Siendo un p oyec o ealizado po dos pe sonas, hemos c eído con enien e
u iliza una me odología ágil. En nues o caso hemos op ado po Kanban que es á
basada en una iloso ía de mejo a con inua. Las a eas se seleccionan de una lis a de
acciones pendien es en un lujo de abajo cons an e. [8]
El uso de una me odología ágil como Kanban omen a una plani icación
lexible y la mejo a con inua del p oyec o ya que el desa ollo es e olu i o. De es a
mane a, hemos podido adap a nues os obje i os y me as de mane a más sencilla.
Ha sido ú il a la ho a de plani ica nues o abajo, ya que pe mi e pa aleliza
a eas del desa ollo del código, del es ing y de la esc i u a de la memo ia.
15
CAPÍTULO 4. Me odologías y Tecnologías 16
Figu a 4.1 Table o Kanban
Como se ap ecia en la igu a 4.1, nues o able o Kanban iene 5 columnas:
●To Do: mues a las a eas pendien es que no se han iniciado.
●In P og ess: son aquellas a eas en las que nos encon amos abajando en el
momen o.
●Ready Fo Tes ing: las a eas lis as pa a comp oba su co ec o uncionamien o.
●Tes ing: aquellas a eas que es amos p obando.
●Done: son las a eas ya inalizadas.
Además, ambién se puede ap ecia el código de colo es que ienen las e ique as:
●Ta eas que equie en de in es igación, p e ias al desa ollo
●Ta eas elacionadas con el desa ollo del código
●Ta eas elacionadas con la esc i u a de la memo ia
CAPÍTULO 4. Me odologías y Tecnologías 17
4.2 Tecnologías
Pa a el desa ollo de la aplicación han sido necesa ias ecnologías de di e en e
índole. La suma de odas ellas hacen unciona el so wa e.
4.2.1 Websocke s
WebSocke s, hace posible ab i una sesión de comunicación in e ac i a en e el
na egado del usua io y un se ido . La en aja de las conexiones bidi eccionales, es su
apidez. Con es a API, se puede en ia mensajes a un se ido y ecibi espues as
con oladas po e en os sin ene que consul a al se ido pa a una espues a. [9]
4.2.2 cURL
cURL es un p oyec o de so wa e consis en e en una biblio eca (libcu l) y un
in é p e e de comandos (cu l) o ien ado a la ans e encia de a chi os. Sopo a
di e en es p o ocolos, en e ellos HTTPS, el que hemos u ilizado[10]
La p incipal u ilidad de cURL es au oma iza el en ío de a chi os y conca ena
acciones sin supe isión.
4.2.3 AWS
Amazon Web Se ices (AWS) es un conjun o de he amien as y se icios de
cloud compu ing de Amazon. Los más de 200 se icios de cen os de da os que o ece
globalmen e, sumado a la madu ez del se icio en compa ación con su compe encia,
hacen de AWS la opción mayo i a ia del me cado [11].
4.2.4 C++
Ha sido uno de los lenguajes de p og amación con los que más hemos
abajado a lo la go del g ado, y es po eso que hemos decidido u iliza lo pa a
implemen a nues a aplicación.
4.2.5 API Exchange
Una API es una in e az que eúne un conjun o de unciones y mé odos,
accesibles pa a o as aplicaciones. En nues o caso, hemos u ilizado las API de
CAPÍTULO 4. Me odologías y Tecnologías 18
di e en es CEX, en o al 19. En e ellas des acan Binance, Kucoin, Ga e.io o Ascendex.
T as su es udio, las hemos conec ado a nues a aplicación pa a lle a a cabo las
ó denes de comp a en a au omá icamen e
4.2.6 Gi hub
Es una pla a o ma de alojamien o que posibili a c ea eposi o ios de código y
man ene los en la nube, ya sea con isibilidad p i ada o pública, de mane a segu a. Es
la p incipal pla a o ma del ipo que hemos usado a lo la go de la ca e a, y po ello
hemos decidido u iliza la pa a subi nues a e sión inal del p oyec o.
Capí ulo 5 -
Implemen ación
Es e capí ulo explica cómo se ha lle ado a cabo la implemen ación de nues o
p oyec o, analizando pa a ello el algo i mo p incipal y la es uc u a del código y sus
p incipales clases.
Al comienzo de la implemen ación se decidió usa un iche o, donde enía
cada pa (po ejemplo BTC-USDT), y a con inuación, se indicaba en qué exchanges
es aba ese pa . Dicho mé odo no e a demasiado e ec i o, ya que el p og ama solo
uncionaba con los pa es que es aban en el iche o, y el iche o es aba esc i o y
ac ualizado a mano; en de ini i a, poco e icien e.
Se decidió cambia es a pa e, po algo más dinámico y en iempo eal,
eemplazándolo po un p og ama que p ime o p egun a con qué pa quie es ope a , y
a con inuación en ía una pe ición HTTP a cada exchange en ese mismo momen o.
Es as esponden si ese pa es á o no. A con inuación, explicamos el uncionamien o del
algo i mo p incipal.
5.1 Algo i mo P incipal
El algo i mo p incipal unciona de la siguien e mane a: en p ime luga , se
comp ueba que el exchange que iene el mínimo ask es meno que el exchange que
iene el máximo bid. Con un alo cons an e de di e encia de 0.01%, aunque es e alo
pod ía se de nues a elección.
Se simula, pa a esos dos exchanges, la máxima can idad que se pod ía
negocia , siendo la di e encia en e sus p ecios mayo que 0.01%. Si el p oceso acaba
aquí end íamos una “single o de ”.
Una ez simulados, si oda ía hay dos exchanges cuya di e encia de p ecios es
mayo que 0.01%, se uel e a epe i el p oceso con el mínimo ask de el siguien e
exchange, con el máximo bid del siguien e exchange, o con ambos. Tend íamos una
“mul iple o de ”.
19
CAPÍTULO 5. Implemen ación 26
●Exmo: h ps://documen e .ge pos man.com/ iew/10287440/SzYXWKPi
●FMFV h ps://api. m w.io/
●FTX: h ps://docs. x.com/#o e iew
●Ga e.io: h ps://www.ga e.io/docs/de elope s/api 4/en/
●Hi b c: h ps://api.hi b c.com/
●Huobi: h ps://huobiapi.gi hub.io/docs/spo / 1/en/#change-log
●Kucoin: h ps://docs.kucoin.com/#gene al
●Lbank:
h ps://gi hub.com/LBank-exchange/lbank-o icial-api-docs/blob/mas e /
API-Fo -Spo -EN/T ading%20REST%20API.md
●Nominex: h ps://de elope .nominex.io/#gene al-api-in o ma ion
●OKX: h ps://www.okx.com/docs- 5/en/#o e iew
●Poloniex: h ps://docs.poloniex.com/#in oduc ion
●Whi ebi : h ps://gi hub.com/whi ebi -exchange/api-docs
Capí ulo 6 -
Expe imen ación
T as ene una e sión uncional de nues a aplicación po línea de comandos,
es e capí ulo explica las di e en es p uebas que lle amos a cabo pa a e i ica su
co ec o uncionamien o.
6.1 E aluación
La es a egia elegida e implemen ada se basa en la baja la encia. En la
e aluación de nues o so wa e in luyen ac o es expues os a con inuación:
La ubicación en la que el p og ama es ejecu ado es c ucial. Se sabe que la
mayo ía de los exchanges de c ip omonedas es án ac ualmen e en Asia. Es o p o oca
que si el p og ama se ejecu a desde España, el websocke se desconec a más
ácilmen e (po ejemplo una conexión en Asia puede du a de 12 a 24 ho as, en
España, de 1 a 24 h). Cada mensaje en iado po websocke es un “paque e”, y si la
ubicación es muy lejana hay más p obabilidades de una pé dida de paque es, con
esul ados po encialmen e ca as ó icos pa a nues os in e eses.
Po encia p ocesado : es e p og ama en conc e o, u iliza un h ead po cada
exchange, po lo que equie e po encia de p ocesado . Se puede ejecu a
pe ec amen e en o denado es que sólo engan 1Co e-1Th ead concu en emen e,
pe o pod ía alen iza la ecogida de da os en iempo eal.
El so wa e: se ha p ocu ado que la po encia de es e so wa e sea lo más ápida
posible, usando websocke s de Boos , es uc u as de da os de la STL, y el algo i mo
p incipal del main. Simples de alles como compila con la opción -O3 en gcc ambién
son impo an es. Se ha op ado po gcc en ez de Clang u o os compilado es
simplemen e po amilia ización con el debugge de gcc, pe o se puede compila con
el compilado que desee el usua io.
Es os 3 ac o es son de e minan es a la ho a de es ea y e i a si uaciones
pe judiciales como la pé dida de paque es o una la encia al a. Es e úl imo caso
pod ía ocasiona que o a pe sona se adelan a a en la opo unidad de a bi aje, o que
el o de book no es u ie a co ec amen e ac ualizado.
27
CAPÍTULO 6. Expe imen ación 28
6.2 Tes ing
Hemos analizado nues o so wa e en mul i ud de escena ios, p obando en
dis in as ubicaciones y u ilizando di e en es p ocesado es. Dado que hay in ini as
combinaciones, menciona emos las más óp imas.
El sis ema ha sido es eado en los se ido es de Amazon AWS con ins ancias EC2,
en ubicaciones como Tokyo, Osaka, Singapu , o Co ea del Su , ambién en China, pe o
es a úl ima ubicación conlle a muchos incon enien es que hace que no sea óp ima
en ningún caso. Se ha p obado con p ocesado es de 1 a 4 co es, siendo su icien e usa
2 co es de úl ima gene ación, aunque se ecomiendan 4.
Con las condiciones expues as, el sis ema puede gene a en o no a un 70% de
acie os, eniendo cada acie o una media de p o i de 0.10€ y cada pé dida una
media de -0.10€. Es a es adís ica es de da os dia ios, no se ha p obado más de un día
seguido po emas económicos.
El sis ema iene dos a ian es, Single O de , el más básico y iable y Mul iple
O de , más a iesgado y a la ez p opo ciona más bene icio. El iesgo es debido a que
es común que los o de books de cada exchange sean mezclas a su ez de o de books
de o os exchanges. Po ejemplo, el o de book de Kucoin es un conjun o de
o de books de Binance, F x, Ga eio y su p opio o de book, y cuando mandas una
o den de comp a a Kucoin, Kucoin puede hace de in e media io, mandando esa
o den a Binance. Dicho enómeno equie e un esea ch de op imización más amplio
que excede es e TFG.
6.3 Ejemplo de ejecución
Con es a sección se p e ende ilus a la uncionalidad p incipal de nues a
aplicación. T as ejecu a el p og ama, el clien e in oduce la c ip omoneda con la que
a a ope a y a con inuación se mues an las exchanges en las que el pa con USD
es á ac i o de dicha c ip omoneda.
En el siguien e link se puede e un ejemplo de ejecución con la opción de
DEBUG ac i ada, en la que se pueden e la meno di e encia de p ecio en e
exchanges, eniendo en cuen a las comisiones. T as cada o den ejecu ada, se mues a
po pan alla en qué exchange se ha comp ado y endido además del p o i de la
ope ación, del o al, del olumen mo ido po el so wa e y el con ado de acie os
CAPÍTULO 6. Expe imen ación 29
(ope aciones en las que el p o i es posi i o) y pé didas (ope aciones en las que el
p o i es nega i o)
h ps://d i e.google.com/ ile/d/196-K Ap WkWNxWOX1-WLKwBDK77STMYC/ iew?usp=s
ha ing
Figu a 6.1 Ejemplo de O den Simple
Figu a 6.2 Ejemplo de O den Compues a
CAPÍTULO 6. Expe imen ación 30
Capí ulo 7 -
Con ibuciones
7.1 Con ibuciones de Albe o Bañegil Díaz
En un p incipio es e TFG e a demasiado ambicioso.
Como no sabíamos demasiado sob e el ema, que íamos inclui las
DeFi(Finanzas Descen alizadas), no sólo como ema sino pa a añadi lo a nues o
p og ama de ejecución. Una ez hecho, me di cuen a que e a un ema demasiado
ex enso, y un campo en ac ual desa ollo, quizás poco madu o como pa a c ea una
aplicación en condiciones, además de que equie e ap ende nue os pa adigmas y
lenguajes de p og amación como Solidi y, Vype o Rus .
Empecé a c ea el esquele o y la base de lo que se ía el código de la
aplicación, la pa e de conec i idad a los exchanges en el iche o exchange.h, el
algo i mo p incipal de ejecución, en el iche o main.cpp y la es uc u a de da os
gene al.
Los capí ulos 5 Implemen ación, 6 Expe imen ación y 8 Conclusiones y T abajo
Fu u os ue on esc i os de mane a conjun a.
Empecé implemen ando cada exchange, pa a más a de hace lo de mane a
conjun a.
31
CAPÍTULO 7. Con ibuciones 32
7.2 Con ibuciones de Ja ie Vega Mille
Du an e las p ime as semanas del p oyec o, u e que amilia iza me con
concep os de economía como el a bi aje y sus di e en es ipos, y ma ke making.
Pos e io men e, cuando decidimos que el p oyec o es a ía dedicado exclusi amen e
al a bi aje de c ip omonedas, in es igué ace ca del ema. Cu sa la asigna u a
op a i a In oducción a la ecnología blockchain esul ó de g an u ilidad, así como la
documen ación de Hummingbo pa a e mina de en ende cómo unciona el
a bi aje de c ip omonedas.
T as ene la p ime a e sión uncional del so wa e (median e el iche o pa a los
pa es), colabo é en las p uebas de es ing. Después decidimos cambia el p oceso de
selección de pa es pa a au oma iza lo, donde p og amé las pe iciones h ps
co espondien es y ayudé a p og ama algunos exchanges y su conec i idad.
Po úl imo, en cuan o a la memo ia he esc i o los capí ulos 1 de In oducción,
con su co espondien e aducción en el capí ulo 2, 3 del Es ado del a e, 4 de
Me odologías y Tecnologías.
Los capí ulos 5 Implemen ación, 6 Expe imen ación y 8 Conclusiones y T abajo
Fu u os ue on esc i os de mane a conjun a.
Capí ulo 8 -
Conclusiones y T abajo Fu u o
En es e capí ulo inal, se e isa án las conclusiones ob enidas a lo la go del
desa ollo del p oyec o, así como los posibles aspec os a mejo a en los p óximos años.
8.1 Conclusiones
Es e abajo de in de g ado enía como obje i o p incipal el desa ollo de un
so wa e capaz de gene a un endimien o económico en el ading de
c ip omonedas median e el uso de écnicas de a bi aje. Una ez inalizada su
implemen ación y en is a de las di e en es p uebas ealizadas, no podemos conclui
que nues o p oyec o sea en able a la go plazo. Sí hemos obse ado que la
p opo ción de acie o es ce cana al 70%, pe o a pesa de ello hay que ene en
cuen a más ac o es como:
Comisiones exchanges: es a pa e es un pila undamen al ya que cuan o más
olumen gene es en el exchange, meno es se án us comisiones. A medida que us
comisiones bajen, no necesi a ás llega el p ime o, po lo que es p opo cional a la
la encia que necesi as(cuan o menos dine o ienes, más ápido ienes que se )
Make o Take ?: Es e TFG se basa en una es a egia de Take . El Take lanza
ó den a me cado di ec amen e, el Make lanza una “limi o de ” al o de book, po lo
que no se ejecu a necesa iamen e al ins an e, pueden pasa incluso días si la ó den
es á muy alejada del p ecio ac ual. Las es a egias Take son las más simples, pe o a la
ez incu en en más cos os de comisión, mien as que las es a egias make
(ma ke -making) son más complejas pe o incu en en menos cos os de comisión.
Wi hd awal ee: Es e es el p incipal p oblema po el que se necesi a una g an
can idad inicial pa a cada pa en cada exchange. Si en un u u o mejo ase, mejo a ía
p opo cionalmen e la can idad eque ida inicial. Pa a ilus a es e ac o , p oponemos
el siguien e ejemplo. En p ime luga , se necesi a el equisi o de ene las mismas
can idades del pa a ope a en cada exchange que se ope e. Pa a simpli ica
usa emos solo 2 exchanges y supond emos 1 ETH=2500€. Tenemos 5000€ y 2ETH en
33
CAPÍTULO 8. Conclusiones y T abajo Fu u o 34
Exchange1, enemos 5000€ y 2ETH en Exchange2 (se pod ía ene €10K en Exchange1 y
4ETH en exchange2, en caso de ene una es adís ica que indique que siemp e se
comp a en Exchange1 y siemp e se ende en Exchange2). Siguiendo con el ejemplo, si
el bo ejecu a una ope ación de a bi aje en la que comp a con 5000€ en Exchange1
y ende con 2ETH en Exchange2, el balance se ía el siguien e: 4ETH en Exchange1 y
10.000€ en Exchange2. El bo ya no es capaz de ejecu a la misma ope ación, ya que
en Exchange1 no quedan € y en Exchange2 no quedan ETH, hay que hace un
wi hd awal pa a ol e al es ado an e io . Es a ope ación ha gene ado 5€ de
bene icio(10.000€ * mediaDi P ecio, donde mediaDi P ecio es 0.05%). El p oblema es
que hace una ans e encia en la ed E he eum ac ualmen e cues a en e 10€ y 40€,
po lo que el wi hd awal se come el bene icio ob enido. Hay chains como BSC, Solana
y muchas o as en las que el wi hd awal es á en e 1€ y 5€, lo que ha ía que el balance
eeWi hd awal/bene icio acabase en posi i o.
Po o o lado, du an e el p oceso hemos ap endido y p o undizado en
concep os de economía como el a bi aje y el ma ke making. Además, hemos
ampliado nues os conocimien os ace ca de las c ip omonedas, e in es igado
he amien as como Hummingbo que nos han apo ado mucho an o en aspec os
es uc u ales como écnicos.
En el desa ollo p opiamen e dicho del so wa e, hemos pues o en p ác ica los
con enidos adqui idos en las asigna u as de Fundamen os de la P og amación, al
p og ama en C++ nues o código, Tecnología de la P og amación pa a la je a quía
de clases y el uso de he encia e Ingenie ía del So wa e, adop ando me odologías
ágiles pa a el desa ollo. Hemos u ilizado ce ojos en la implemen ación de las clases
de las exchanges, is os en Sis emas Ope a i os, y ambién nos ue de ayuda la
asigna u a de Ampliación de Sis emas Ope a i os y Redes pa a la p og amación de
Socke s y conoce los di e en es p o ocolos.
8.2 T abajo Fu u o
El p oyec o cuen a con a ios en es de abajo po los que se pod ía amplia y
mejo a el so wa e. El abajo ealizado se co esponde con un esquele o del p oyec o
inal, pe o no es una aplicación comple amen e uncional. Pa a log a la, se abaja á
en los p óximos años en los siguien es aspec os:
CAPÍTULO 8. Conclusiones y T abajo Fu u o 35
Es a egia Make . Se ía in e esan e amplia dicho sis ema con es a egias make ,
con limi o de s en ez de ma ke o de s, o hace una mezcla de ambas, pa a así
incu i en menos comisiones.
Añadi exchanges descen alizadas. Siguiendo la iloso ía descen alizado a del
blockchain, añadi exchanges descen alizadas pod ía se una opción in e esan e.
Pa a log a lo, se ía necesa io ap ende lenguajes de p og amación como Solidi y, Go o
Rus . Solidi y pa a la ed E he eum y di e en es E he eumVi ualMachines como
A alanche o BinanceSma Chain, Go y Rus pa a nue os concep os de DeFi como
Cosmos y Polkado , que p e enden se una Chain que englobe a odas.
Ac ualmen e en el mundo DeFi y en las exchanges descen alizadas en gene al,
es án habiendo muchas opo unidades de a bi aje c ea i as como F on Running de
ope aciones o liquidaciones, lash loans, Maximal ex ac able Value y muchos o os
concep os. Todos ellos equie en de un es udio p o undo, además de habilidad pa a
le an a u p opio nodo en cada chain. En de ini i a, es o o concep o o almen e
dis in o de a bi aje al que es amos acos umb ados a e en CEXs o inanzas
adicionales.
Wikipedia URL: h ps://es.wikipedia.o g/wiki/A bi aje_(econom%C3%ADa)
Pole, A. (2021) S a is ical A bi aje: Algo i hmic T ading Insigh s
and Techniques
Eh man, Douglas S. (2006) The Handbook O Pai s T ading. S a egies Using Equi ies,
Op ions, and Fu u es
E nes P. Chan (2013) Algo i hmic T ading