하이프레크 트레이딩 전략 - 페니 점프

저자:제로, 날짜: 2014-08-18 12:52:35
태그:고주파

$1.01 x $1.03 200. 그리고 갑자기 이 은 기관투자자가 들어와서 3000개의 $1.01 주식을 지불하게 됩니다. 그러면 주문책은 $3.200이 됩니다. $1.01 x $1.03 200입니다. 그리고 우리는 보통 이 은 기관투자자를 은 코끼리, 코끼리 코끼리라고 부릅니다. 그리고 이 높은 주파수 거래자는 $1.01의 가격에 대한 지원을 알고 있습니다. 그래서 그들은 그들의 입찰 가격을 1센트로 $1.02로 올립니다. 이 전략은 페니 점프 (Penny Jump) 라고 불립니다. 왜냐하면 이 높은 주파수 거래자는 다음 순위에서 코끼리 한 마리가 지지하고 있다는 것을 알고 있기 때문입니다.

만약 하이프레크 거래자가 이 주식을 구매한 후, 가격이 상승하지 않더라도, 아래의 코끼리가 지지를 받고 있기 때문에, 그는 이 코끼리를 $1.01로 빠르게 팔 수 있다.

높은 주파수 거래자의 경우 수익을 창출하는 방법은 매우 간단합니다. 시장의 미세 구조 (microstructure) 에 의해 거래 상대방의 의도를 추측하고 다른 사람들보다 먼저 위치를 설정하고 짧은 시간에 미세한 수익을 창출하고 빠르게 시장에서 빠져 나갑니다.

이 코끼리의 경우, 그는 시장에 엄청난 금액의 지불금을 걸고 있기 때문에 거래 의도를 드러내며, 자연스럽게 하이프레크 거래자의 사냥의 표적이 된다.

그리고 실제 주식 거래 세계에서는, 이런 유능한 기관투자자가 시장에 대대적인 청탁 (또는 판매 청탁) 을 공개적으로 올리는 것은 거의 없을 것입니다. 대신, 큰 기관투자자가 주식에서 벗어나고 싶어하는 경우가 종종 있습니다. 그래서 고기동 거래자가 주식 가격을 올리기 위해 현장에 들어오도록 유도하기 위해 허위를 만들기 위해 의도적으로 대대적인 청탁을 올립니다.

높은 주파수 거래자에게는, 이 전략이 인식되고 에 맞게 될 때, 그들은 다시 에 반대하여 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게 에 맞게

이 사진은:

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

관련

더 많은

caixb1233z 대, 이 전략은 현재 실제 디스크에 유효한가요?

bb이 부분의 본문은 http://dn-filebox.qbox.me/91dee18be7307389046517f405b410897a1f3fb9.png https://dn-filebox.qbox.me/4d90b4713a44f61b3a836114fceaf62bcff0756e.png https://dn-filebox.qbox.me/1937c68cfe9f33040d29e03efa5160e13c5ad174.png