Giter VIP home page Giter VIP logo

pyhomebroker's People

Contributors

crapher avatar leatex avatar lisandro avatar marketdataapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyhomebroker's Issues

Suscribirse al estado de las órdenes en curso

Buenas tardes, espero se encuentren muy bien.

Quisiera consultarles si hay manera de recibir una notificación del servidor cada vez que una orden en curso cambie de estado, esto es, sea cancelada, ejecutada total o parcialmente.

Muchas gracias.
Saludos

Obtener datos de cada Quote

Hola Diego, estoy intentando obtener los datos (bid, ask, volumen, nombre, etc.) retornados por el parámetro quote, pero aparentemente trae más información que la que yo necesito.

Te muestro un ejemplo:

def on_personal_portfolio(online, quotes)
    print("{} {}".format(quotes["bid"], quotes["ask"]))

Retorna esto:

symbol  settlement
AE38D   48hs          38.21
Name: bid, dtype: float64 symbol  settlement
AE38D   48hs          38.34
Name: ask, dtype: float64

O sea, yo pedí imprimir dos variables {} {}, la 1era es el bid y la 2da el ask, pero trae el siguiente bloque para el bid:

symbol  settlement
AE38D   48hs          38.21
Name: bid, dtype: float64 symbol  settlement

y el siguiente para el ask:

AE38D   48hs          38.34
Name: ask, dtype: float64

¿Tenés idea cómo obtener sólo el 38.21 y el 38.34?.

Incorporar datos a evento opciones

Diego, en el evento on_options, ¿se podrá incorporar el Subyacente y el Strike?. Con esos datos sería mas fácil filtrar por las opciones de GGAL por ej y armar una tablita de sintéticas donde tengamos el CALL y el PUT en la misma fila, similar a esta:

image

Warning asyncio

Warning (from warnings module):
File "C:\Users**\pyhomebroker\main_HM.py", line 100
loop = asyncio.get_event_loop()
DeprecationWarning: There is no current event loop

Al actualizar a python 3.10 me salta este warning, al parecer la planilla sigue actualizando normalmente.

Problema con órdenes

Buenas.
Sé que el módulo de órdenes es un "alpha" y que el funcionamiento no está asegurado, pero por si te sirve te dejo un problema que tengo a ver si lo podés replicar.
Uso Cocos como broker.
Mando una orden de compra por 1 nominal de CVX
Cocos recibe una orden por 10 nominales. No sé si el problema es Cocos o Gallo (van por su API las órdenes?).

Me pasó con otros instrumentos pero no los registré como para decirte.

Agregar Futuros

Existe la posibilidad de agregar futuros, estoy interesado en acceder a info de ROFEX y Dolar Futuro. Muchas gracias!

'HomeBroker' object has no attribute 'orders'

Hola Diego,
Estoy replicando el ejemplo de github y obtengo este mensaje al intentar detectar ordenes activas en home broker. ¿tiene sentido?

orders = hb.orders.get_orders_status(account_id)
AttributeError: 'HomeBroker' object has no attribute 'orders'

Muchas gracias,

David

Problema con personal portfolio

Luego de la actualizacion que tuvo Home Broker, el personal portfolio da error cuando se intenta utilizar.
Falta agregar el parametro idgroup. Chequear llamada de HB.

Caja de puntas

Hola,
¿Es posible acceder a la caja de puntas online para una dada especie?
Gracias

ALFY error al conectar

Cuando intento hacer hb.online.connect() después de loguearme me tira:

WebSocketBadStatusException("Handshake status %d %s", status, status_message, resp_headers)
websocket._exceptions.WebSocketBadStatusException: Handshake status 400 Bad Request

Con cocos funciona perfecto usando el mismo código

Error venta AL30D parkeado

Hola,
Al realizar una hb.orders.send_sell_order('AL30D','spot',float(38.30),int(1))
El servidor responde:

File "<ipython-input-7-4b4068eaf849>", line 1, in <module>
    order_number3 = hb.orders.send_sell_order('AL30D','spot',float(38.30),int(1))

  File "d:\Users\xxx\anaconda3\lib\site-packages\pyhomebroker\orders\orders.py", line 192, in send_sell_order
    return self.__send_order_confirmation()

  File "d:\Users\xxx\anaconda3\lib\site-packages\pyhomebroker\orders\orders.py", line 433, in __send_order_confirmation
    raise ServerException('Order not accepted by server.\nError Received from server: {}'.format(response['Result']['ResponseOrden']['ErrorMessage']))

ServerException: Order not accepted by server.
Error Received from server: None

Esto puede deberse a la declaración jurada que obliga a aceptar el broker:
Capture

Si vamos al listado de órdenes del broker curiosamente la orden fue ingresada y anulada automáticamente:
Capture2

Aclaro que los AL30 están parkeados hace más de 1 día y puedo ingresar correctamente la venta desde la plataforma del broker.

Saludos!

Error en la autenticacion de un broker

Buenos dias Diego.
Muchas gracias por el excelente trabajo !!!!
Queria informar que no es posible conectarse al broker 88.
El sistema reporta un mensaje de broker inexistemte, a pesar de que esta en la lista de brokers.
Saludos

