समय-क्रम का अर्थ होता है एक-दूसरे के बीच के समय में प्राप्त डेटा का एक क्रम. मात्रात्मक निवेश में, यह डेटा मुख्य रूप से मूल्य और उस डेटा बिंदु के आंदोलन के रूप में प्रकट होता है, जिस पर निवेश किया जा रहा है. उदाहरण के लिए, शेयर की कीमत, समय-क्रम के डेटा को नियमित रूप से निर्दिष्ट समय अवधि में दर्ज किया जाता है। पाठक को इस चित्र को संदर्भित करने के लिए एक स्पष्ट समझ प्राप्त होगीः
जैसा कि देखा जा सकता है, दिनांक एक्स-अक्ष पर है और मूल्य वाई-अक्ष पर दिखाया गया है। इस मामले में, घन के साथ निरंतर अंतराल का अर्थ है कि एक्स-अक्ष पर 14 दिनों का अंतर हैः ध्यान दें कि 7 मार्च 2005 और अगले बिंदु, 31 मार्च 2005, 5 अप्रैल 2005 और 19 अप्रैल 2005 के बीच का अंतर है।
हालाँकि, जब आप समय-सीमा डेटा का उपयोग करते हैं, तो आप अक्सर केवल दो कॉलम वाले डेटा से अधिक देखते हैं जिनमें केवल दिनांक और मूल्य शामिल हैं। ज्यादातर मामलों में, आप पांच कॉलम वाले डेटा का उपयोग करेंगेः डेटा चक्र, उद्घाटन मूल्य, उच्चतम मूल्य, न्यूनतम मूल्य और समापन मूल्य। इसका मतलब है कि यदि आपका डेटा चक्र दिन के स्तर पर सेट है, तो उस दिन के उच्च, खुले, निम्न और समापन मूल्य परिवर्तन इस समय-सीमा के डेटा में प्रतिक्रिया करेंगे।
टिक डेटा एक्सचेंज में सबसे विस्तृत लेनदेन डेटा संरचना है। यह ऊपर उल्लिखित समय अनुक्रम डेटा का एक विस्तारित रूप भी है, जिसमें शामिल हैंः उद्घाटन मूल्य, उच्चतम मूल्य, न्यूनतम मूल्य, नवीनतम मूल्य, लेनदेन की मात्रा, लेनदेन की मात्रा। यदि लेनदेन डेटा को एक नदी के रूप में तुलना की जाती है, तो टिक डेटा किसी क्रॉस-सेक्शन पर नदी का डेटा है।
जैसा कि ऊपर दिखाया गया है, विदेशी मुद्रा एक्सचेंजों में हर कदम को वास्तविक समय में बाजार में धकेल दिया जाता है; जबकि घरेलू एक्सचेंजों में, हर सेकंड में दो बार जांच की जाती है, यदि उस समय सीमा के भीतर कोई कदम है, तो एक स्नैपशॉट उत्पन्न किया जाता है और धकेल दिया जाता है। तुलना के लिए, डेटा के धकेलने की मात्रा को केवल ऑनटाइम के रूप में गिना जाता है, जिसे ऑनटिक नहीं कहा जाता है।
इस ट्यूटोरियल के सभी कोड और समयक्रम डेटा का अधिग्रहण आविष्कारक के मात्रात्मक मंच पर किया गया है।
यद्यपि घरेलू टिक डेटा वास्तव में टिक नहीं है, लेकिन इस डेटा का उपयोग करके पुनर्मूल्यांकन किया जा सकता है, कम से कम अनंत तक और वास्तविकता को कम कर सकता है। प्रत्येक टिक में उस समय बाजार में इस वस्तु के मुख्य पैरामीटर दिखाए जाते हैं, और वास्तविक डिस्क में हमारा कोड, जो कि सैद्धांतिक रूप से 2 बार प्रति सेकंड टिक का पालन करता है, की गणना की जा रही है।
इतना ही नहीं, आविष्कारक की मात्रा में, एक घंटे के चक्र के डेटा को लोड करने के बाद भी डेटा के कणों को समायोजित किया जा सकता है, जैसे कि डेटा के कणों को 1 मिनट में समायोजित करना। इस समय, 1 घंटे की K-लाइन 1 मिनट के डेटा से बनी है। बेशक, कणों की मात्रा जितनी छोटी होगी, सटीकता उतनी ही अधिक होगी। और अधिक शक्तिशाली है, यदि डेटा को वास्तविक डिस्क स्तर के टिक में परिवर्तित किया जाए, तो वास्तविक डिस्क वातावरण को निर्बाध रूप से बहाल किया जा सकता है। यानी 1 सेकंड 2 टिक एक्सचेंज के वास्तविक डेटा।
अब, आप इस ट्यूटोरियल को पूरा करने के लिए आवश्यक बुनियादी अवधारणाओं को समझ गए हैं। ये अवधारणाएं जल्द ही वापस आ जाएंगी, और आप इस ट्यूटोरियल के बाद के भाग में अधिक संबंधित अवधारणाओं को सीखेंगे।
इस भाग की सामग्री के बारे में रुचि रखने वाले मित्रों से अनुरोध हैःhttps://www.fmz.com/bbs-topic/1651अधिक जानकारी के लिए देखें
काम करने के लिए, सबसे पहले, हमें पहले आविष्कारक क्वांटिफाइंग प्लेटफॉर्म पर एक प्रबंधक को तैनात करने की आवश्यकता है। प्रबंधक की अवधारणा के बारे में, प्रोग्रामिंग का अनुभव करने वाले पाठक इसे एक आधिकारिक रूप से पैक किए गए डॉकर सिस्टम के रूप में कल्पना कर सकते हैं, जिसमें विभिन्न मुख्यधारा के एक्सचेंजों के सार्वजनिक एपीआई इंटरफेस और रणनीति लेखन और पुनरीक्षण के लिए शाखाओं के अंत के तकनीकी विवरण को पैक किया गया है। इस प्रणाली के निर्माण का मूल उद्देश्य यह है कि विभिन्न मात्रा व्यापारियों को आविष्कारक क्वांटिफाइंग प्लेटफॉर्म का उपयोग करते समय रणनीति लेखन और डिजाइन पर ध्यान केंद्रित करने की अनुमति दें, जो कि रणनीति लेखकों को पैक किए गए रूप में प्रस्तुत किए गए हैं ताकि उन्हें बहुत समय और प्रयास की बचत हो सके।
प्रबन्धक को दो तरीकों से तैनात किया जा सकता है
A विधिः उपयोगकर्ता स्वयं सर्वर किराए पर लेते हैं या खरीदते हैं, और AWS, अली क्लाउड, डिजिटल महासागर और Google क्लाउड जैसे प्रमुख क्लाउड प्लेटफार्मों पर तैनात होते हैं। लाभ यह है कि रणनीतिक सुरक्षा या सिस्टम सुरक्षा दोनों की गारंटी है।
इस भाग के बारे में, पाठकों को संदर्भित किया जा सकता हैःhttps://www.fmz.com/bbs-topic/2848
बी विधिः आविष्कारक द्वारा क्वांटिफाइड प्लेटफॉर्म का उपयोग करते हुए सार्वजनिक सर्वर पर तैनाती, मंच हांगकांग, लंदन और हांगकांग में तीन स्थानों पर तैनाती प्रदान करता है, जहां उपयोगकर्ता निकटता के सिद्धांत पर तैनाती कर सकते हैं। इस संबंध में लाभ सरल है, एक बटन पूरा करना आसान है, विशेष रूप से शुरुआती उपयोगकर्ताओं के लिए उपयुक्त है, जो लिनक्स सर्वर खरीदने के लिए कई मामलों को जानने की आवश्यकता नहीं है, और लिनक्स कमांड सीखने के समय और ऊर्जा से बचाता है, कीमत भी अपेक्षाकृत सस्ती है।
इस लेख में, शुरुआती लोगों के लिए समझ के लिए, बी विधि का उपयोग किया जाएगा।
विशेष रूप सेः登陆FMZ.COM, नियंत्रण केंद्र, प्रबंधक पर क्लिक करें, प्रबंधक पृष्ठ पर किराए पर प्रबंधक पर क्लिक करें।
पासवर्ड दर्ज करें और सफलतापूर्वक तैनात करें, जैसा कि चित्र में दिखाया गया हैः
जैसा कि ऊपर उल्लेख किया गया है, होस्ट एक डॉकर सिस्टम की तरह है, और एक डॉकर सिस्टम एक मानक के रूप में है, और हम मानक को तैनात करते हैं, और इसके बाद हमें इस मानक के लिए एक उदाहरण की स्थापना करने की आवश्यकता होती है, जो एक रोबोट है।
रोबोट बनाना बहुत आसान है, अच्छे होस्ट को तैनात करने के बाद, बाईं ओर के रोबोट टैब पर क्लिक करें, रोबोट बनाने पर क्लिक करें, टैब नाम में एक नाम भरें, होस्ट में से एक को चुनें। नीचे दिए गए संवाद बॉक्स में पैरामीटर विकल्प और के लाइन चक्र जैसे विकल्पों को विशिष्ट परिस्थितियों के आधार पर चुना जा सकता है, मुख्य रूप से व्यापार रणनीति चयन के साथ।
अब तक, हमारे कार्य वातावरण को बनाया गया है, जैसा कि आप देख सकते हैं, बहुत सरल और प्रभावी है, प्रत्येक कार्य के लिए अलग-अलग कार्य हैं। अब हम रणनीति को मात्रा में लिखना शुरू करेंगे।
ऊपर हमने टाइमसीरियल डेटा और टिक डेटा के अवधारणाओं का उल्लेख किया है, और फिर हम एक सरल समवर्ती रणनीति के साथ इन दोनों अवधारणाओं को जोड़ते हैं।
एक धीमी चक्रवात समतल रेखा के माध्यम से, जैसे कि 7-दिवसीय समतल रेखा, और एक तेज़ चक्रवात समतल रेखा के माध्यम से, जैसे कि 3-दिवसीय समतल रेखा; उन्हें एक ही K रेखा पर लागू करें, जब तेज़ चक्रवात समतल रेखा पर धीमी चक्रवात समतल रेखा गुजरती है, तो हम इसे गोल्डन फोर्क कहते हैं; जब धीमी चक्रवात समतल रेखा के नीचे तेज़ चक्रवात समतल रेखा गुजरती है, तो हम इसे मृत फोर्क कहते हैं।
खोलने का आधार सोने के कांटे के लिए कई एकल है, मृत कांटे खोलने के लिए खाली सूची, समतल के लिए एक ही बात है ।
让我们打开FMZ.COM, लॉगिन खाता, नियंत्रण केंद्र, नीति पुस्तकालय, नई रणनीति, ऊपरी बाएं कोने में नीति लेखन भाषा में, पायथन चुनें; नीचे इस रणनीति का कोड है, प्रत्येक पंक्ति में बहुत विस्तृत टिप्पणी है, कृपया पाठकों को धीरे-धीरे महसूस करें। यह रणनीति वास्तविक प्लेट रणनीति नहीं है, कभी भी वास्तविक पैसे के साथ प्रयोग नहीं करते हैं, मुख्य रूप से लोगों को रणनीति के बारे में एक और मोटे तौर पर अवधारणा और सीखने के लिए एक टेम्पलेट लिखने के लिए अनुमति देता है।
import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型
def main(): # 主函数,策略逻辑从这里开始
STATE_IDLE = -1 # 标记持仓状态变量
state = STATE_IDLE # 标记当前持仓状态
initAccount = ext.GetAccount() #这里用到了现货数字货币交易类库(python版),编写策略时记得勾选上,作用是获得账户初始信息
while True: # 进入循环
if state == STATE_IDLE : # 这里开始开仓逻辑
n = ext.Cross(FastPeriod,SlowPeriod) # 这里用到了指标交叉函数,详情请查看https://www.fmz.com/strategy/21104
if abs(n) >= EnterPeriod : # 如果n大于等于入市观察期,这里的入市观察期是为了防止一开盘就胡乱开仓。
opAmount = _N(initAccount.Stocks * PositionRatio,3) # 开仓量,关于_N的用法,请查看官方API文档
Dict = ext.Buy(opAmount) if n > 0 else ext.Sell(opAmount) # 建立一个变量,用于存储开仓状态,并执行开仓操作
if Dict : # 查看dict变量的情况,为下面的日志输出做准备
opAmount = Dict['amount']
state = PD_LONG if n > 0 else PD_SHORT # PD_LONG和PD_SHORT均为全局常量,分别用来表示多头和空头仓位。
Log("开仓详情",Dict,"交叉周期",n) # 日志信息
else: # 这里开始平仓逻辑
n = ext.Cross(ExitFastPeriod,ExitSlowPeriod) # 指标交叉函数,
if abs(n) >= ExitPeriod and ((state == PD_LONG and n < 0) or (state == PD_SHORT and n > 0)) : # 如果经过了离市观察期且当前账户状态为持仓状态,进而判断金叉或者死叉
nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
Dict2 = ext.Sell(nowAccount.Stocks - initAccount.Stocks) if state == PD_LONG else ext.Buy(initAccount.Stocks - nowAccount.Stocks) # 平仓逻辑,是多头就平多头,是空头就平空头。
state = STATE_IDLE # 标记平仓后持仓状态。
nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
LogProfit(nowAccount.Balance - initAccount.Balance,'钱:',nowAccount.Balance,'币:',nowAccount.Stocks,'平仓详情:',Dict2,'交叉周期:',n) # 日志信息
Sleep(Interval * 1000) # 循环暂停一秒,防止API访问频率过快导致账户被限制。
रणनीति संपादित करने के पृष्ठ पर, हमने रणनीति का लेखन पूरा कर लिया है, और अब हम इस रणनीति का पुनर्मूल्यांकन करेंगे कि यह ऐतिहासिक उद्योग में कैसे प्रदर्शन करता है, पुनर्मूल्यांकन किसी भी मात्रात्मक रणनीति के विकास में महत्वपूर्ण भूमिका निभाता है, लेकिन साथ ही साथ केवल एक महत्वपूर्ण संदर्भ के रूप में काम करता है, पुनर्मूल्यांकन लाभ की गारंटी के बराबर नहीं है, क्योंकि बाजार लगातार बदल रहा है, पुनर्मूल्यांकन केवल एक बाद का व्यवहार है, जो किसी भी तरह से नाफा की श्रेणी में आता है, बाजार व्युत्पन्न है।
एनालॉग रीट्रीट पर क्लिक करें, आप देख सकते हैं कि बहुत सारे पैरामीटर हैं जिन्हें समायोजित किया जा सकता है, जिन्हें सीधे अंदर से संशोधित किया जा सकता है, ताकि बाद की रणनीतियों के लिए अधिक जटिलता हो, और पैरामीटर अधिक से अधिक हो। इस तरह के संशोधन से उपयोगकर्ता को कोड में एक-एक बार संशोधन की परेशानी से बचने में मदद मिल सकती है, यह सुविधाजनक, तेज़ और व्यवस्थित रूप से स्पष्ट है।
बैकअप में ऑप्टिमाइज़ेशन विकल्प सेट किए गए पैरामीटर को स्वचालित रूप से ऑप्टिमाइज़ कर सकते हैं, और सिस्टम विभिन्न सर्वोत्तम पैरामीटर का प्रयास करता है ताकि रणनीति डेवलपर्स को सर्वोत्तम विकल्प खोजने में मदद मिल सके।
उपरोक्त उदाहरणों से, हम देख सकते हैं कि क्वांटिफाइड ट्रेडिंग का आधार समय अनुक्रम डेटा के विश्लेषण और टिक डेटा के पुनर्मूल्यांकन के माध्यम से किया जाता है, फिर जटिल तर्क, इन दोनों बुनियादी तत्वों से जुड़ा हुआ है। अंतर केवल आयामों में भिन्न होता है, जैसे कि उच्च आवृत्ति ट्रेडिंग, अधिक विस्तृत डेटा सेक्शन और अधिक समृद्ध समय अनुक्रम डेटा की आवश्यकता होती है। फिर, उदाहरण के लिए, लाभ लेनदेन, पुनर्मूल्यांकन नमूने के लिए डेटा की आवश्यकता अपेक्षाकृत बड़ी है, कुछ दो ट्रेडमार्क के लिए दशकों के निरंतर गहराई के डेटा की आवश्यकता हो सकती है ताकि उनके लाभ का पता लगाया जा सके।