Me cansé de rebalancear mi cuenta de pensión manualmente, así que hice un servicio de rebalanceo: Q-Balancer
(qb.dsp.ai.kr)Me agoté tanto rebalanceando manualmente mi cuenta de pensión en Korea Investment & Securities que terminé creando un rebalancer.
(Puede que se pregunten por qué es tan difícil rebalancear, pero como no quería operar a precio de mercado y prefería hacerlo con órdenes limitadas, muchas veces no se ejecutaban bien y tenía que revisarlo varias veces; al final, entre otras tareas, esto solía extenderse por varios días. Y además da flojera hacer los cálculos).
Durante un tiempo lo usé localmente solo para mí, pero me dio curiosidad qué pasaría si lo lanzaba como servicio, así que lo amplié para convertirlo en uno.
Por más que fuera vibe coding, como había dinero de por medio, fui implementándolo revisando cada detalle y terminé tardando una semana (unos 10 días contando las pruebas).
Como además era más complejo de poner en marcha de lo que esperaba (por temas de seguridad), también preparé con cuidado una página de guía y un FAQ desde antes.
La estructura general del proyecto quedó más o menos así.
-
Panel web
- Defines los activos y ponderaciones para el rebalanceo, y configuras el ciclo de rebalanceo, el nivel de desviación, etc.
- También puedes hacer backtesting del portafolio.
- Cuando el bot real empieza a funcionar, también visualiza el historial de operaciones y el estado de los activos.
-
Trading bot
- Es un bot que se ejecuta como servicio local en la PC del usuario. (Puede funcionar en una computadora personal o en un servidor personal).
- Opera a través de la API de Korea Investment & Securities.
- Realiza rebalanceos periódicos con base en los valores configurados en la web.
- Como puede haber temas de seguridad, los números de cuenta y las API keys no se envían ni se almacenan en el servidor; se administran solo en local.
Por ahora solo usa la API de Korea Investment & Securities… aunque no sé si realmente haga falta integrarlo también con otras casas de bolsa.
P. D. Aún no he comprado un dominio nuevo. Si se vuelve popular y aumenta el número de usuarios, estoy pensando en sacar uno nuevo. Mi fantasía más feliz sería que mucha gente lo use y hasta poder monetizarlo.
29 comentarios
Soy empleado de una firma de corretaje (no de Korea Investment & Securities).
Si probablemente lo van a monetizar, creo que deberían revisar los requisitos de licencias, como las de asesoría de inversión.
De lo contrario, podrían ser sancionados por una actividad ilegal, así que deben tener muchísimo cuidado.
En Corea, la regulación sobre este tipo de servicios financieros suele ser bastante estricta.
De verdad, aunque sea un caso muy improbable... lo comento aunque sea por aquí por simple precaución.
Gracias por el consejo.
Como no estoy dando consejos de inversión, pensé que no importaba, pero parece que será indispensable verificarlo dos veces.
El rebalanceo en sí parece ser una forma de asesoría de inversión. Creo que sería bueno consultar con un abogado antes de monetizarlo.
Sí, gracias.
(Gratis confirmado jaja)
No sé mucho de finanzas...
En la cuenta de pensión de retiro con ahorro fiscal,
actualmente estoy invirtiendo en "Korea Investment Long-term Asset Allocation Securities Investment Trust C-Pe (mixto-fondo de fondos)"...
¿cómo se registra esto?
Ah, al buscar ese instrumento, parece que no es un ETF sino un fondo.
No trabajamos con fondos...
https://dart.fss.or.kr/dsab005/main.do Si consultas aquí...
Revisándolo... el código del fondo sí existe, pero...
EA231
Les agradecería si pudieran tener en cuenta el código del fondo al agregar códigos en el portafolio.
¡Ánimo!
Buscar solo fondos que no sean ETF es fácil.
Pero para operar de verdad desde el bot mediante API, parece que para los fondos hay que usar una API completamente distinta.
Pero entonces, ¿por qué usan fondos? ¿La gente también hace rebalanceo adicional con fondos?
Yo pensaba que los fondos ya hacen algo más por ti, así que nunca se me había ocurrido que hiciera falta algo adicional.
Parece que hay que pensarlo un poco más.
Parece que tendré que hacer uno con el Nasdaq y probarlo en local. Buena idea.
Ánimo.
Es fácil ejecutarlo en local.
Pero si se trata de una cuenta en el extranjero, sería aún mejor que también hiciera el cálculo de impuestos. Creo que también sería bueno poder configurar opciones según los impuestos.
Yo también había hecho algo parecido por mi cuenta y estaba probando varias cosas, así que me da gusto verlo. Te apoyo.
Gracias.
Pensé que hacerlo yo solo sería más fácil de lo que fue, pero ponerle la UI, integrarlo, revisar que no faltara nada y escribir la guía terminó tomando más tiempo de lo que esperaba ;_;
Gracias
Espero que les sea útil...
Yo también estaba intentando hacer algo parecido para consultar y rebalancear con CLI, pero definitivamente es más cómodo cuando se muestra en la web~
¿Podrías contarme qué framework usaste para la web?
Usé next.js.
Hace poco yo también, con algo llamado joyful-traders, recuerdo que me divertí bastante trasteando localmente con la API de Korea Investment & Securities.
¡Gracias por compartir un programa tan genial! Lo voy a usar bien jaja
Gracias~
Creo que estaría bien corregir que, al buscar, la barra de búsqueda se hace más grande y más pequeña...
¡Lo usaré bien!
Ah, no sentí ningún problema en absoluto, lo revisaré de nuevo.
¿De dónde obtienen los datos de backtesting?
¿Se refiere a datos diarios para hacer backtesting?
Yahoo Finance no me resulta muy adecuado, así que estoy tomando como referencia los datos de Naver Finance.
No sabía que Naver Securities también tenía API, gracias.
No es una API abierta ;_;
Había pensado en algo parecido, así que está bueno~ Vi que decía que IRP no tiene API, ¿también habría una función para ingresar los datos manualmente~?
Sí, parece que para la cuenta IRP, ya sea porque Korea Investment & Securities lo bloqueó, no hay soporte de API.
Mmm, como sí trae el estado de los activos y permite hacer el plan, da la impresión de que bastaría con seguirlo tal cual.
En cambio, como al operar saldría un error, parece que solo habría que ejecutarlo manualmente el día del rebalanceo.
La cuenta IRP solo muestra el plan de rebalanceo en la consola (y en Telegram) como se muestra a continuación, así que parece que pueden operar tomando eso como referencia.
P. D.: Como los montos y la cantidad de acciones corresponden a mi cuenta, algunos aparecen marcados con
?.=== Starting Portfolio Rebalancing ===
Checking for pending orders to cancel...
[KISApi] Pending Orders Info Failed: Las cuentas de pensión para retiro no permiten este servicio.
No hay órdenes pendientes sin ejecutar.
Analyzing current portfolio state...
[KISApi] IRP/Pension Account Detected: Switching to Fallback Balance Check (TTTC8434R).
📋 Plan de rebalanceo (Rebalancing Plan)
[Plan de venta (SELL)]
[Plan de compra (BUY)]
...
⛔ Las cuentas IRP/pensión de retiro no admiten órdenes automáticas por API.
Consulta el "plan de rebalanceo" anterior y opera manualmente en MTS/HTS.
La selección y el análisis del portafolio, así como el backtesting, son bastante simples y están bastante bien.
Gracias~