डिजिटल मुद्रा के लिए उच्च आवृत्ति रणनीति का विस्तार से परिचय

लेखक:घास, बनाया गयाः 2023-03-10 10:09:13, अद्यतन किया गयाः 2023-09-18 20:13:58

img

[TOC] मैंने 2020 में एक लेख लिखा था जिसमें उच्च आवृत्ति रणनीतियों के बारे में बताया गया था।https://www.fmz.com/digest-topic/6228...............................................................................................................................................................................................................................................................

उच्च आवृत्ति लेनदेन के लिए शर्तें

  • रिटर्न कमीशन खाता, उदाहरण के लिए, बिनायन, वर्तमान में निर्माता रिटर्न कमीशन 5 में से एक सौ हजार है, यदि दैनिक लेनदेन की मात्रा 100 मिलियन यू है, तो रिटर्न कमीशन 5000 यू है। बेशक टेकर भी वीआईपी दर पर आधारित है, इसलिए यदि रणनीति को खाने की आवश्यकता नहीं है, तो वीआईपी स्तर उच्च आवृत्ति रणनीति पर बहुत अधिक प्रभाव नहीं डालता है। सामान्य रूप से एक्सचेंजों के विभिन्न स्तरों में अलग-अलग रिटर्न कमीशन दरें भी हैं, जिन्हें उच्च लेनदेन की मात्रा बनाए रखने की आवश्यकता होती है। बहुत पहले कुछ मुद्रा बाजारों में उतार-चढ़ाव बड़ा था, रिटर्न कमीशन भी लाभदायक था, और इन-वॉल्यूम में वृद्धि के साथ, रिटर्न कमीशन लाभ का एक बड़ा अनुपात है, और यहां तक कि पूरी तरह से रिटर्न कमीशन पर भरोसा करते हैं, उच्च आवृत्ति व्यापारी शीर्ष शुल्क का पीछा करते हैं।

  • गति; उच्च आवृत्ति नीति को उच्च आवृत्ति कहा जाता है क्योंकि यह बहुत तेज़ है; एक्सचेंज कोलो सर्वर में शामिल होने के लिए न्यूनतम विलंबता और सबसे स्थिर कनेक्शन प्राप्त करने के लिए भी इनपुट की शर्तों में से एक है; नीति का आंतरिक समय भी कम से कम होना चाहिए।

  • उचित बाजारों को उच्च आवृत्ति व्यापार को मात्रात्मक व्यापार का मोती कहा जाता है, मुझे विश्वास है कि बहुत से प्रक्रियात्मक व्यापारियों ने कोशिश की है, लेकिन ज्यादातर लोगों को रोकना चाहिए क्योंकि वे पैसा नहीं कमाते हैं और सुधार की दिशा नहीं पाते हैं, मुख्य कारण गलत व्यापार बाजारों को ढूंढना है। रणनीति के प्रारंभिक चरण में व्यापार करने के लिए अपेक्षाकृत आसान बाजारों को ढूंढना चाहिए, ताकि लाभदायक और सुधारात्मक प्रतिक्रियाएं भी हों, जो रणनीति की प्रगति के लिए फायदेमंद हों। यदि सबसे अधिक प्रतिस्पर्धी बाजारों में शुरू होता है, जहां कई संभावित प्रतिद्वंद्वियों के साथ प्रतिस्पर्धा होती है, तो प्रयास करना जल्दी से हार जाता है। मैं नए स्थायी अनुबंध व्यापार जोड़े की सलाह देता हूं, जब प्रतियोगियों की संख्या बहुत कम होती है, विशेष रूप से अपेक्षाकृत बड़े व्यापार, जब पैसा बनाना सबसे आसान होता है। BTC और ETH के व्यापार का सबसे बड़ा हिस्सा सबसे सक्रिय होता है, लेकिन सबसे कठिन भी है।

  • प्रतिस्पर्धा का सामना करना पड़ता है; किसी भी व्यापार का बाजार गतिशील रूप से बदलता रहता है, कोई भी व्यापार रणनीति एक बार में कभी नहीं चल सकती है, उच्च आवृत्ति व्यापार अधिक स्पष्ट है, इस बाजार में प्रवेश करने के लिए सीधे सबसे बुद्धिमान, सबसे मेहनती व्यापारियों के समूह के साथ प्रतिस्पर्धा करना। शून्य और खेल वाले बाजार में, आप जो कुछ भी कमाते हैं, वह दूसरों की तुलना में कम होता है। प्रवेश करने के लिए देर से, कठिनाई अधिक होती है, बाजार में पहले से ही लगातार सुधार करना पड़ता है, किसी भी समय समाप्त हो सकता है। तीन या चार साल पहले सबसे अच्छा अवसर होना चाहिए था, हाल ही में डिजिटल मुद्रा बाजार की समग्र सक्रियता में गिरावट आई है, अब नए लोगों से उच्च आवृत्ति व्यापार करना बहुत मुश्किल हो गया है।

