Estrategias de negociación cuantificadas para realizar análisis de dinámica de precios con Python

El autor:La bondad, Creado: 2019-08-09 15:49:06, Actualizado: 2023-10-20 20:13:38

img

Introducción a las estrategias de negociación de movimiento de precios

Las estrategias de negociación de movimiento analizan la relación entre el precio de apertura, el precio máximo y el precio mínimo en un período determinado, para analizar el contraste de las fuerzas del espacio libre, para obtener una idea indirecta de la distribución de las fuerzas de ambos lados del espacio libre en el mercado actual.

El análisis de la dinámica de los precios tiene un gran número de aplicaciones en las listas manuales tradicionales, especialmente para determinar la tendencia unilateral durante el día.

Este artículo utilizará esta estrategia para desarrollar un programa de automatización de transacciones de divisas digitales en la red de tokens.

Fórmulas para calcular la dinámica de los precios

AR = suma de todos los días de N (High-Open) y todos los días de N (Open-Low) * 100

Esto incluye:

  • N: ventana de estadísticas del ciclo de tiempo diurno, por defecto es generalmente de 30 días, ya que un mes tiene aproximadamente 30 días de día de negociación efectivo ((transacciones de monedas digitales 24/7, esta cifra puede ser un poco conservadora)

  • High: el precio más alto en un día

  • Open: el precio de apertura del día

  • Low: el precio más bajo de un día

Métodos de uso de la dinámica de precios

La movilidad del precio durante un período de tiempo, responde a la posición del precio de apertura entre el precio más alto y el precio más bajo, y esta posición es la base sobre la cual se determina el tirón de fuerza de ambos lados.

  • Supongamos que este valor es de alrededor de 100, más de 100, la fuerza de la cabeza múltiple comienza a aumentar, menos de 100, la fuerza de la cabeza vacía comienza a acumularse.
  • Cuando el valor de AR sube, indica que el mercado está activo, popular, y que la mayoría de los líderes están en auge, pero si es demasiado alto, significa que el precio ha entrado en la zona de sobrecompra, y se debe elegir el equilibrio temporal.
  • Cuando el valor de AR baja, indica una recesión del mercado, la atmósfera está en auge y requiere más esfuerzo, mientras que si es demasiado bajo, sugiere que el precio puede haber caído en la zona de sobreventa, por lo que se puede considerar que el servidor es más.

Tenga en cuenta que los números anteriores son valores por defecto y no son constantes de la verdad. En el proceso de transacción real, debemos modificar el intervalo para adaptarlo a los cambios en el mercado.

Estrategias de transacción cuantificadas de la dinámica de precios con Python

La vieja regla es que abrimos, y luego abrimos, y luego abrimos.FMZ.COMEn la actualidad, la mayoría de las aplicaciones de este tipo están disponibles en el sitio web de Google.

Para más información sobre cómo implementar administradores y robots, consulte mi artículo anterior:https://www.fmz.com/bbs-topic/4140

Los lectores que quieran comprar su propio administrador de servidores en la nube pueden consultar este artículo:https://www.fmz.com/bbs-topic/2848

A continuación, hacemos clic en la librería de políticas en el menú de la izquierda y hacemos clic en crear una nueva política.

En la esquina superior derecha de la página de políticas de redacción, recuerde que el lenguaje de programación que se selecciona es Python, como se muestra:

img

A continuación, escribimos el código de Python en la página de edición de código, el código de abajo, con una nota muy detallada línea a línea, que los lectores pueden entender y darse cuenta lentamente, lo más importante es que, aunque esta estrategia está escrita en base a la negociación in situ, pero el aspecto extensible del siguiente código también tiene en cuenta la negociación de futuros, los lectores interesados pueden intentar escribir el siguiente código en negociación de futuros, la lógica de la estrategia misma es universal.

Así que empezamos a implementar esta estrategia con el token de Bitcoin en la red de tokens:

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型
def main(): # 主函数,策略逻辑从这里开始
    IDLE = 0 # 用来标记持仓状态,可以理解为0即为空闲状态,也就是空仓状态
    LONG = 1 # 多头持仓
    SHORT = 2 # 空头持仓,注意,此策略应用于现货市场,所以不存在空头开仓或者持仓情况,这里这样写,是为了方便理解策略和以后的扩展(如扩展到期货市场)
    state = IDLE # 标记持仓状态的变量
    while True: # 进入循环
        r = exchange.GetRecords() #GetRecords是发明者量化平台的官方API,详细用法请参见:https://www.fmz.com/api
        if len(r) <= 1: # 判断K线是否大于一根,也就是当前是否为开盘状态,否则可能会进入死循环,这里也方便读者进行扩展,大一些的K线周期趋势状态更稳定。
           Log("bar的数量不足, 等待下一根bar...") # 输出日志
           continue # Python循环控制语句,继续下边的循环内容

        # 开始进行价格动量的量化分析
        ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # 计算公式

        account = _C(exchange.GetAccount) # 获取账户信息,_C同样为发明者量化平台的官方API,用法请参见:https://www.fmz.com/api

        if ar < 95 and (state == IDLE or state == SHORT) :  # AR值小于超卖线且账户拥有资金,则全仓买入
           
           if account["Balance"] > 50:
                exchange.Buy(-1, account["Balance"] * 0.9) # 市价单全仓买入
                state = LONG # 改变持仓状态为LONG
                  
        elif ar > 80 and (state == IDLE or state == LONG):  # AR值大于超买线且账户有持仓,则全仓卖出
            
           if account["Stocks"] > 0.01:
                exchange.Sell(-1, account["Stocks"] * 0.9) # 市价单全仓卖出
                state = SHORT # 改变持仓状态为SHORT
                      
        LogStatus(_D(), exchange.GetAccount() , state) # 更新日志信息

Retrospectiva estratégica

Después de escribir la estrategia, lo primero que debemos hacer es volver a analizarla y ver cómo se muestra en los datos históricos, pero tenga en cuenta, lectores, que los resultados de la revisión no equivalen a predicciones futuras, sino que solo sirven como una información de referencia para considerar la efectividad de nuestra estrategia. Una vez que el mercado cambia y la estrategia comienza a tener grandes pérdidas, debemos detectar el problema en el momento adecuado y luego cambiar la estrategia para adaptarnos al nuevo entorno del mercado, por ejemplo, el umbral mencionado anteriormente.

En la página de revisión, los parámetros se pueden ajustar de acuerdo con las necesidades, para realizar una puesta a punto fácil y rápida, especialmente para las políticas lógicamente complejas y con muchos parámetros, sin tener que volver al código fuente y realizar modificaciones individuales.

Para evaluar el tiempo, seleccionamos el último mes, clicamos en agregar el token a la bolsa de divisas, en el indicador de BTC.

img

Vea los resultados de las revisiones

img

Como se puede ver, esta estrategia se ha desempeñado bien en las revisiones de este mes.

Las ventajas y desventajas de las estrategias de movilidad de precios

  • Las ventajas

Comparado con otros indicadores técnicos tradicionales, la ventaja de la dinámica de precios es que no utiliza un único precio de apertura o de cierre, sino que introduce precios máximos y mínimos. Se hace una comparación dinámica de ellos, a través de la fluctuación de los precios durante el día, lo que hace que la información del mercado sea más completa, reactiva y macro.

  • Las desventajas

El uso independiente del valor de movimiento de los precios para determinar si el precio es demasiado alto o bajo, para determinar si se hace mucho o poco, es muy probable que se abandone demasiado pronto en una ola de tendencias grandes, o se desprenda demasiado pronto en una ola de mercados bajos. En general, esta estrategia sigue siendo una estrategia de eficacia de la conmoción.

La configuración del umbral de la estrategia también debe determinarse en función de las características del indicador de negociación. Los precios de los mercados de monedas digitales son relativamente altos y el volumen de negociación es enorme, especialmente en monedas convencionales como Bitcoin, y no hay límites de caída y bajada, por lo que el umbral es más alto que el mercado de acciones tradicionales, con 80 líneas de superventa, que generalmente son difíciles de tocar, y producen menos señales de compra; mientras que las líneas de superventa de 170 a menudo están por debajo del umbral, pero las señales de venta se desencadenan con frecuencia.

Por lo tanto, este mercado nunca ha tenido una estrategia de negociación de copa sagrada, una estrategia para ganar dinero para siempre sin necesidad de repetición, sin necesidad de despacho.

Los amigos con problemas pueden venir.https://www.fmz.com/bbsLos inventores cuantifican las plataformas con personal especializado para responder a sus preguntas, ya sea sobre estrategias o tecnología.


Relacionados

Más.

- ¿ Qué?Muchas gracias.