La plataforma comercial, actualmente código llamado Irowor, toma decisiones y toma acción automáticamente. No es compatible con IA, es bastante directo con reglas de código duro. A medida que termine de escribir ese sistema, la estructura del bot comercial será reutilizada para la AI. Porque un sistema de agentes tiene que hacer observaciones, decisiones y luego tomar acciones. Esto es como ver el mercado, seguir una estrategia, y colocar los oficios.
Empecemos. Iremos de simple a complejo para ahorrarnos tiempo y dolor de cabeza. Vamos a revisar la arquitectura de la plataforma comercial ya que ya está bastante hecho. Además, vamos a estar haciendo esto en rubí en carriles principalmente, como cuestión de preferencia personal. Si usted está empezando desde cero probablemente tengo que recomendar pitón, ya que tanto código AI es pitón. Y definitivamente recomiendo contra el tiposcript, sugiero que use javascript puro porque es mucho más claro y más ligero.
Digamos que la configuración ya se ha hecho. Volveremos a rehacer la configuración una vez que establezcamos el paso del tiempo común. Por ahora, asumen que todo ya está funcionando.
La acción fundamental que toma el agente es poner un comercio. El comercio suele ser un rollo de posición: cerrar dos piernas, abrir dos piernas. El comercio es una llamada a la API del broker-dealer. Colocar el comercio es una Acción, por lo que tenemos acciones:
class Tda::Order.place_order
include Wco::Action
## ...
endAhora mismo todo está conectado para ser actuado a través de botones de clic en la interfaz de usuario. Pero las acciones pueden ser llamadas de cron (o algo que parece cron).
Las acciones parecen ser trabajos secundarios. Es un trabajo que ejecuta - suena muy razonable para mí. No hay necesidad de definir una interfaz separada, ya que estamos asumiendo que es un trabajo de fondo. (Nota: no hay necesidad de AI aquí. Los trabajos de fondo han existido para siempre.)
El bucle que corre en el cron tampoco es nada especial, y ya se ha hecho. Hay una tarea de ejecución a nivel de sistema operativo que llama algo y duerme por ejemplo 15 segundos:
while true do
SomeStrategy.new({ ...with_params }).evaluate
sleep 15 # seconds
endDe nuevo, en lo que respecta a la arquitectura, el bot de trading corre continuamente el siguiente bucle:
For each position,
Evaluate the position according to some strategy.
If it says to place an order,
Place the order.
Sleep 15 seconds and repeat.¿Es esto un agente? Puede o no ser, pero también ya está implementado, se ha hecho. Así que vamos a describir semánticamente cómo funcionaría un agente de correo electrónico, ya que eso no ha sido hecho todavía, y puede ser más difícil.