Está en la página 1de 7

 

​ radeSpark. 
ArQuants​ es un producto de T

 
 
 
 
Una nueva manera de operar  
en los mercados. 
 
 
 
 
 
 
 
 
 
Documentación framework 
Destinado a: Developer o Desarrolladores 
Fecha 24/04/2020 
Teléfono: 11-40610569 
Email info@tradespark.com.ar:   

 
 

​ radeSpark. 
ArQuants​ es un producto de T

Índice 
 
 
Resumen 3 

Strategy 4 

Data 5 

Order 6 

Orderdata 6 

OrderExecutionBit 6 

 
   

 
 

​ radeSpark. 
ArQuants​ es un producto de T

Resumen 
El siguiente documento está orientado a un desarrollador y pretende documentar los atributos y 
métodos de las principales clases del framework de desarrollo de estrategias de ArQuants.    

 
 

​ radeSpark. 
ArQuants​ es un producto de T

Strategy 
Clase que debe extender una estrategia que se ejecute en ArQuants.  

Métodos a implementar: 

● __init()__: este método permite definir los parámetros que solicitará la estrategia. Deben 
definirse como argumentos del init, con un valor default. En el cuerpo del método debe 
asignarse cada argumento a un atributo con el mismo nombre. 

Una estrategia podría extender los siguientes métodos de ​Strategy​: 

● next: pensado para contener la lógica principal de la estrategia. Es invocado ante el 
arribo de market data.  
● notify_order(order): invocado ante el arribo de un update para una orden emitida por la 
estrategia. 
● on_pause: invocado cuando la estrategia es pausada 
● on_error: invocado cuando se da un error en la ejecución de la estrategia 
● on_resume: invocado cuando se resume la ejecución de la estrategia. 
● validate: invocado al instanciarse la estrategia. Debería contener un código que valide 
que la estrategia se encuentra bien configurada para su ejecución. 
● process_parameter_change(event): invocada cuando un parámetro del a estrategia es 
actualizado en tiempo de ejecución. 

Además una estrategia cuenta con los siguientes métodos de la clase ​Strategy ​para enviar 
órdenes al mercado e información a la web de ArQuants 

● buy(data=None,price=None,size=None,exectype=Order.Limit,send=True): crea y envía una 


orden de compra al mercado. Retorna una referencia a la orden. Si el argumento send es 
False, se crea la orden pero no se envia.  
● sell(data=None,price=None,size=None,exectype=Order.Limit,,send=True): crea y envía 
una orden de venta al mercado. Retorna una referencia a la orden. Si el argumento send 
es False, se crea la orden pero no se envia.  
● sendOrders(orders=None): envía una lista de órdenes al mercado.  
● replace(order=None,price=None,size=None): envía una modificación al mercado para la 
orden identificada en el argumento order por el tamaño y precio especificados en los 
parámetros price y size 
● cancel(order=None): cancela la orden especificada en el argumento order 
● log(text=None): publica un evento de logs con el string especificado en el argumento text 
 

 
 

​ radeSpark. 
ArQuants​ es un producto de T

Data 
Contiene market data y reference data de una activo financiero.  

Atributos de data 
● tradecontract: nombre del instrumento 
● settlement: [1(contado)|2 (24hs)|3 (48hs)|4 (72hs)]  
● settlement_date: 20200424  
● security_type: [Acción|Titulos|Opción|Futuro] 
● currency: [ARS|USD|EXT] 
● price_size: cantidad de nominales que representa el precio 
● account: cuenta de mercado que se utilizará para enviar órdenes para este data 
● contractsize: es el sizetick (ejemplo 1000, 1) 
● variacion_rf: tabla con ticks de acuerdo al precio de referencia para activos de renta fija 
de byma 
● variacion_rv: tabla con ticks de acuerdo al precio de referencia para activos de renta 
variable de byma 

Existen 3 tipos de datas: ​TopOfBookData,​ ​AggregatedData​ y ​DisaggregatedData. Al momento de 


configurar la ejecución de una estrategia se seleccionan los activos que se negociarán junto con el 
tipo de data que utilizará cada activo. 

La instancia de la estrategia tendrá tantos atributos data como instrumentos se hayan configurado 
para la ejecución de la estrategia. Cada atributo data sera del tipo TopOfBookData,​ ​AggregatedData 
o ​DisaggregatedData dependiendo de qué tipo de data se haya configurado para cada activo. 

Si la ejecución de la estrategia se configura con 4 instrumentos, la instancia de la estrategia tendrá 4 


atributos data: self.data0, self.data1, self.data2, self.data3.  

Acceso a la market data para TopOfBookData 

Recibe updates para el mejor precio de un activo financiero, y el último negocio realizado. 

● Mejor precio bid: data.bid_px[0] 


● Tamaño mejor precio bid: data.bid_qty[0] 
● Mejor precio offer: data.offer_px[0] 
● Tamaño mejor precio offer: data.offer_qty[0] 
● Ultimo precio operado: data.last_px[0] 
● Cantidad del último precio operado: data.last_qty[0] 

Acceso a la market data para AggregatedData 

Recibe updates para los mejores 5 precios de un activo financiero, y el último negocio realizado. 

 
 

​ radeSpark. 
ArQuants​ es un producto de T

● Mejor precio bid: data.bid_px[0] 


● Tamaño mejor precio bid: data.bid_qty[0] 
● Segundo mejor precio bid: data.bid_px_2[0] 
● Tamaño segundo mejor precio bid: data.bid_qty_2[0] 
● Mejor precio offer: data.offer_px[0] 
● Tamaño mejor precio offer: data.offer_qty[0] 
● Segundo mejor precio offer: data.offer_px_2[0] 
● Tamaño srgundo mejor precio offer: data.offer_qty_2[0] 
● Ultimo precio operado: data.last_px[0] 
● Cantidad del último precio operado: data.last_qty[0] 

Order 
Clase que contiene todas las características de una orden 

Atributos de order 
● m_orderId: ​client order Id 
● m_serverOrderId: ​server id 
● status​: estado de la orden. [Order.Completed, Order.Partial, Order.Created, 
Order.Submitted, Order.Canceled, Order.Acepted, Order.Rejected] 
● data​: referencia al data para el que se envió la orden.  
● price​: precio de la orden 
● Size:​ tamaño de la orden. Positivo si es de compra, negativo si es de venta. 
● abs_size: ​valor absoluto del tamaño de la orden. 
● exectype:​ tipo de la orden (Order.Limit) 
● ordtype: ​si es compra o venta (Order.Buy|Order.Sell) 
● executed: ​instancia de ​OrderData.​ Contiene información de la ejecución de la orden 

Orderdata 
Lleva la información de la ejecución de una orden 

Atributos de OrderData 
● size​: tamaño ejecutado de la orden 
● remsize​: tamaño pendiente de la orden 
● exbits​: deque con instancias de ​OrderExecutionBit. 
 
OrderExecutionBit 
Contiene información de una ejecución sobre una orden. 

 
 

​ radeSpark. 
ArQuants​ es un producto de T

Atributos de OrderExecutionBit 

● price: ​precio de ejecución 


● size: ​tamaño de la ejecución 

También podría gustarte