En el caso de las entidades de crédito, el valor de las pérdidas derivadas de las operaciones de cobertura de riesgo se calcula en función de las pérdidas derivadas de las operaciones de cobertura.

El autor:- ¿ Por qué?, Creado: 2022-12-19 16:36:12, Actualizado: 2023-09-20 10:38:30

img

En el caso de las entidades de crédito, el valor de las pérdidas derivadas de las operaciones de cobertura de riesgo se calcula en función de las pérdidas derivadas de las operaciones de cobertura.

Recientemente, ha habido muchas noticias sobre el mercado de divisas digitales y el intercambio. Durante un tiempo, todos los amigos de la moneda estaban en un estado de pánico, preocupados por la seguridad de sus activos de blockchain. También hay muchos anuncios pequeños de 10% y 20% de descuento para monedas de segunda mano inactivas en varios grupos del mercado de divisas. Hay muchos tipos de estrategias de buscando perder dinero constantemente mientras ganas dinero constantemente. Muchos usuarios también se burlaron Si hay un generador de dinero estable, ¿por qué quieres un generador de dinero estable? Es cierto que tanto hacer ganancias estables como perder dinero estable esmoney printer, que no es fácil de encontrar. Perdóname por mi pobre inglés.

Por ejemplo, mediante la cobertura contractual, podemos obtener ganancias mientras hacemos pérdidas tanto como sea posible.

Estrategia DEMO

/*backtest
start: 2020-09-30 00:00:00
end: 2020-10-19 00:00:00
period: 1d
basePeriod: 1m
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"},{"eid":"Futures_HuobiDM","currency":"BTC_USD"}]
*/

var step = 20    // Step length of adding position price

function main() {
    var pos1 = []
    var pos2 = []
    var ct = "quarter"                         // For example, quarterly contract
    exchanges[0].SetContractType(ct)
    exchanges[1].SetContractType(ct)
    var diff = 0

    while (true) {
        var r1 = exchanges[0].Go("GetDepth")   // Exchange A
        var r2 = exchanges[1].Go("GetDepth")   // Exchange B
        var depth1 = r1.wait()
        var depth2 = r2.wait()

        if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff) {
            if(pos1.length == 0 && pos2.length == 0) {
                var info1 = $.OpenShort(exchanges[0], ct, 10)
                var info2 = $.OpenLong(exchanges[1], ct, 10)
                pos1 = _C(exchanges[0].GetPosition)
                pos2 = _C(exchanges[1].GetPosition)
                diff = depth1.Bids[0].Price - depth2.Asks[0].Price
            } else if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff + step) {
                var info1 = $.OpenShort(exchanges[0], ct, 10)
                var info2 = $.OpenLong(exchanges[1], ct, 10)
                pos1 = _C(exchanges[0].GetPosition)
                pos2 = _C(exchanges[1].GetPosition)
                diff = depth1.Bids[0].Price - depth2.Asks[0].Price
            }
        }
        
        if(pos1.length != 0 && pos1[0].Profit < -0.001) {
            var info1 = $.CoverShort(exchanges[0], ct, pos1[0].Amount)
            var info2 = $.CoverLong(exchanges[1], ct, pos2[0].Amount)
            pos1 = _C(exchanges[0].GetPosition)
            pos2 = _C(exchanges[1].GetPosition)
            diff = 0
        }
        LogStatus(_D(), diff)
        Sleep(500)
    }
}

img

La lógica de la estrategia: La estrategia comienza a iniciar las variables de posición pos1 y pos2 como matriz vacía. La estrategia entra en el bucle principal. Al comienzo de cada bucle, se obtienen los datos de profundidad (datos del libro de pedidos) de los contratos de los dos intercambios para calcular la diferencia de precio. Si la diferencia de precio continúa expandiéndose y más allá de la última diferencia de precio más una longitud de paso, continúa la cobertura y la adición de posiciones. Cuando se mantiene la posición, se detecta que la pérdida de posición del primer intercambio excede un cierto valor (como -0.001), luego cierra la posición. Repita de esta manera.

El principio es muy simple, es decir, cuando la diferencia de precio es grande, entonces desabrochamos. Cuando esperamos la pérdida de la pérdida esperada de la posición de cambio, cerramos la posición. Si la diferencia de precio continúa expandiéndose, seguimos agregando posiciones para cubrir hasta la pérdida esperada de la pérdida de posición de cambio. Los parámetros importantes son: la cantidad de pérdida para cerrar la posición, la longitud del paso de agregar la diferencia de precio de posición y la cantidad de cobertura.

La estrategia es bastante rudimentaria, solo para verificar la idea, el bot real no está disponible. Todavía hay muchos problemas a considerar para un bot real, por ejemplo, si el contrato a negociar es estándar de moneda o estándar U, y si los multiplicadores de diferentes contratos en los intercambios A y B son los mismos.

De esta manera, un intercambio perderá dinero, y la parte de pérdida se convertirá en la parte de ganancia de otro intercambio (diferencia de precio, puede haber pérdida de cobertura, es decir, la pérdida es mayor que la ganancia).$.OverShort, $.OpenShort, estas son las funciones de interfaz de la plantilla. Para ejecutar la demostración anterior, debe hacer referencia a esta biblioteca de clases.

El prototipo de estrategia anterior es solo la exploración más simple, y puede haber más detalles a considerar en la operación real, por ejemplo, la cantidad de posiciones se puede diseñar de forma incremental.


Relacionados

Más.