(로또 사는 아빠) 살림 하는 엄마

Referencia de Desarrollo de API de Korea Investment Securities

Creado: 2024-04-22

Creado: 2024-04-22 23:53

Anteriormente, exploramos las razones detrás de la creación de un programa de negociación automatizada utilizando la API de Korea Investment Securities, así como sus ventajas.

En esta ocasión, compartiré un resumen del proceso de recopilación de información necesaria para desarrollar la API de Korea Investment Securities. Dado que muchos expertos ya han compartido la API de Korea Investment Securities, encontrar información no ha sido difícil. A pesar de ello, me gustaría compartir mis reflexiones sobre lo que he aprendido y espero que este contenido sea útil. (¡Empieza revisando el repositorio de GitHub!)


Sitio web oficial

Sitio web oficial de Korea Investment Securities

Se puede obtener información básica a través del sitio web oficial. El sitio web oficial de Korea Investment Securities permite realizar tareas como configurar ID y cuentas, solicitar simulaciones de inversión y solicitudes de operaciones internacionales. Además, el sitio web oficial proporciona enlaces fáciles de usar al sitio web para desarrolladores.

Referencia de Desarrollo de API de Korea Investment Securities

En el menú de Korea Investment Securities, el contenido para el desarrollo se encuentra en el menú de negociación.



Centro de desarrollo de KIS Developer

El sitio web de KIS Developer es un sitio web que deberá consultar continuamente durante el desarrollo de la API. Puedes consultar los detalles de la documentación de la API.

Referencia de Desarrollo de API de Korea Investment Securities

Es la API más básica para obtener un token de acceso.


Referencia de Desarrollo de API de Korea Investment Securities

Son los detalles del valor de solicitud y respuesta de la API. Consulte estos valores para llamar y recibir respuestas para su procesamiento.



GitHub - koreainvestment/open-trading-api

Este es el repositorio de GitHub de Open Trading API. El archivo README.md proporciona instrucciones detalladas sobre el procedimiento. Por lo tanto, como mencioné anteriormente, es recomendable comenzar revisando GitHub.

Referencia de Desarrollo de API de Korea Investment Securities

Es el repositorio de github.



Wikidocs

Por último, Wikidocs es una referencia útil para el desarrollo en Python. Dado que el autor está afiliado a Korea Investment Securities, la mayoría de la información es confiable. La razón por la que digo "la mayoría" es que no se han agregado nuevos contenidos con el tiempo y, personalmente, me encontré con dificultades al seguir los ejemplos de datos en tiempo real y no pude encontrar una solución.

Referencia de Desarrollo de API de Korea Investment Securities

La guía de desarrollo está bien organizada en Wikidocs.



Referencias adicionales

Con toda esta información, sería genial poder crear un programa rápidamente, pero debido a mi falta de experiencia, me encontré con varios obstáculos. Por lo tanto, he buscado información adicional y he recopilado una lista de referencias que me han ayudado. Dado que son referencias que encontré, seguramente tú también podrás encontrarlas fácilmente.

Un vídeo de Jocoding (23:41 segundos)

Este vídeo me ayudó a comprender las ventajas de la API de Korea Investment Securities desde la perspectiva del usuario. Y, como siempre, comprender el código fuente en funcionamiento a través de una explicación en vídeo facilitó la comprensión. Si ya tienes una comprensión general de lo que ofrece el sitio web oficial, te recomiendo ver rápidamente el vídeo de Jocoding (23:41 segundos).


WebSockets

Como mencioné brevemente antes, me encontré con dificultades al manejar los datos en tiempo real. En Wikidocs, utilizaron websockets de Python. Sin embargo, no entendía bien qué eran los websockets. En estos casos, ¡hay que preguntar! +_+


ChatGPT, ayúdame.

Referencia de Desarrollo de API de Korea Investment Securities

Creo que sería un gran problema si ChatGPT desapareciera.


Parece ser un método para la comunicación y, una vez establecida la conexión, se pueden recibir datos de forma continua. Después de leer esto, comprendí que la API REST devuelve una respuesta por cada solicitud, mientras que WebSocket establece una conexión y recibe respuestas continuas para la solicitud correspondiente. Para el desarrollo de un programa de negociación automatizada, parece que se requiere una combinación de ambas implementaciones funcionando correctamente.


Sin embargo, me encontré con un obstáculo en el ejemplo de Wikidocs. Si bien la solicitud a través de websocket funcionó, el código se quedó atascado en un bucle infinito con while True:. Seguramente hay una solución, pero como soy un novato y no estoy familiarizado con el concepto, me costó entender cómo resolverlo. Por lo tanto, busqué en GitHub si había algún código fuente implementado de otra manera.


Repositorio de GitHub

  • python-kis - Soju06/python-kis: 📈 Biblioteca de API de negociación basada en REST de Korea Investment Securities para Python (github.com)
  • pykis - pjueon/pykis: Paquete de Python para facilitar el uso de la nueva API de comercio abierto de Korea Investment Securities (github.com)
  • mojito - sharebook-kr/mojito: Envoltorio de Python para KIS (github.com)

Una vez más, me di cuenta de la gran cantidad de expertos que existen. Revisé 3 repositorios, pero el que utilicé en esta ocasión fue el primero, python-kis. Tomé prestada la lógica de este repositorio y utilicé la parte de websocket como referencia. En última instancia, en lugar de la biblioteca websockets, utilicé websocket y websocket-client. Aprovecho esta oportunidad para agradecer a Soju06 y a todos los que comparten su código fuente en GitHub.

Ahora, con toda esta información, puedo comenzar a desarrollar el programa. Si bien he experimentado algunos contratiempos, los detallaré y los compartiré por separado. En la siguiente entrada, me gustaría explorar el "diseño de la negociación automatizada de acciones", un tema que podría considerarse más fundamental. Con esto, espero poder reducir los errores en el futuro y reutilizar fácilmente las partes ya desarrolladas.

Comentarios0