Die Penny Jump-Hochfrequenz-Handelsstrategie

Schriftsteller:Null, Datum: 2014-08-18 12:52:35
Tags:Hochfrequenz

$1.01 x $1.03 200 und plötzlich kommt dieser schlaue institutionelle Investor und hängt einen Kauf von 3000 Aktien an, $1.01 und das Orderbuch wird dann $3.200. $1.01 x $1.03 200. Und wir nennen diesen schlauen institutionellen Investor oft den Elefanten, der Elefanten, und die High-Frequency-Händler wissen, dass der Preis von $1.01 unterstützt wird, und sie erhöhen ihren Kaufpreis um einen Cent auf $1.02, eine Strategie, die Penny Jump genannt wird, weil der High-Frequency-Händler weiß, dass in der nächsten Reihe ein Elefant unterstützt wird.

Wenn ein High-Frequency-Trader die Aktie kauft, kann er sie schnell gegen den Preis von $1.01 an den Elefanten verkaufen, auch wenn der Preis nicht nach oben steigt, da ein Elefant darunter unterstützt wird.

Für Hochfrequenz-Händler ist der Profit-Modus sehr einfach: Die Mikrostrukturen des Marktes vermuten die Absichten der Handelspartner, setzen sich vor den anderen auf und machen dann in kurzer Zeit einen kleinen Gewinn und verlassen den Markt schnell.

Für den Elefanten, der seine Handelsabsichten durch eine riesige Anzahlung auf dem Markt entlarvt hat, ist es natürlich ein Ziel, das von Hochfrequenzhändlern gejagt wird.

Und in der realen Welt des Aktienhandels sollte es selten sein, dass diese schlauen institutionellen Anleger offensichtlich große Aufschlüsse auf dem Markt hängen. Vielmehr hängen große institutionelle Anleger häufig absichtlich große Aufschlüsse auf, um eine Aktie zu verlassen, um eine Fälschung zu erzeugen, um Hochfrequenzhändler zu locken, um die Aktienpreise zu steigern, und dann ein weiteres Gehirn, das die Ware umwirft, und das ist mein Gewinnhandel in der Welt.

Für Hochfrequenz-Händler, wenn diese Strategie einmal durchschaut wurde und von Gaming-Liebhabern verworfen wurde, kehrten sie zurück, um sich gegen die Lüge zu wehren und Strategien zu entwickeln, um die Tofu zu essen, die von institutionellen Investoren gegen die Lüge verworfen wird.

Bild:

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);
    }
}

Verwandt

Mehr

caixb1233Z ist groß, funktioniert diese Strategie derzeit noch?

bbDanke für die Kommentare, die ich nicht so gut verstanden habe, danke! 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