scieee Open visual document viewer

Un sistema de apoyo al arbitraje de criptomonedas

Bañegil Díaz, Alberto; Vega Millet, Francisco Jacvier

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