MrVe Profile picture
Sep 15, 2021 14 tweets 3 min read Read on X
Me falta marketing, pero intentamos:
GANE PLATA MIENTRAS DUERME. BOT DE TRADING TOTALMENTE APB.
(si yo lo hice andar, es apb)

Hablando en serio. Quería compartir un pequeño hilo de como armé un primer bot de trading para operar en @cocoscap

(al final de todo hay colab)
(Antes que nada: esto es un ejercicio didáctico para ver como armar un bot que maneje un portfolio y no una recomendación de inversión!)
Primero lo primero: habia que definir una estrategia para el bot. Primero pensé en Kelly Criterion o algun agente usando Thompson Sampling. Pero pensandolo mejor: Nunca en mi vida habia hecho un bot de esto ¿por que me voy a complicar la vida de entrada?
Entonces vamos con 1/N
1/N es una estrategia en la cual elegis N acciones y dividis el dinero en partes iguales. En la práctica suele usarse como baseline para comparar contra otros algoritmos. Es la estrategia mas sencilla: si tu estrategia da peor que esto, mejor cambiala.
(Ojo: lei por ahí que Markowitz invertía su propia guita haciendo 1/N)
Yo elegí agarrar 10 acciones con mejor mediana(retornos)/mad(retornos)
Es un buen criterio? probablemente no. Seguro existen mejores. Pero de vuelta: esto es solamente una primer aproximación.
Despues fue implementar la compra. Esto con pyhomebroker del genio de @diegodegese fue recontra sencillo. Armas el portfolio y marche orden de compra.
¿Y el rebalanceo? Ponele que quiero rebalancear una vez por semana. Calculamos como deberia ser el portfolio en la nueva semana. Y despues encontramos un conjunto de ordenes que conviertan el portfolio que ya tenemos en el nuevo
Pero aca se presentó una dificultad. Con pyhomebroker no podia traerme mi portfolio actual (o yo no encontré, lo cual no sería raro). Asi que me puse a revisar el codigo de cocoscap hasta que encontré como traermelo con un request.
Con esto resuelto, me quedó generar las diferencias entre el portfolio que ya tengo y el portfolio que quiero. Y asi podemos armar las ordenes para rebalancear todas las veces que queramos.
Acá subí el código a colab:
colab.research.google.com/drive/1obExFe7…
Puede adaptarse un poco y dejarse corriendo con un cron para el rebalanceo

Aunque no sé si lo recomiendo: Tiene bocha de cosas para mejorar!
Por ejemplo, el criterio con el cual elije las acciones sobre las que hace 1/N es bastante cuestionable. Además, si no te alcanza la plata para comprar uno de los papeles, no lo reemplaza. Solo lo deja en 0.
De nuevo, esto fue más un ejercicio para aprender a armar bots.
Además, posiblemente se me haya pasado alguna regla. Por ejemplo, COME en cocos solo se puede comprar por multiplos de 10. No le agregué nada para ese caso.
En definitiva. Me divertí bastante armándolo y lo quería compartir. Mañana lo vamos a testear a ver como funca. Los mantengo al tanto.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with MrVe

MrVe Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @thugGauss

Sep 24, 2021
En algún lado leí que Markowitz, mas allá de haber pasado a la historia por su trabajo sobre portfolios, no ponía la plata donde ponía la boca: no usaba su propio método.

No tengo idea si es cierto o no, pero me generó la duda ¿Como funcionaría acá contra, digamos, 1/N?
Supuestamente, con su plata, Markowitz usaba alguna variante de 1/N. Así que me puse a comparar y de paso probamos de desarrollar un backtesting.
Esto es código de juguete, puede haberseme escapado algo, pero lo comparto igual =)
Agarré el código del hilo anterior, lo pulí un poco, y lo hice correr del '2020-01-01' al '2021-09-01' rebalanceando cada 5 ruedas.
Y para comparar armé una implementación del portfolio de Markowitz (super básica) maximizando sharpe ratio
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(