Une stratégie de trading à haute fréquence - Penny Jump

Auteur:Nul, Date: 18 août 2014 12:52:35
Les étiquettes:À haute fréquence

$1.01 x $1.03 200, puis tout d'un coup, ce type d'investisseur institutionnel en colère arrive et accroche un paiement de 3000 actions pour $1.01, ce qui fait que le carnet d'ordres devient $3.200. $1.01 x $1.03 200. Et nous appelons généralement ce type d'investisseur institutionnel en colère un éléphant en colère, un éléphant en colère, et les traders à haute fréquence savent que le prix de $1.01 est soutenu par un paiement, alors ils augmentent leur prix d'offre d'un centime à $1.02, et cette stratégie s'appelle le Penny Jump; parce que les traders à haute fréquence savent qu'il y a un éléphant en colère dans la prochaine rangée, donc s'il monte jusqu'à $1.03 x $1.05, il peut immédiatement faire un profit de $0.01.

Si le trader de haute fréquence achète cette action, même si le prix n'est pas en hausse parce qu'il y a un éléphant qui la soutient en bas, il peut rapidement la revendre à un prix de 1.01 $.

Pour les traders à haute fréquence, la façon dont ils gagnent est en fait très simple: les microstructures du marché devinent l'intention de l'opposant, puis ils établissent une position avant les autres.

Dans le cas de l'éléphant, il a exposé ses intentions commerciales en suspendant une somme énorme sur le marché, devenant naturellement une cible de chasse pour les traders à haute fréquence.

Dans le monde réel de la négociation d'actions, il devrait y avoir très peu d'investisseurs institutionnels qui affichent des offres énormes sur le marché. Il est plutôt courant que les grands investisseurs institutionnels, qui veulent sortir d'une seule action, affichent délibérément des offres énormes pour créer une illusion, pour attirer des traders à haute fréquence pour faire monter les prix des actions, puis un autre coup de main pour les faire tomber, et c'est ce que j'appelle une arnaque dans le monde.

Pour les traders de haute fréquence, une fois que cette stratégie est détectée et mise à l'épreuve, ils se retournent contre la manipulation et développent une stratégie pour manger le tofu de la manipulation des investisseurs institutionnels.

Le texte est en anglais.

img



var Counter = {
    i: 0,
    w: 0,
    f: 0
};

// Variables
var InitAccount = null;

function CancelAll() {
    while (true) {
        var orders = _C(exchange.GetOrders);
        if (orders.length == 0) {
            break;
        }
        for (var i = 0; i < orders.length; i++) {
            exchange.CancelOrder(orders[i].Id);
        }
        Sleep(Interval);
    }
}

function updateStatus(msg) {
    LogStatus("调戏次数:", Counter.i, "成功:", Counter.w, "失败:", Counter.f, "\n"+msg+"#0000ff\n"+new Date());
}

function main() {
    if (DisableLog) {
        EnableLog(false);
    }
    CancelAll();
    InitAccount = _C(exchange.GetAccount);
    Log(InitAccount);
    var i = 0;
    var locks = 0;
    while (true) {
        Sleep(Interval);
        var depth = _C(exchange.GetDepth);
        if (depth.Asks.length === 0 || depth.Bids.length === 0) {
            continue;
        }
        updateStatus("搜索大象中.... 买一: " + depth.Bids[0].Price + ",  卖一:" + depth.Asks[0].Price + ", 锁定次数: " + locks);
        var askPrice = 0;
        for (i = 0; i < depth.Asks.length; i++) {
            if (depth.Asks[i].Amount >= Lot) {
                askPrice = depth.Asks[i].Price;
                break;
            }
        }
        if (askPrice === 0) {
            continue;
        }
        var elephant = null;
        // skip Bids[0]
        for (i = 1; i < depth.Bids.length; i++) {
            if ((askPrice - depth.Bids[i].Price) > ElephantSpace) {
                break;
            }
            if (depth.Bids[i].Amount >= ElephantAmount) {
                elephant = depth.Bids[i];
                break;
            }
        }

        if (!elephant) {
            locks = 0;
            continue;
        }
        locks++;
        if (locks < LockCount) {
            continue;
        }
        locks = 0;

        updateStatus("调戏大象中....大象在第" + i + "档, " + JSON.stringify(elephant));
        exchange.Buy(elephant.Price + PennyTick, Lot, "Bids[" + i + "]", elephant);
        var ts = new Date().getTime();
        while (true) {
            Sleep(CheckInterval);
            var orders = _C(exchange.GetOrders);
            if (orders.length == 0) {
                break;
            }
            if ((new Date().getTime() - ts) > WaitInterval) {
                for (var i = 0; i < orders.length; i++) {
                    exchange.CancelOrder(orders[i].Id);
                }
            }
        }
        var account = _C(exchange.GetAccount);
        var opAmount = _N(account.Stocks - InitAccount.Stocks);
        if (opAmount < 0.001) {
            Counter.f++;
            Counter.i++;
            continue;
        }
        updateStatus("买单得手: " + opAmount +", 开始出手...");
        exchange.Sell(elephant.Price + (PennyTick * ProfitTick), opAmount);
        var success = true;
        while (true) {
            var depth = _C(exchange.GetDepth);
            if (depth.Bids.length > 0 && depth.Bids[0].Price <= (elephant.Price-(STTick*PennyTick))) {
                success = false;
                updateStatus("没有得手, 开始止损, 当前买一: " + depth.Bids[0].Price);
                CancelAll();
                account = _C(exchange.GetAccount);
                var opAmount = _N(account.Stocks - InitAccount.Stocks);
                if (opAmount < 0.001) {
                    break;
                }
                exchange.Sell(depth.Bids[0].Price, opAmount);
            }
            var orders = _C(exchange.GetOrders);
            if (orders.length === 0) {
                break;
            }
            Sleep(CheckInterval);
        }
        if (success) {
            Counter.w++;
        } else {
            Counter.f++;
        }
        Counter.i++;
        var account = _C(exchange.GetAccount);
        LogProfit(account.Balance - InitAccount.Balance, account);
    }
}

Relationnée

Plus de

- Je ne sais pas.La stratégie est-elle encore efficace pour le moment?

bbMerci beaucoup pour le partage, je ne comprends pas encore, merci pour les commentaires, merci! https://dn-filebox.qbox.me/91dee18be7307389046517f405b410897a1f3fb9.png https://dn-filebox.qbox.me/4d90b4713a44f61b3a836114fceaf62bcff0756e.png https://dn-filebox.qbox.me/1937c68cfe9f33040d29e03efa5160e13c5ad174.png https://dn-filebox.qdn.me/bdc54915ecc86cebb582fee0307758519207a78.png