उच्च आवृत्ति सिद्धांत

उच्च आवृत्ति रणनीतियाँ

  • उच्च आवृत्ति वाले हेजिंग, इस एक्सचेंज या अन्य एक्सचेंजों के माध्यम से हेजिंग खोजने का अवसर, गति के लाभ के आधार पर ऑर्डर को जल्दी से खाने के लिए लाभ प्राप्त करना
  • उच्च आवृत्ति रुझान, अल्पकालिक रुझानों पर निर्णय लेने से लाभ
  • बाजार के व्यापारी होने के नाते, वे खरीद-बिक्री के दोनों पक्षों पर लेनदेन करते हैं, भंडारण को नियंत्रित करते हैं, और कमीशन वापस करके लाभ कमाते हैं।
  • कई और, कई अलग-अलग।

मेरी रणनीति ट्रेंड और मार्केटर्स का एक संयोजन है, पहले ट्रेंड का पता लगाएं, फिर ऑर्डर करें, लेनदेन के तुरंत बाद ऑर्डर करें और बेचें, बिना स्टॉक के, नीचे संयोजन रणनीति कोड के बारे में बताया गया है।

रणनीतिक ढांचा

नीचे दिया गया कोड बिनाइन परफेक्ट कॉन्ट्रैक्ट पर आधारित आर्किटेक्चर है, जो मुख्य रूप से वेबसॉकेट की गहराई में ऑर्डर प्रवाह ट्रेडों के बाजार और स्थिति की जानकारी को सब्सक्राइब करता है। चूंकि बाजार और खाता जानकारी अलग-अलग सब्सक्राइब की जाती है, इसलिए नवीनतम जानकारी प्राप्त करने के लिए लगातार read ((-1) का उपयोग करने की आवश्यकता होती है, यहां EventLoop ((1000) का उपयोग किया जाता है, जिससे सीधे मृत चक्र से बचा जा सकता है, जिससे सिस्टम भार कम हो जाता है। EventLoop ((1000) को wss या साथ ही कार्य वापस भेजने के लिए अवरुद्ध किया जाता है, जब 1000ms से अधिक समय लगता है।

var datastream = null
var tickerstream = null
var update_listenKey_time = 0

function ConncetWss(){
    if (Date.now() - update_listenKey_time < 50*60*1000) {
        return
    }
    if(datastream || tickerstream){
        datastream.close()
        tickerstream.close()
    }
    //需要APIKEY
    let req = HttpQuery(Base+'/fapi/v1/listenKey', {method: 'POST',data: ''}, null, 'X-MBX-APIKEY:' + APIKEY) 
    let listenKey = JSON.parse(req).listenKey
    datastream = Dial("wss://fstream.binance.com/ws/" + listenKey + '|reconnect=true', 60)
    //Symbols是设定的交易对
    let trade_symbols_string = Symbols.toLowerCase().split(',')
    let wss_url = "wss://fstream.binance.com/stream?streams="+trade_symbols_string.join(Quote.toLowerCase()+"@aggTrade/")+Quote.toLowerCase()+"@aggTrade/"+trade_symbols_string.join(Quote.toLowerCase()+"@depth20@100ms/")+Quote.toLowerCase()+"@depth20@100ms"
    tickerstream = Dial(wss_url+"|reconnect=true", 60)
    update_listenKey_time = Date.now()
}

function ReadWss(){
    let data = datastream.read(-1)
    let ticker = tickerstream.read(-1)
    while(data){
        data = JSON.parse(data)
        if (data.e == 'ACCOUNT_UPDATE') {
            updateWsPosition(data)
        }
        if (data.e == 'ORDER_TRADE_UPDATE'){
            updateWsOrder(data)
        }        
        data = datastream.read(-1)
    }
    while(ticker){
        ticker = JSON.parse(ticker).data
        if(ticker.e == 'aggTrade'){
            updateWsTrades(ticker)
        }
        if(ticker.e == 'depthUpdate'){
            updateWsDepth(ticker)
        }
        ticker = tickerstream.read(-1)
    }
    makerOrder()
}

function main() {
    while(true){
        ConncetWss()
        ReadWss()
        worker()
        updateStatus()
        EventLoop(1000)
    }
}

रणनीतिक संकेत

जैसा कि पहले कहा गया है, मेरी उच्च आवृत्ति रणनीति को पहले प्रवृत्ति को समझने और फिर खरीदारी करने की आवश्यकता होती है। लघु अवधि की प्रवृत्ति का निर्धारण मुख्य रूप से लेनदेन के अनुसार लेनदेन के डेटा पर आधारित है, यानी सदस्यता में एजीटीआरडी, जिसमें लेनदेन की दिशा, मूल्य, मात्रा, लेनदेन का समय आदि शामिल हैं। खरीदारी का मुख्य संदर्भ गहराई और लेनदेन की मात्रा है। नीचे दिए गए विवरण में ध्यान देने योग्य संकेतकों का वर्णन किया गया है, अधिकांश संकेतकों को खरीदारी के दो समूहों में विभाजित किया गया है, और सभी एक निश्चित समय खिड़की में गतिशील हैं।

  • प्रति लेन-देन औसत लेन-देन, प्रति लेन-देन 100ms के भीतर एक ही दिशा में और कीमत में अलग-अलग आदेशों का एक सारांश है, जो खरीद और बिक्री के आदेशों के आकार को दर्शाता है, यह डेटा वजन अधिक है, यह माना जा सकता है कि यदि खरीद और बिक्री के आदेशों से अधिक लेनदेन होता है, तो यह एक खरीदार-प्रधान बाजार है।
  • ऑर्डर फ्रीक्वेंसी या ऑर्डर इंटरवल, जो भी लेनदेन के आंकड़ों पर आधारित है, पहले से ही औसत लेनदेन समय के अवधारणा के बिना है, पूरी तरह से सटीक नहीं है, यदि एक दिशा में ऑर्डर की औसत लेनदेन बहुत कम है, लेकिन आवृत्ति बहुत अधिक है, तो यह भी इस दिशा की तीव्रता में योगदान देता है। औसत लेनदेन* ऑर्डर फ्रीक्वेंसी एक निश्चित अंतराल पर कुल लेनदेन का प्रतिनिधित्व करती है, जिसे सीधे तुलना के लिए इस्तेमाल किया जा सकता है। ऑर्डर तक पहुंचने वाली घटनाओं के लिए एक विशिष्ट घटना पारसोन वितरण के अनुरूप है, जिसका उपयोग एक साधारण अनुमान लगाने के लिए किया जा सकता है कि ऑर्डर तक पहुंचने का समय अंतराल कितना है।
  • औसत बाइनरी विकल्प मूल्य, जो समझ में आसान है, एक खरीदें या बेचें। वर्तमान बाइनरी विकल्पों में से अधिकांश एक टिक के अंतर पर हैं, यदि बाइनरी विकल्प मूल्य बड़ा हो जाता है, तो अक्सर एक बाजार का प्रतिनिधित्व करता है।
  • औसत खरीद-बिक्री मूल्य, प्रत्येक लेन-देन के लिए औसत मूल्य की गणना करना, और नवीनतम मूल्य की तुलना करना; उदाहरण के लिए, हाल ही में खरीदारी की कीमत औसत खरीदारी मूल्य से अधिक है, प्रारंभिक रूप से एक सफलता का फैसला किया जा सकता है।

रणनीतिक तर्क

अल्पकालिक रुझानों का आकलन

//bull代表短期看涨,bear短期看跌
let bull =  last_sell_price > avg_sell_price && last_buy_price > avg_buy_price &&
            avg_buy_amount / avg_buy_time > avg_sell_amount / avg_sell_time;
let bear =  last_sell_price < avg_sell_price && last_buy_price < avg_buy_price && 
            avg_buy_amount / avg_buy_time < avg_sell_amount / avg_sell_time;

यदि नवीनतम बिक्री मूल्य बिक्री ऑर्डर के औसत मूल्य से अधिक है, नवीनतम खरीद मूल्य खरीद के औसत मूल्य से अधिक है, और निश्चित अंतराल खरीद मूल्य बिक्री ऑर्डर के मूल्य से अधिक है, तो यह निर्णय लेने के लिए कि क्या यह कम समय में अच्छा है या बुरा है।

नीचे की कीमत

function updatePrice(depth, bid_amount, ask_amount) {

    let buy_price = 0
    let sell_price = 0
    let acc_bid_amount = 0
    let acc_ask_amount = 0

    for (let i = 0; i < Math.min(depth.asks.length, depth.bids.length); i++) {
        acc_bid_amount += parseFloat(depth.bids[i][1])
        acc_ask_amount += parseFloat(depth.asks[i][1])
        if (acc_bid_amount > bid_amount  && buy_price == 0) {
            buy_price = parseFloat(depth.bids[i][0]) + tick_size
        }
        if (acc_ask_amount > ask_amount  && sell_price == 0) {
            sell_price = parseFloat(depth.asks[i][0]) - tick_size
        }
        if (buy_price > 0 && sell_price > 0) {
            break
        }
    }
    return [buy_price, sell_price]
}

यहां भी पुराने विचार को लेते हुए, आवश्यक मात्रा तक पुनरावृत्ति की गहराई, यहां यह माना जाता है कि 1s के भीतर 10 पैसे का भुगतान किया जा सकता है, नए लिंकिंग की स्थिति को ध्यान में नहीं रखते हुए, बिक्री की कीमत 10 पैसे का भुगतान करने के लिए सेट की जाती है।

सूचीबद्ध संख्या

let buy_amount = Ratio * avg_sell_amount / avg_sell_time
let sell_amount = Ratio * avg_buy_amount / avg_buy_time

Ratio एक निश्चित अनुपात का प्रतिनिधित्व करता है, जो कि खरीद मात्रा को हाल ही में बेचे गए आदेशों के एक निश्चित अनुपात का प्रतिनिधित्व करता है। यह रणनीति वर्तमान खरीद और बिक्री गतिविधि के आधार पर आदेश आकार को समायोजित करने के लिए अनुकूल है।

शर्तें

if(bull && (sell_price-buy_price) > N * avg_diff) {
    trade('buy', buy_price, buy_amount)
}else if(position.amount < 0){
    trade('buy', buy_price, -position.amount)
}
if(bear && (sell_price-buy_price) >  N * avg_diff) {
    trade('sell', sell_price, sell_amount)
}else if(position.amount > 0){
    trade('sell', sell_price, position.amount)
}

जिसमें avg_diff औसत खाता बही का अंतर है, केवल उस समय भुगतान किया जाता है जब मौजूदा खरीद-बिक्री का अंतर एक निश्चित गुणक से अधिक होता है, और जब आप देख रहे होते हैं, तो यदि आप खाली खाते रखते हैं, तो यह भी समतल हो जाता है, लंबे समय तक चालान से बचने के लिए। नीचे का आदेश केवल-निर्माता के आदेशों को डाउनलोड कर सकता है, यह सुनिश्चित करने के लिए कि ऑर्डर लेनदेन हो। और बिनान के साथ अनुकूलित ऑर्डर आईडी का उपयोग कर सकता है, ताकि ऑर्डर वापस आने का इंतजार न करना पड़े।

समवर्ती संरचना

var tasks = []
var jobs = []

function worker(){
    let new_jobs = []
    for(let i=0; i<tasks.length; i++){
        let task = tasks[i]
        jobs.push(exchange.Go.apply(this, task.param))
    }
    _.each(jobs, function(t){
        let ret = t.wait(-1)
        if(ret === undefined){
            new_jobs.push(t)//未返回的任务下次继续等待
        }
    })
    jobs = new_jobs
    tasks = []
}

/*
需要的任务参数写在param里
tasks.push({'type':'order','param': ["IO", "api", "POST","/fapi/v1/order",
        "symbol="+symbol+Quote+"&side="+side+"&type=LIMIT&timeInForce=GTX&quantity="+
        amount+"&price="+price+"&newClientOrderId=" + UUID() +"&timestamp="+Date.now()]})
*/

निगरानी डेटा

  • विलंब, उच्च आवृत्ति रणनीतियों की गति के महत्व पर जोर दिया गया है, रणनीतियों में विभिन्न प्रकार के विलंब की निगरानी और रिकॉर्डिंग की जानी चाहिए, जैसे कि नीचे का आदेश, निकासी, स्थिति वापसी, गहराई, आदेश प्रवाह, स्थिति, समग्र चक्र आदि।
  • लेनदेन का अनुपात, आंकड़ों के अनुसार लेनदेन कुल लेनदेन का हिस्सा है, यदि अनुपात कम है, तो ऊपर जाने की जगह है। चरम समय पर, रणनीतिक अनुपात कुल लेनदेन का 10% से अधिक तक पहुंचना भी संभव है।
  • पट्टे पर रिटर्न, एक सांख्यिकीय औसत पट्टे पर रिटर्न, रणनीति के प्रभावी होने का सबसे महत्वपूर्ण संदर्भ है।
  • रिटर्न कमीशन अनुपात, कुल आय का सांख्यिकीय रिटर्न अनुपात, रिटर्न कमीशन पर रणनीति के निर्भरता को दर्शाता है। सभी अलग-अलग रिटर्न स्तरों का व्यापार, गैर-लाभकारी रणनीति शायद रिटर्न के एक स्तर से अधिक लाभदायक हो सकती है।
  • ऑर्डर विफलता दर, ऑर्डर केवल ऑर्डर लेनदेन के लिए लंबित हैं, और ऑर्डर के देरी के कारण लंबित नहीं हो सकते हैं, यदि यह अनुपात अधिक है, तो रणनीति की गति खराब है।
  • लेन-देन के आदेशों का अनुपात, प्लेटफार्मों में अक्सर लेनदेन दर की आवश्यकता होती है, यदि यह बहुत कम है, तो यह एक संकेत है कि रणनीतिक निकासी बहुत बार होती है और इसे हल करने की आवश्यकता होती है।
  • औसत खरीद-बिक्री ऑर्डर दूरी, यह आंकड़ा रणनीतिक ऑर्डर और डिलीवरी के बीच के अंतराल को दर्शाता है, यह देखा जा सकता है कि अधिकांश अभी भी खरीद-बिक्री की स्थिति में हैं।

अन्य सुझाव

  • बहु मुद्राओं का व्यापार, इस लेख की उच्च आवृत्ति रणनीति केवल एक ही एक्सचेंज के एकल मुद्रा बाजार का संदर्भ देती है, सीमितता बड़ी है, अधिकांश परिस्थितियों में और अधिकांश मुद्राएं लाभदायक नहीं हैं, लेकिन भविष्य में कौन सी मुद्राएं लाभदायक होंगी, इसकी भविष्यवाणी नहीं की जा सकती है, इसलिए कई या सभी मुद्राओं का व्यापार करना संभव है, अवसर को याद न करें। यहां तक कि एक्सचेंज की आवृत्ति की सीमा के तहत भी एक रोबोट कई लेनदेन जोड़े का व्यापार कर सकता है, निश्चित रूप से इष्टतम गति के लिए, एक उप खाता एक लेनदेन का व्यापार कर सकता है, एक सर्वर एक रोबोट के लिए, बस इस तरह की लागत बहुत अधिक होगी।
  • रिटर्न के आधार पर एकमुश्त मात्रा और ऑर्डर की शर्तों का निर्धारण किया जाता है। बहु मुद्राओं का व्यापार करने से प्रयास करने की लागत बहुत अधिक हो जाती है, यदि निगरानी लाभदायक नहीं है, तो न्यूनतम व्यापारिक मात्रा के साथ व्यापार करें और व्यापारिक आवृत्ति को कम करें, जब तक कि रणनीति गतिशीलता की निगरानी न हो जाए जब तक कि रिटर्न सकारात्मक न हो जाए, फिर धीरे-धीरे व्यापारिक मात्रा में वृद्धि करें।
  • अधिक जानकारी प्राप्त करने के लिए, उच्च आवृत्ति लेनदेन की एक और विशेषता संसाधित डेटा की अधिक मात्रा है, और अधिक जानकारी का उपयोग किया जाता है। एक एकल एक्सचेंज के भीतर एक जोड़ी के लिए सभी बाजार की जानकारी को संदर्भित किया जाना चाहिए, और स्थायी रूप से भी वास्तविक समय के आंकड़ों का संदर्भ दिया जा सकता है, या अन्य एक्सचेंजों के लिए डेटा का संदर्भ दिया जा सकता है, और यहां तक कि अन्य मुद्राओं के लिए भी डेटा, डेटा जितना अधिक है, उतना ही बड़ा लाभ है। उदाहरण के लिए, बिआन को प्रतीक के अनुसार सबसे अच्छी सूचीबद्ध जानकारी के लिए सदस्यता दी जा सकती है, क्योंकि गहराई और ऑर्डर स्ट्रीम का सबसे छोटा पुश 100ms है, केवल यह वास्तविक समय में है, उच्च आवृत्ति रणनीति के लिए बहुत मूल्यवान है।
  • बिआन के सर्वर टोक्यो में हैं, अन्य एक्सचेंजों के सर्वर अलग-अलग हैं, विशेष रूप से एक्सचेंज के तकनीशियनों से परामर्श किया जा सकता है।
  • इस आलेख का रणनीति कोड केवल सरल उदाहरण कोड है, जिसमें बहुत सारे बोझिल विवरण हटा दिए गए हैं जिन्हें ध्यान में रखा जाना चाहिए, और उपयोग किए जाने वाले संकेतक केवल संदर्भ के लिए हैं, सीधे उपयोग नहीं करते हैं। एक उच्च आवृत्ति रणनीति को सही ढंग से चलाने के लिए बहुत सारे विवरणों पर ध्यान देने की आवश्यकता होती है, जिन्हें धैर्यपूर्वक संशोधित करने की आवश्यकता होती है।

संबंधित

अधिक

mztcoinघास के देवता

डेंगूघास के देवता

77924998Grasshopper किस AWS सर्वर का उपयोग करता है?

चुकिटीज़बरदस्ती

ब्वक्सियाकGrasshopper ने एक उच्च आवृत्ति पाठ्यक्रम का भुगतान किया

मेरा दिल अभी भी हैक्या कॉपी करने के लिए यह रणनीति काम करती है?

लेखक ट्रेडमैनCall草神, अधिक से अधिक शिक्षण की उम्मीद है, उच्च आवृत्ति व्यापार में प्रवेश के लिए सीखना

~ हवा में लहरों में लहरें ~क्रूर

fmzeroघास के देवता!

ओक मात्राक्रूर

घासयह बहुत मुश्किल है, और इसका कोई मतलब नहीं है।