Traceback (most recent call last):
File "Conectar.py", line 99, in
example_online()
File "Conectar.py", line 31, in example_online
hb = HomeBroker(int(broker),
File "C:\Users\PC\AppData\Local\Programs\Python\Python38\lib\site-packages\pyhomebroker\home_broker.py", line 89, in init
self._broker = self.__get_broker_data(broker_id)
File "C:\Users\PC\AppData\Local\Programs\Python\Python38\lib\site-packages\pyhomebroker\home_broker.py", line 120, in __get_broker_data
raise BrokerNotSupportedException('Broker not supported. Brokers supported: {}.'.format(supported_brokers))
pyhomebroker.exceptions.BrokerNotSupportedException: Broker not supported. Brokers supported: 12, 20, 81, 127, 164, 203, 209.

Repl Closed

Sobre panel de opciones

Sería importante aclarar en la documentación que la función on_options=on_options_callback trae los tickers registrados en Favoritos.

P.d.: Estoy usando el pythomebroker a full, una masa, felicitaciones.

Cuando te suscribís a un orderbook da error.

Usando el ejemplo otorgado, después de traer la primer info de la suscripción da un error.
por ejemplo:

hb.online.subscribe_order_book('AL30', '48hs')
te trae
------------------ Order Book (Level 2) ------------------
bid_size bid bid_offers_count ask_size ask ask_offers_count
symbol settlement position
AL30 48hs 1 84020 6058.0 2 85045 6059.0 2
2 16064 6056.5 2 61792 6059.5 3
3 408 6056.0 2 67103 6060.0 6
4 59015 6055.5 3 200 6061.0 1
5 5988 6055.0 10 50000 6061.5 1

pero luego da error.
Si imprimís la exception en la función que agarra los errores sale 'NoneType' object is not iterable.

Plazos de Bonos y Acciones "CI"

Hola, estuve probando el tema de las ordenes anda muy bien.
Ahora si queres trabajar en otros plazos como CI, como quedaria el Ticker por ejemplo para un GD30? "GD30 CI" para armar la pregunta en el #Get Intra day Information y en el plazo del BUY

order_number = hb.orders.send_buy_order('GD30D', 'C.I.', 36.381, 1) ??

Saludos, Gracias.

Consulta de último precio sin sucripción

Martín, te hago una consulta. Hay alguna forma de tomar el último precio (u otro dato del book) de un activo en especial sin tener que hacer una suscripción online? Por ejemplo quiero saber último precio y volumen de CECO2, pero necesito eso solo y no que se vaya actualizando. Se puede hacer?

Ver posiciones actuales del portfolio

Disculpen,
Queria saber si existe una funcion que devuelva las posiciones actuales y la liquidez de la cuenta para operar. Si no me equivoco, esta en el endpoint Consultas/GetConsulta con el proceso 22, pero queria saber si ya estaba incorporada la funcionalidad.

Empty data frame

Probe con BCCH y PSEC, este ultimo al consulta datos historicos me trae:

Empty DataFrame
Columns: [date, open, high, low, close, volume]

Utilizando el mismo programa, solo cambiando los datos de login, decime si te puedo pasar alguna datos mas, desde la pagina puedo consultar el historico.

Desconectar sin estar conectado

Ver de agregar is_connected a online module para saber si hay que desconectar o no o no disparar excepcion si se intenta desconectar y no se esta conectad.

Delay/Ticks perdidos entre Gallo y Rodi

Hola Diego, estoy comparando los ticks que van entrando a Pyhomebroker y comparándolos contra Rodi. Noté que hay un cierto delay y en muchos casos datos que nunca llegan, siempre RODI tiene información más actualizada.

¿Vos encontraste las mismas diferencias?. Desconozco si la instancia de Gallo es la misma para todos los brokers, en mi caso uso TM.

Seguramente esto no es un problema de PyhomeBroker, sino de Gallo, pero quería consultarte esto para sacarme la duda.

Datos tomados alas 13:12

Rodi

image

PyhomeBroker

image

Settlement for Options order book

Hi, which settlement should I configure for options?, I've tried 48hs, '' and None but all of them rase the exception pyhomebroker.exceptions.DataException: Settlement is not assigned.

Here's my config:

hb.online.subscribe_order_book('GGAL', '48hs')                                                                          
hb.online.subscribe_order_book('AL29D', '48hs')                                                                         
hb.online.subscribe_order_book('AL30D', '48hs')                                                                         
hb.online.subscribe_order_book('GFGC10081D', None)                                                                      
hb.online.subscribe_order_book('GFGC10981D', None)                                                                      
hb.online.subscribe_order_book('GFGC11281D', None)                                                                      
hb.online.subscribe_order_book('GFGC11581D', None)                                                                      
hb.online.subscribe_order_book('GFGC11881D', None)```

Mapping en columnas "turnover" y "volume"

Hola, antes que nada gracias por el gran laburo que hay en este repo! más que útil!
Esto más que un issue es una consulta (que tal vez sea un pequeño bug):
Estaba viendo el ejemplo de "get_market_snapshot" y no estoy seguro de que los valores de las columnas "turnover" y "volume" sean los correctos. Parece como que estuviesen invertidas. Por lo que veo, "turnover" está tomando el valor de "TotalAmountTraded" (que es el monto total operado en pesos) y "volume" de "TotalQuantityTraded". Esto es correcto? No debería estar tomándose "TotalAmountTraded" en volume?

Saludos y gracias!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.