संसाधन लोड हो रहा है... लोड करना...

प्रत्येक लेनदेन और के-लाइन बैकटेस्ट के दोषों के आधार पर उच्च आवृत्ति बैकटेस्ट प्रणाली

लेखक:अच्छाई, बनाया गयाः 2020-06-16 10:30:19, अद्यतन किया गयाः 2023-11-01 20:26:21

img

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

के-लाइन बैकटेस्ट पर आधारित समस्याएं

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

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

दो किस्मों के मध्यस्थता के लिए मिनट स्तर के रेखा का उपयोग करने की कल्पना करें। उनके बीच का अंतर आमतौर पर 10 युआन ((या डॉलर) है। अब, 10:01 पर, अनुबंध ए का समापन मूल्य 100, अनुबंध बी का 112 है, और अंतर 12 युआन है। इसलिए रणनीति हेज करना शुरू करती है। एक निश्चित क्षण में, मूल्य अंतर वापस आ गया, और रणनीति ने 2 युआन का रिटर्न लाभ कमाया।

लेकिन वास्तविक स्थिति यह हो सकती है कि 10:00:45 पर अनुबंध ए ने 100 युआन का लेनदेन किया, जिसके बाद कोई लेनदेन नहीं हुआ, अनुबंध बी के पास 10:00:58 पर 112 युआन का लेनदेन था, 10:01:00 दोनों कीमतें मौजूद नहीं हैं। इस समय बाजार मूल्य क्या है, और हेज ऑपरेशन कितना प्राप्त कर सकता है? मुझे नहीं पता। एक संभावित स्थिति हैः 10:00:58 पर, अनुबंध ए का Buy 1 और Sell 1 लंबित आदेश मूल्य है101.9तक102.1, और 2 युआन का कोई अंतर नहीं है। यह हमारी रणनीति अनुकूलन को बहुत भ्रामक बना देगा।

दूसरा मैचमेकिंग समस्या है। असली मैचमेकिंग मूल्य प्राथमिकता और समय प्राथमिकता है। यदि खरीदार Sell 1 मूल्य से अधिक है, तो वे आमतौर पर सीधे Sell 1 मूल्य पर सौदा करेंगे, अन्यथा वे लंबित ऑर्डर बुक में प्रवेश करेंगे और प्रतीक्षा करेंगे। K लाइन डेटा में स्पष्ट रूप से Buy 1 और Sell 1 मूल्य नहीं है, यह विवरण मूल्य मिलान के स्तर का अनुकरण करना असंभव है।

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

वास्तविक समय में गहराई और टिक पर आधारित बैकटेस्ट

FMZ वास्तविक स्तर के बैकटेस्ट प्रदान करता है, जो वास्तविक ऐतिहासिक डेटा प्राप्त कर सकता है।20 layer depth price, वास्तविक समय में दूसरे स्तरTicks, Each Individual Transactionइन विशेषताओं के आधार पर, एफएमजेड ने वास्तविक समय में लेनदेन प्लेबैक फ़ंक्शन बनाया।

इस तरह के बैकटेस्ट डेटा की मात्रा बहुत बड़ी है, और बैकटेस्ट गति भी बहुत धीमी है, आम तौर पर केवल दो दिनों के लिए बैकटेस्ट कर सकती है। अपेक्षाकृत उच्च आवृत्ति या समय-महत्वपूर्ण रणनीतियों के लिए, वास्तविक बाजार स्तर बैकटेस्ट आवश्यक है। एफएमजेड द्वारा एकत्र किए गए व्यापारिक जोड़े और व्यापार समय बहुत लंबे नहीं हैं, लेकिन अभी भी 70 बिलियन से अधिक ऐतिहासिक डेटा हैं।

वर्तमान मैचमेकिंग तंत्र यह है कि यदि खरीद आदेश Sell 1 से अधिक है, तो यह राशि को देखे बिना तुरंत पूरी तरह से मेल खाएगा, और यदि यह Sell 1 से कम है, तो यह प्रतीक्षा करने के लिए मैच कतार में प्रवेश करेगा। इस तरह का बैकटेस्ट तंत्र K-लाइन बैकटेस्ट की पहली दो समस्याओं को हल करता है, लेकिन अभी भी अंतिम समस्या को हल नहीं कर सकता है। और क्योंकि डेटा की मात्रा बहुत बड़ी है, बैकटेस्ट गति और समय सीमा सीमित है।

img

ऑर्डर-बाय-ऑर्डर लेनदेन प्रवाह पर आधारित बैकटेस्ट तंत्र

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

मैंने पिछले 5 दिनों के लेनदेन को डाउनलोड किया Binance XTZ स्थायी अनुबंध (डाउनलोड पताःhttps://www.fmz.com/upload/asset/1ff487b007e1a848ead.csv), एक लोकप्रिय किस्म के रूप में, इसमें कुल 213000 लेनदेन डेटा हैं, पहले आइए डेटा की संरचना को देखेंः

[['XTZ', 1590981301905, 2.905, 0.4, 'False\n'],
 ['XTZ', 1590981303044, 2.903, 3.6, 'True\n'],
 ['XTZ', 1590981303309, 2.903, 3.7, 'True\n'],
 ['XTZ', 1590981303738, 2.903, 238.1, 'True\n'],
 ['XTZ', 1590981303892, 2.904, 0.1, 'False\n'],
 ['XTZ', 1590981305250, 2.904, 0.1, 'False\n'],
 ['XTZ', 1590981305643, 2.903, 197.3, 'True\n'],

डेटा एक दो आयामी सूची है, जिसे कालानुक्रमिक क्रम में क्रमबद्ध किया गया है। विशिष्ट अर्थ इस प्रकार हैंः किस्म का नाम, लेनदेन की कीमत, लेनदेन का टाइमस्टैम्प, लेनदेन की मात्रा, क्या यह एक बिक्री आदेश सक्रिय लेनदेन है। खरीद और बिक्री पक्ष हैं, और प्रत्येक लेनदेन में खरीदार और विक्रेता शामिल हैं। यदि खरीदार एक बाजार हैMakerऔर विक्रेता एक सक्रिय हैTaker, अंतिम आंकड़ा हैTrue.

सबसे पहले, लेनदेन की दिशा के अनुसार, आप बाजार में Buy 1 और Sell 1 पर काफी सटीक रूप से अनुमान लगा सकते हैं। यदि यह एक सक्रिय बिक्री आदेश है, तो इस समय Buy 1 मूल्य लेनदेन मूल्य है, यदि यह एक सक्रिय खरीद आदेश है, तो Sell 1 मूल्य लेनदेन मूल्य होगा। यदि कोई नया लेनदेन है, तो सभी मूल्य नवीनीकृत और अद्यतन किए जाएंगे। यदि नवीनीकरण और अद्यतन नहीं है तो अंतिम परिणाम बरकरार रहेगा। उपरोक्त डेटा के अंतिम क्षण को पेश करना आसान है, Buy 1 मूल्य 2.903 है, और Sell 1 2.904 है।

आदेश प्रवाह के अनुसार, यह इस तरह से मेल खा सकता हैः उदाहरण के लिए एक खरीद आदेश लें, कीमत हैprice, आदेश मात्रा हैamount, तो खरीदें और इस समय 1 बेच रहे हैंbidऔरaskक्रमशः यदिpriceसे कम हैaskऔर अधिक से अधिकbid, तो यह माना जाता हैmakerसबसे पहले, और प्राथमिकता एक सौदा करने के लिए मिलान किया जा सकता है, तो सभी सौदों के साथ एक लेनदेन मूल्य से कम या बराबर हैpriceआदेश के अस्तित्व समय के दौरान इस आदेश के साथ मेल खाएगा (यदिpriceसे कम या बराबर हैbid, लेनदेन को कोई प्राथमिकता नहीं दी जाती है।priceइस क्रम के साथ मेल खाते हैं)

मिलान मूल्य हैprice, और मात्रा लेन-देन की मात्रा हैEach Individual Transaction, जब तक आदेश पूरी तरह से पूरा नहीं हो जाता या आदेश रद्द नहीं हो जाता।ask, यह एकtakerउसके बाद, आदेश के अस्तित्व के दौरान, सभी सौदे एक लेनदेन मूल्य से कम या बराबर के साथpriceइस आदेश के साथ मेल खाते हैं, और मेल कीमत लेनदेन मूल्य हैEach Individual Transaction. के बीच अंतरmakerऔरtakerउच्च आवृत्ति रणनीतियों के लिए, इस अंतर को ध्यान में रखा जाना चाहिए।

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

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

अभी भी कुछ छोटे विवरण हैं। यदि आदेश की खरीद मूल्य Buy 1 के बराबर है, तो अभी भी एक निश्चित संभावना है कि खरीद मूल्य Buy 1 से मेल खाएगा, इस तरह की स्थिति पर विचार नहीं किया जाएगा।

मेल खाने वाला कोड

एक्सचेंज ऑब्जेक्ट्स शुरुआत में परिचय को संदर्भित कर सकते हैं, मूल रूप से अपरिवर्तित, केवल अंतर जोड़करmakerऔरtakerनीचे मुख्य रूप से मिलान कोड पेश किया जाएगा।

 symbol = 'XTZ'
    loop_time = 0
    intervel = 1000 # The sleep time of the strategy is 1000ms
    init_price = data[0][2] # Initial price
    e = Exchange([symbol],initial_balance=1000000,maker_fee=maker_fee,taker_fee=taker_fee,log='') # Initialize the exchange
    depth = {'ask':data[0][2], 'bid':data[0][2]} # depth
    order = {'buy':{'price':0,'amount':0,'maker':False,'priority':False,'id':0},
             'sell':{'price':0,'amount':0,'maker':False,'priority':False,'id':0}} # order
    for tick in data:
        price = int(tick[2]/tick_sizes[symbol])*tick_sizes[symbol] # executed price
        trade_amount = tick[3] # executed volume
        time_stamp = tick[1] # executed timestamp
        if tick[4] == 'False\n':
            depth['ask'] = price
        else:
            depth['bid'] = price
        
        if depth['bid'] < order['buy']['price']:
            order['buy']['priority'] = True
        if depth['ask'] > order['sell']['price']:
            order['sell']['priority'] = True
        if price > order['buy']['price']:
            order['buy']['maker'] = True
        if price < order['sell']['price']:
            order['sell']['maker'] = True
        
        # Order network delay can also be used as one of the matching conditions, not considered here
        cond1 = order['buy']['priority'] and order['buy']['price'] >= price and order['buy']['amount'] > 0
        cond2 = not order['buy']['priority'] and order['buy']['price'] > price and order['buy']['amount'] > 0
        cond3 = order['sell']['priority'] and order['sell']['price'] <= price and order['sell']['amount'] > 0
        cond4 = not order['sell']['priority'] and order['sell']['price'] < price and order['sell']['amount'] > 0

        if cond1 or cond2:
            buy_price = order['buy']['price'] if order['buy']['maker'] else price
            e.Buy(symbol, buy_price, min(order['buy']['amount'],trade_amount), order['buy']['id'], order['buy']['maker'])
            order['buy']['amount'] -= min(order['buy']['amount'],trade_amount)
            e.Update(time_stamp,[symbol],{symbol:price})
        if cond3 or cond4:
            sell_price = order['sell']['price'] if order['sell']['maker'] else price
            e.Sell(symbol, sell_price, min(order['sell']['amount'],trade_amount), order['sell']['id'], order['sell']['maker'])
            order['sell']['amount'] -= min(order['sell']['amount'],trade_amount)
            e.Update(time_stamp,[symbol],{symbol:price})

        if time_stamp - loop_time > intervel:
            order = get_order(e,depth,order) # Trading logic, not given here
            loop_time += int((time_stamp - loop_time)/intervel)*intervel

ध्यान देने योग्य कुछ विवरण:

  • जब कोई नया लेन-देन होता है, तो हमें पहले ऑर्डर को मेल खाना चाहिए, और फिर नवीनतम मूल्य के अनुसार ऑर्डर देना चाहिए।

  • प्रत्येक ऑर्डर में दो विशेषताएं होती हैंः निर्माताचाहे वह निर्माता हो, प्राथमिकतामिल्लिंग प्राथमिकता, उदाहरण के तौर पर खरीद ऑर्डर लेते हुए, जब खरीद मूल्य बेच 1 से कम हो, तो इसे इस प्रकार चिह्नित किया जाता हैmaker, और जब खरीद मूल्य Buy 1 से अधिक हो, तो इसे इस प्रकार चिह्नित किया जाता हैPriority matching, priorityयह निर्धारित करता है कि मूल्य खरीद मूल्य के बराबर है या नहीं, और निर्माता लेनदेन शुल्क निर्धारित करता है।

  • ..makerऔरpriorityयदि एक बड़ी खरीद की गई है और बाजार क्षमता से अधिक है। जब एक कीमत खरीद मूल्य से अधिक है, तो शेष मात्राmaker.

  • रणनीतिintervalआवश्यक है, यह बाजार की देरी का प्रतिनिधित्व कर सकता है।

ग्रिड रणनीति का बैकटेस्ट

अंत में, यह वास्तविक बैकटेस्ट चरण है। आइए हम यहां सबसे क्लासिक ग्रिड रणनीतियों में से एक का बैकटेस्ट करें यह देखने के लिए कि क्या हम अपेक्षित परिणाम प्राप्त कर सकते हैं। रणनीति का सिद्धांत यह है कि हर बार जब कीमत 1% बढ़ जाती है, तो हम एक निश्चित मूल्य का एक छोटा ऑर्डर रखते हैं (इसके विपरीत, हम एक लंबा ऑर्डर रखते हैं), अग्रिम में खरीद ऑर्डर और बिक्री ऑर्डर की गणना करते हैं। मैं आपको स्रोत कोड नहीं दिखाऊंगा। वे सभी में शामिल हैंGrid('XTZ', 100, 0.3, 1000, maker_fee=-0.00002, taker_fee=0.0003)फंक्शन, पैरामीटर हैंः व्यापार जोड़ी, मूल्य 1% के होल्डिंग मूल्य से विचलित, लंबित आदेश घनत्व 0.3% है, नींद अंतरालms, लंबित आदेश शुल्क और निष्पादित आदेश शुल्क।

पिछले 5 दिनों से एक्सटीजेड की बाजार कीमत में झटका लगा हुआ है, जो कि ग्रिड के लिए बहुत उपयुक्त है।

img

पहले हम लाभ पर विभिन्न होल्डिंग पदों के प्रभाव का बैकटेस्ट करते हैं। पारंपरिक बैकटेस्ट तंत्र द्वारा बैकटेस्ट किया गया रिटर्न निश्चित रूप से होल्डिंग पदों में वृद्धि के अनुपात में बढ़ेगा।

e1 = Grid('XTZ',100,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e1.account['USDT'])
e2 = Grid('XTZ',1000,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e2.account['USDT'])
e3 = Grid('XTZ',10000,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e3.account['USDT'])
e4 = Grid('XTZ',100000,0.3,1000,maker_fee=-0.00002,taker_fee=0.0003)
print(e4.account['USDT'])

कुल चार समूहों को बैकटेस्ट किया गया, होल्डिंग पोजीशन का मूल्य 100, 1000, 10000, 100,000 था, और कुल बैकटेस्ट समय 1.3s था। परिणाम इस प्रकार हैंः

{'realised_profit': 28.470993031132966, 'margin': 0.7982662957624465, 'unrealised_profit': 0.0104554474048441, 'total': 10000028.481448, 'leverage': 0.0, 'fee': -0.3430967859046398, 'maker_fee': -0.36980249726699727, 'taker_fee': 0.026705711362357405}
{'realised_profit': 275.63148945320177, 'margin': 14.346335829979132, 'unrealised_profit': 4.4382117331794045e-14, 'total': 10000275.631489, 'leverage': 0.0, 'fee': -3.3102045933457784, 'maker_fee': -3.5800688964477048, 'taker_fee': 0.2698643031019274}
{'realised_profit': 2693.8701498889504, 'margin': 67.70120400534114, 'unrealised_profit': 0.5735269329348516, 'total': 10002694.443677, 'leverage': 0.0001, 'fee': -33.984021415250744, 'maker_fee': -34.879233866850974, 'taker_fee': 0.8952124516001403}
{'realised_profit': 22610.231198585603, 'margin': 983.3853688758861, 'unrealised_profit': -20.529965947304365, 'total': 10022589.701233, 'leverage': 0.002, 'fee': -200.87094000385412, 'maker_fee': -261.5849078470078, 'taker_fee': 60.71396784315319}

यह देखा जा सकता है कि अंतिम प्राप्त लाभ क्रमशः होल्डिंग स्थिति मूल्य का 28.4%, 27.5%, 26.9% और 22.6% है। यह वास्तविक स्थिति के अनुरूप भी है। होल्डिंग स्थिति का मूल्य जितना अधिक होगा, लंबित आदेश का मूल्य उतना ही अधिक होगा, आंशिक लेनदेन होने की अधिक संभावना होगी, और लंबित आदेश की राशि के सापेक्ष अंतिम प्राप्त लाभ उतना ही छोटा होगा। निम्नलिखित चार्ट क्रमशः 100 और 10000 की स्थिति मूल्य के सापेक्ष रिटर्न की तुलना है:

img

हम बैकटेस्ट राजस्व पर विभिन्न मापदंडों के प्रभाव को भी बैकटेस्ट कर सकते हैं, जैसे लंबित ऑर्डर घनत्व, नींद का समय, लेनदेन शुल्क, आदि। उदाहरण के रूप में नींद का समय लें, इसे 100ms में बदलें, और लाभ वापसी देखने के लिए नींद के समय की तुलना 1000ms से करें। बैकटेस्ट परिणाम निम्नानुसार हैंः

{'realised_profit': 29.079440803790423, 'margin': 0.7982662957624695, 'unrealised_profit': 0.0104554474048441, 'total': 10000029.089896, 'leverage': 0.0, 'fee': -0.3703702128662524, 'maker_fee': -0.37938946377435134, 'taker_fee': 0.009019250908098965}

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

संक्षेप में

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


संबंधित

अधिक