契約ヘッジ戦略で資産移動を実現する思考

作者: リン・ハーンカンド, 作成日: 2020-10-20 16:48:32, 更新日: 2023-09-26 20:59:29

img

契約ヘッジ戦略で資産移動を実現する思考

最近,コインサークルはニュースが絶え間なく,取引所のニュースは天空を飛ぶ. 一時期,各コイン友人は不安で,自分のブロックチェーン資産の安全を心配しています. 各コインサークルグループは9割8割の小さな広告を放置しています. 各種,安定したお金を稼ぐために,安定したお金を稼ぐために,戦略的な勝者がたくさんいます. また,コイン友人は,安定したお金を稼ぐために,安定したお金を稼ぐために,安定したお金を稼ぐために,なぜ? 安定した収入や安定した損失はmoney printer検索結果も不明です. 私の英語が悪いのでごめんなさい.

しかし,不安定性も存在する.例えば,契約をヘッジすることで,最大限の損失と最大限の利益を得ることができる.

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

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

戦略的論理: 戦略は,持有量pos1、pos2を空数集合として初期化し始めます. 戦略は主循環に入り,各サイクルで2つの取引所の契約の深度データ (注文薄データ) を入手し,差を計算します. 差が,前回の差を1つ増やすまで拡大し続けると,負債を押金し続けます. 持有時に,最初の取引所の持有損失を一定の数値 (例えば:-0.001) を超えると検出します. 平衡します. そうそう繰り返します.

原則は実際非常にシンプルである. 差額が大きいと,反冲走である. 損失を期待する取引所が負債を保持するときに平衡し,差額が拡大し続けると,損失を期待する取引所が負債を保持するまで,負債を保持し続けます. より重要ないくつかのパラメータは,負債の平衡量,負債を期待する取引所の幅,負債を保持する量です.

戦略は比較的簡潔で,単にアイデアを検証するだけであり,リアルディスクは利用できない.リアルディスクには,取引する契約がコイン本位かU本位か,A,Bの異なる契約の倍数が同じかどうかなど,多くの問題がある.

この方法では,ある取引所が損をする場合,その損失の一部が他の取引所が儲ける部分に左右される. (差額問題は,負債よりも負債が多くなるヘッジ損失がある可能性があります).$.CoverShort,$.OpenShortテンプレートのインターフェース関数である. 上記のDEMOは,このクラスバリエーを参照して実行される.

上記の戦略プロトタイプは,最も簡単な小さな探求に過ぎず,具体的な実際の操作では,さらに多くの詳細を考慮する必要がある可能性があります.例えば,加積量は増加するように設計することができます.ここは,単に引数を投げるだけです.類似の戦略には,より多くの最適化が可能で,熟練した人がアドバイスをしてください.


関連性

もっと

骨ナイフできるだけ早く 組み立てて下さい 借りたいコインを 持ち出してください

小さな夢この記事の著者は,まず,不安定で,うまくいかないことが,逆転する可能性があると書いている.