कोई भी एक मात्रात्मक मंच बनाने के लिए एफएमजेड क्वांट विस्तारित एपीआई का उपयोग कर सकता है। डेमो आइटम दिखाता है कि पायथन और एफएमजेड क्वांट विस्तारित एपीआई का उपयोग करके एक शक्तिशाली मात्रात्मक मंच कैसे बनाया जाए।
DEMO आइटम के अनुसार, आप सर्वर-साइड कोड लिखने और मौजूदा प्रणालियों में सम्मिलित करने के लिए फ्रंट-एंड पृष्ठ जोड़ने के लिए संदर्भित कर सकते हैं, जैसे कि फ़ोरम, ब्लॉग, समुदाय और अन्य। मौजूदा उपयोगकर्ता समूहों तक लचीली पहुंच प्राप्त करने के लिए, मौजूदा उपयोगकर्ता समूहों को FMZ Quant के अंतर्निहित तकनीकी समर्थन का पूरी तरह से अनुभव नहीं होगा, इसलिए उपयोगकर्ताओं का उपयोग अधिक संक्षिप्त और संचालित करने में आसान है।
अत्यधिक लचीली रणनीति डिजाइन
आप परिमाणात्मक व्यापार रणनीतियों को लिखने के लिए पायथन, जावास्क्रिप्ट और सी ++ का उपयोग कर सकते हैं, अनुकूलित करने के लिए स्वतंत्र महसूस करें, और परिमाणात्मक व्यापार की दुनिया में अपने स्वयं के व्यापारिक विचारों को लागू करें, बिना किसी प्रतिबंध के।
शक्तिशाली और प्रभावी बैकटेस्ट प्रणाली
आपको हार्ड डेटा एकत्र करने की आवश्यकता नहीं है, और स्थानीय बैकटेस्ट इंजन को आसानी से कॉन्फ़िगर करने के लिए केवल एक कमांड की आवश्यकता है; लिंकःhttps://github.com/fmzquant/backtest_python
सरलीकृत संरचना
आपको केवल कई फ्रंट-एंड पेज और एक HTTP सर्वर प्रोग्राम लिखने की आवश्यकता है, आसानी से संरचना का निर्माण करने के लिए।
नामः एफएमजेड क्वांट अपने स्वयं के परिसंपत्ति प्रबंधन मात्रात्मक मंच के निर्माण के लिए अपने विस्तारित एपीआई का उपयोग कैसे करता है
डीईएमओ स्थापना
पहले डेमो को क्लोन करें।
git clone https://github.com/fmzquant/fmz_extend_api_demo.git
शब्दकोश पर स्विच करें और पाइप स्थापित करें.
pip install -r requirements.txt
नोटः यदि
स्थापना के बाद, सर्वर प्रोग्राम द्वारा आवश्यक एफएमजेड खाता एपीआई कुंजी को कॉन्फ़िगर करें.
एफएमजेड विस्तारित एपीआई कुंजी के उपयोग का विवरण एपीआई प्रलेखन में देखा जा सकता हैः
एफएमजेड एपीआई कुंजी बनाएँ.
में एपीआई कुंजी लिखेंapp.pyडेमो का सर्वर प्रोग्राम।
डीईएमओ का सर्वर कमांड को संचालित करता है।
python app.py
ऑपरेशन डिस्प्लेः
सर्वर प्रोग्राम निष्पादित होने के बाद, ब्राउज़र में स्थानीय पृष्ठ खोलेंःhttp://127.0.0.1:5000
पंजीकरण पृष्ठ की जाँच करें।
DEMO मात्रात्मक मंच अब चल रहा है; परीक्षण मंच खाता पंजीकृत करें (स्थानीय डेटा में सहेजा गया); मंच खाते के एपीआई कुंजी को कॉन्फ़िगर करने के लिए लॉग इन करें.
अब यह निम्नानुसार विन्यस्त हैः
पृष्ठ पर प्रदर्शित तीन रणनीतियाँ केवल यूआई डिस्प्ले हैं। इन्हें भी परिसंपत्ति प्रबंधन मात्रात्मक मंच के प्रबंधक द्वारा लागू किए जाने वाले विशिष्ट डिजाइन की आवश्यकता होती है। यह केवल प्रदर्शन उद्देश्य के लिए है।
एक परीक्षण रणनीति को कॉन्फ़िगर करें.
इस डेमो में, सर्वर
मुख्य परीक्षण लाभ का रणनीति कोडः
function main() {
while(true) {
LogProfit(Math.random()*100);
Sleep(1000);
}
}
कोड संपादित करें और सहेजें पर क्लिक करें.
नोटः ऑपरेशन से पहले सुनिश्चित करें कि एक डॉकर ऑनलाइन है।
प्रारंभ करने के लिए एक क्लिक करें बटन पर क्लिक करें, एक बॉट स्वचालित रूप से चलाने के लिए बनाया जाएगा; एक डेमो रणनीति के साथ बंडल बॉट केवल लाभ मान के रूप में प्रदर्शित किए गए मूल्यों को यादृच्छिक रूप से निर्यात कर सकता है।
आप देख सकते हैं कि एफएमजेड क्वांट के डैशबोर्ड पर एक नव निर्मित बॉट प्रदर्शित होता हैः
संबंधित यादृच्छिक मान भी डेमो पृष्ठ पर प्रदर्शित किए जाते हैं।
एफएमजेड क्वांट पर चल रहा बॉट वर्तमान डेमो प्लेटफॉर्म के लॉगिन खाते को एपीआईडी द्वारा पहचानता है।
def robot_run(robotId, appId, exchanges):
strategyId = -1
# You can select to operate a strategy containing the string "main" from the "Strategy"library
for ele in api("GetStrategyList")['data']['result']['strategies']:
if 'main' in ele['name']:
strategyId = ele['id']
if strategyId < 0:
raise u"not found strategy"
settings = {
"name":"robot for %s" % (appId, ),
"args": [], # our custom arguments for this strategey
"appid": appId, # set a label for the bot, to relate to the user
"period": 60,
"strategy": strategyId,
"exchanges": [],
}
for e in exchanges:
settings["exchanges"].append({"eid": e.eid, "pair": get_default_stock(e.eid), "meta" :{"AccessKey": e.accessKey, "SecretKey": e.secretKey}})
if robotId > 0:
return api('RestartRobot', robotId, settings)
else:
return api('NewRobot', settings)
जैसा कि आप देख सकते हैं,
# Github address update: https://github.com/fmzquant/fmz_extend_api_demo