Pensamento sobre a movimentação de ativos por meio de estratégias de contractual hedge

Autora:Condé, Criado: 2020-10-20 16:48:32, Atualizado: 2023-09-26 20:59:29

img

Pensamento sobre a movimentação de ativos por meio de estratégias de contractual hedge

Recentemente, os círculos de moeda podem ser chamados de notícias contínuas, as notícias das bolsas também estão cheias de céu aberto. Ao mesmo tempo, todos os amigos da moeda ficaram com medo, preocupados com a segurança de seus ativos blockchain. Os grupos de moeda também têm 9 descontos, 8 descontos e pequenos anúncios de depósito de moeda de segunda mão. É verdade que fazer dinheiro com estabilidade, perder dinheiro com estabilidade, é tudo.money printerNão é bom encontrar. O blogueiro também escreveu sobre o assunto:

No entanto, ainda existem instabilidades, como por exemplo, a obtenção de lucros e prejuízos mínimos por meio de contractual hedging.

DEMO estratégia

/*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    // 加仓价格步长

function main() {
    var pos1 = []
    var pos2 = []
    var ct = "quarter"                         // 例如用季度合约
    exchanges[0].SetContractType(ct)
    exchanges[1].SetContractType(ct)
    var diff = 0

    while (true) {
        var r1 = exchanges[0].Go("GetDepth")   // A交易所
        var r2 = exchanges[1].Go("GetDepth")   // 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

img

A lógica estratégica: A estratégia começa com a inicialização da variável pos1, pos2 como um conjunto de números vazios. A estratégia entra no ciclo principal, começando cada ciclo a obter dados de profundidade dos contratos dos dois mercados (dados de ordem finos), calculando o diferencial. Se o diferencial continuar a se expandir acima do valor do último diferencial, adicionar um passo, o hedge continua.

O princípio é realmente muito simples, ou seja, o diferencial é grande, contra o impulso. O mercado que espera um prejuízo está em equilíbrio quando mantém um prejuízo, se o diferencial continuar a se expandir, continue a fazer o hedge até que o mercado que espera um prejuízo tenha um prejuízo. Alguns parâmetros mais importantes são: quanto o prejuízo está em equilíbrio, o ritmo do diferencial, a quantidade de hedge.

A estratégia é mais simples, é apenas uma verificação da idéia, o disco real não está disponível. O disco real também tem muitas questões a serem consideradas, como se o contrato a ser negociado é o preço da moeda, ou o preço U, se os múltiplos de diferentes contratos das bolsas A e B são iguais, etc.

Isso permite que uma bolsa perca dinheiro e parte do prejuízo seja aproximadamente a parte do ganho de outra bolsa (problema de diferença, pode haver um prejuízo de hedge, ou seja, mais prejuízos do que ganhos).$.CoverShort,$.OpenShortEstas são as funções de interface do modelo, e o DEMO acima precisa de referência para executar o teste de retorno.

O protótipo da estratégia acima é apenas uma pequena exploração mais simples, mas pode haver mais detalhes a serem considerados na operação concreta, como o aumento de carga pode ser projetado como incremental. Aqui é apenas jogar um cartão de crédito, uma estratégia semelhante deve ter mais otimização.


Relacionados

Mais.

EsfregaçoPor favor, instalem-na o mais rápido possível, se quiserem usar a minha moeda de jogo para alugar.

Sonhos pequenosO autor, no começo, diz que a instabilidade e o mau funcionamento são possibilidades de voltar atrás.