리소스 로딩... 로딩...

계약 헤지 전략으로 자산 이동을 실현하는 생각

저자:칸트, 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를 빈 집합으로 초기화하기 시작합니다. 전략은 주전으로 들어가서 각 루프마다 두 거래소의 계약의 깊이 데이터를 얻기 시작합니다. (예: 주문 얇은 데이터), 미화 계산. 미화가 지난 미화보다 더 커질 때까지 계속 확대되면 미화 1 단계 더하면 헤지핑을 계속합니다. 포지션을 보유할 때, 첫 번째 거래소의 포지션 손실을 특정 수치 (예: -0.001) 이상 탐지합니다. 평형. 그렇게 반복됩니다.

원리는 실제로 매우 간단합니다. 즉, 이차가 큰 경우, 부진을 반대합니다. 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가 손실을 기대하는 거래소가

전략은 간단하다. 단지 아이디어를 검증하는 것뿐이며, 실제 거래소는 사용할 수 없다. 실제 거래소는 거래 계약이 동전 본위, 또는 U 본위, A, B 거래소의 다른 계약의 배수가 같다는 것과 같은 많은 문제를 고려해야 한다.

이 방법은 한 거래소가 손실을 입는 것을 달성하고 손실의 일부가 다른 거래소의 이익의 일부로 바뀌는 것을 달성합니다. (차별 문제, 헤지 손실이 발생할 수 있습니다. 즉, 이익보다 손실이 더 많을 수 있습니다.)$.CoverShort,$.OpenShort이러한 것은 템플릿의 인터페이스 함수이며, 위의 DEMO는 이 클래스 라이브러리를 참조하여 다시 테스트를 실행해야 합니다.

위의 전략 프로토타입은 가장 간단한 작은 탐구일 뿐이며, 구체적인 실제 동작에는 더 많은 세부 사항이 고려되어야 할 수 있습니다. 예를 들어, 부양량은 증가하는 방식으로 설계 될 수 있습니다. 여기서는 단지 주사위를 던지기 위해, 비슷한 전략은 더 많은 최적화가 가능해야하며, 숙련된 사람들이 조언을 제공하면 좋습니다.


관련

더 많은

뼈 칼제가 빌려주고 싶은게 있다면, 제 게임화를 꺼내주십시오.

발명가들의 수량화 - 작은 꿈이 글의 저자는 사실 불안정하고 엉망이 되면 다시 돌아갈 수 있다고 말했습니다.