शुरू करेंमुफ़्त में शुरू करें

ऑर्डर साइजिंग फंक्शन के साथ एक रूल लागू करना

quantstrat में किसी एसेट का लेनदेन हमेशा वास्तविक शेयरों की एक निश्चित संख्या नहीं होता. quantstrat जिन संरचनाओं के ज़रिए खरीदे/बेचे जाने वाले शेयरों की मात्रा बदल सकता है, उन्हें order sizing functions कहा जाता है. एक सही order sizing function लिखने के लिए अतिरिक्त सिंटैक्स काफी विस्तृत होता है, इसलिए अपना फंक्शन शून्य से कोड करना इस कोर्स के दायरे में नहीं है.

हालाँकि, पहले से लिखे हुए order sizing function का उपयोग करना आसान है. सबसे पहले यह जानना ज़रूरी है कि जब आप order sizing function का उपयोग करते हैं, तो orderqty आर्ग्युमेंट अब प्रासंगिक नहीं रहता, क्योंकि ऑर्डर की मात्रा वही फंक्शन तय करता है. अपने add.rule() कॉल के साथ किसी order sizing function को कॉल करना भी काफ़ी सीधा है. order sizing function के इनपुट्स उन्हीं बाकी इनपुट्स के साथ मिलकर उन्हीं आर्ग्युमेंट्स में जाते हैं जिन पर आप इस अध्याय में काम कर रहे हैं.

इस अभ्यास में, आप osFUN आर्ग्युमेंट का उपयोग करके osMaxDollar नामक फंक्शन को निर्दिष्ट करेंगे. इसे स्ट्रिंग के रूप में पास नहीं किया जाता, बल्कि एक ऑब्जेक्ट के रूप में. फर्क सिर्फ़ इतना है कि order sizing function का नाम कोट्स में नहीं होता.

इस फंक्शन के अतिरिक्त आर्ग्युमेंट tradeSize और maxSize हैं. दोनों में आपको tradesize देना है, जिसे आपने कई अध्याय पहले परिभाषित किया था. यह आपके वर्कस्पेस में उपलब्ध करा दिया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

R में फाइनेंशियल ट्रेडिंग

पाठ्यक्रम देखें

अभ्यास निर्देश

  • पिछले अभ्यासों में उपयोग किया गया add.rule() कमांड आपके वर्कस्पेस में प्रिंट है.
  • इस रूल में osFUN, tradeSize, और maxSize निर्दिष्ट करके एक order sizing function जोड़ें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Add a rule that uses an osFUN to size an entry position
add.rule(strategy = strategy.st, name = "ruleSignal",
         arguments = list(sigcol = "longentry", sigval = TRUE, ordertype = "market",
                          orderside = "long", replace = FALSE, prefer = "Open",
                          
                          # Use the osFUN called osMaxDollar
                          osFUN = ___,
                          
                          # The tradeSize argument should be equal to tradesize (defined earlier)
                          tradeSize = ___,
                          
                          # The maxSize argument should be equal to tradesize as well
                          maxSize = ___),
         type = "enter")
कोड संपादित करें और चलाएँ