Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

RedisTimeSeries के साथ स्केलेबल वित्तीय एप्लिकेशन बनाएं

मोटे तौर पर, दुनिया में दो प्रकार के निवेशक हैं। मौलिक निवेशक कंपनी के व्यवसाय मॉडल, राजस्व, कमाई, नकदी प्रवाह, वर्तमान मूल्यांकन, जोखिम, और विकास संभावनाओं जैसे मौलिक मेट्रिक्स को देखते हैं जब यह तय करते हैं कि किसी कंपनी में निवेश करना है या नहीं। Warren Buffett अपनी मौलिक अनुसंधान के माध्यम से कम मूल्य वाली कंपनियों को ढूंढकर प्रसिद्ध और दुनिया के सबसे अमीर पुरुषों में से एक बने।

दूसरी ओर, तकनीकी निवेशक कंपनी के मूल सिद्धांतों पर बहुत कम या कोई ध्यान नहीं देते हैं, इसके बजाय अपना ध्यान सैकड़ों तकनीकी संकेतकों से खरीदने, बेचने, और रखने के संकेतों को प्राप्त करने पर केंद्रित करते हैं। ये तकनीकी निवेशक दैनिक, साप्ताहिक, या मासिक आधार पर व्यापार करते हैं।

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

मौलिक निवेशक हजारों कंपनियों और दुनिया भर के सैकड़ों उद्योगों में बैलेंस शीट, आय विवरण, नकदी प्रवाह विवरण, जनसांख्यिकीय रुझान, विषयगत रुझान, और सामाजिक रुझानों का अध्ययन करते हैं। वे कंपनियों के प्रक्षेपवक्र और कंपनियों की विकास संभावनाओं को बेहतर ढंग से समझने के लिए उस डेटा के शीर्ष पर वित्तीय मॉडल या विश्लेषण बनाते हैं।

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

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

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

RedisTimeSeries के साथ स्टॉक की कीमतों को ट्रैक करना

इस पोस्ट में मैं RedisTimeSeries का उपयोग करके स्टॉक की कीमतों और तकनीकी संकेतकों को स्टोर करने के लिए एक मॉडल दिखाने जा रहा हूं। मैं कीमतों और संकेतकों के लिए विभिन्न टाइम सीरीज के निर्माण को कवर करूंगा, कच्चे टाइम सीरीज के शीर्ष पर एकत्रीकरण बनाने का तरीका दिखाऊंगा, और विभिन्न RedisTimeSeries कमांड का उपयोग करके बल्क टाइम सीरीज को कितनी आसानी से अंतर्ग्रहण और क्वेरी किया जा सकता है, इसका प्रदर्शन करूंगा। मैंने नमूना Python कोड भी प्रदान किया है जिसे आप अपने उपयोग के मामले के लिए प्रारंभिक बिंदु के रूप में उपयोग कर सकते हैं।

सही या गलत, कई लोग डॉव जोन्स इंडस्ट्रियल एवरेज (DJIA) को अमेरिकी अर्थव्यवस्था के लिए बैरोमीटर मानते हैं। मैं DJIA में सभी 30 शेयरों के एक तकनीकी संकेतक के साथ-साथ शेयरों की कीमत और ट्रेडिंग वॉल्यूम को ट्रैक करना चाहता हूं। मैं Goldman Sachs के स्टॉक की कीमतों और उस स्टॉक के लिए एक तकनीकी संकेतक को ट्रैक करके चीजें शुरू करता हूं। मेरा पसंदीदा तकनीकी संकेतकों में से एक रिलेटिव स्ट्रेंथ इंडेक्स (RSI) है। RSI एक मोमेंटम संकेतक है जिसका उपयोग उस स्टॉक को मापने के लिए किया जाता है जो ओवरबॉट या ओवरसोल्ड क्षेत्र में हो सकता है। जब RSI 30 के निकट या नीचे चला जाता है, तो एक स्टॉक को ओवरसोल्ड माना जा सकता है और खरीदारी का अवसर प्रस्तुत कर सकता है। इसी तरह, जब RSI 70 से ऊपर चला जाता है, तो यह ओवरबॉट क्षेत्र में प्रवेश कर रहा हो सकता है और बेचने का अच्छा समय संकेत दे सकता है।

Goldman Sachs Group के लिए रिलेटिव स्ट्रेंथ इंडेक्स

RedisTimeSeries के साथ स्केलेबल वित्तीय एप्लिकेशन बनाएं

ट्रेडिंग घंटों के दौरान, RSI, किसी अन्य तकनीकी संकेतक की तरह, Goldman Sachs के शेयरों की मांग और आपूर्ति के आधार पर ट्रेड निष्पादित होने के रूप में बदलता रहता है। हम कई प्रमुख सवालों का जवाब देने में मदद के लिए RedisTimeSeries मॉड्यूल का उपयोग कर सकते हैं:

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

हम निर्दिष्ट समय अवधि के दौरान प्रोग्रामेटिक रूप से न्यूनतम और अधिकतम RSI मूल्यों और स्टॉक की कीमतों की पहचान करने के लिए RedisTimeSeries क्वेरी का उपयोग कर सकते हैं। उदाहरण के लिए, क्या होगा यदि मैं ट्रेडिंग दिवस के प्रत्येक 15-मिनट की अवधि के दौरान न्यूनतम और अधिकतम RSI नंबर ढूंढना चाहता था? जब RSI 30 पर या उसके निकट होता है, तो मैं एक अलर्ट जनरेट करना, ट्रेड करना, या खरीदने या बेचने से पहले अन्य तकनीकी संकेतकों का विश्लेषण करने के लिए एक और जटिल ट्रेडिंग वर्कफ़्लो शुरू करना चाह सकता हूं। आप जो कुछ भी करना चाहते हैं उसे RedisTimeSeries डेटाबेस में आसानी से मॉडल किया जा सकता है।

स्टॉक की कीमतों और तकनीकी संकेतकों के लिए डेटा मॉडल

RedisTimeSeries के साथ व्यावहारिक अनुभव प्राप्त करने का सबसे आसान तरीका RedisTimeSeries के लिए Docker इमेज चलाना है।

Docker इमेज को खींचने और चलाने के लिए निम्न कमांड निष्पादित करें:

docker run -p 6379:6379 -it --rm redis/redistimeseries

Redis टीम ने RedisTimeSeries मॉड्यूल के लिए एक जानबूझकर डिज़ाइन निर्णय लिया कि प्रत्येक टाइम सीरीज में एक मीट्रिक हो। डेटा मॉडल में यह सरलता डेटा के सम्मिलन और पुनर्प्राप्ति को सुपर फास्ट बनाती है। आप बिना अपने मौजूदा एप्लिकेशन को तोड़े नई टाइम सीरीज आवश्यकतानुसार जोड़ सकते हैं। इसका मतलब है कि आप डेटाबेस स्कीमा या अपने एप्लिकेशन को तोड़ने की चिंता किए बिना आसानी से नए डेटा स्रोत जोड़ सकते हैं।

एक बार जब आपके पास RedisTimeSeries कंटेनर चालू और चल रहा हो, तो आप Python का उपयोग करके सर्वर से कनेक्ट कर सकते हैं (सुनिश्चित करें कि आपके पास सही IP पता या होस्टनाम है) जैसे:

from redistimeseries.client import Client rts = Client(host='127.0.0.1', port=6379)

प्रत्येक टाइम सीरीज में एक मीट्रिक रखने के डिजाइन सिद्धांत के साथ, हम DJIA के प्रत्येक स्टॉक के लिए इंट्राडे स्टॉक मूल्य और RSI को अपनी टाइम सीरीज में स्टोर कर सकते हैं। नीचे, मैंने Goldman Sachs Group, Inc. (NYSE: GS) के लिए एक टाइम सीरीज बनाई है। मैंने Goldman Sachs के लिए इंट्राडे RSI को DAILYRSI:GS नाम दिया है और मैंने प्रत्येक टाइम सीरीज पर विभिन्न लेबल लागू किए हैं—एक टाइम सीरीज को लेबल करने से आप लेबल का उपयोग करके सभी कुंजियों में क्वेरी कर सकते हैं।

rts.create('DAILYRSI:GS', labels={ 'SYMBOL': 'GS' , 'DESC':'RELATIVE_STRENGTH_INDEX' , 'INDEX' :'DJIA' , 'TIMEFRAME': '1_DAY' , 'INDICATOR':'RSI' , 'COMPANYNAME': 'GOLDMAN_SACHS_GROUP'})

यहां, मैंने Goldman Sachs की इंट्राडे स्टॉक कीमतों के लिए INTRADAYPRICES:GS नामक एक टाइम सीरीज बनाई है:

rts.create('INTRADAYPRICES:GS', labels={ 'SYMBOL': 'GS' , 'DESC':'SHARE_PRICE' , 'INDEX' :'DJIA' , 'PRICETYPE':'INTRADAY' , 'COMPANYNAME': 'GOLDMAN_SACHS_GROUP'})

अगला, मैंने कुछ 15-मिनट के समय सीमा के भीतर RSI डेटा पर विभिन्न एकत्रीकरण बनाए। (हम अपने ट्रेडिंग आवश्यकताओं के अनुरूप लंबे या छोटे समय सीमा पर एकत्रीकरण बना सकते थे।) ये एकत्रीकरण हमें RSI के लिए पहले, अंतिम, न्यूनतम, अधिकतम, और रेंज मूल्यों को देखने देंगे। एक एकत्रीकरण बनाने के लिए, हम पहले एकत्रीकरण को स्टोर करने के लिए एक टाइम सीरीज बनाते हैं और फिर कच्चे डेटा (DAILYRSI:GS) पर रेंज फ़ंक्शन लागू करने और उसे DAILYRSI15MINRNG:GS में एकत्रित करने के लिए एक नियम बनाते हैं।

rts.create('DAILYRSI15MINRNG:GS', labels={ 'SYMBOL': 'GS' , 'DESC':'RELATIVE_STRENGTH_INDEX' , 'INDEX' :'DJIA' , 'TIMEFRAME': '15_MINUTES' , 'AGGREGATION': 'RANGE' , 'INDICATOR':'RSI' , 'COMPANYNAME': 'GOLDMAN_SACHS_GROUP'}) rts.createrule('DAILYRSI:GS', 'DAILYRSI15MINRNG:GS', 'range', 900)

यहां, मैंने ट्रेडिंग दिवस के दौरान प्रत्येक 15-मिनट के अंतराल के दौरान Goldman Sachs की स्टॉक कीमत के लिए रेंज और मानक विचलन की गणना करने के लिए कुछ नियम बनाए:

rts.create('INTRADAYPRICES15MINRNG:GS' , labels={ 'SYMBOL': 'GS' , 'DESC':'SHARE_PRICE' , 'INDEX' :'DJIA' , 'PRICETYPE':'RANGE' , 'AGGREGATION': 'RANGE' , 'DURATION':'15_MINUTES' , 'COMPANYNAME': 'GOLDMAN_SACHS_GROUP'}) rts.createrule('INTRADAYPRICES:GS' ,'INTRADAYPRICES15MINRNG:GS' ,'range', 900) rts.create('INTRADAYPRICES15MINSTDP:GS' , labels={ 'SYMBOL': 'GS' , 'DESC':'SHARE_PRICE' , 'INDEX' :'DJIA' , 'PRICETYPE':'STDDEV' , 'AGGREGATION': 'STDDEV' , 'DURATION':'15_MINUTES' , 'COMPANYNAME': 'GOLDMAN_SACHS_GROUP'}) rts.createrule( 'INTRADAYPRICES:GS' , 'INTRADAYPRICES15MINSTDP:GS' , 'std.p', 900)

आप डॉव जोन्स इंडस्ट्रियल एवरेज (DJIA) में सभी 30 शेयरों के लिए टाइम सीरीज को इसी तरह बना सकते हैं।

डेटा अंतर्ग्रहण विधियाँ

RedisTimeSeries में डेटा अंतर्ग्रहण करने के दो तरीके हैं। TS.ADD कमांड आपको प्रत्येक स्टॉक मूल्य या तकनीकी संकेतक को एक टाइम सीरीज में जोड़ने की अनुमति देता है। लेकिन क्योंकि वित्तीय बाजार से डेटा लगभग लगातार उत्पन्न होता है और आपको RedisTimeSeries में कई नमूनों को जोड़ने की आवश्यकता होती है, TS.MADD विधि का उपयोग करना बेहतर है। MADD फ़ंक्शन टुपल्स की एक सूची को एक तर्क के रूप में लेता है। प्रत्येक टुपल टाइम-सीरीज कुंजी का नाम, टाइमस्टैम्प, और मान लेता है:

RedisTimeSeries के साथ स्केलेबल वित्तीय एप्लिकेशन बनाएं

आप टाइम-सीरीज कुंजी में डेटा डालने के लिए निम्न Python कमांड का उपयोग कर सकते हैं:

rts.madd(<RSIIndicatorList>)

RedisTimeSeries क्वेरी करना

RedisTimeSeries में अधिकांश चीजों की तरह, डेटाबेस को क्वेरी करना आसान है। स्टॉक मूल्य या तकनीकी संकेतक के लिए रेंज और मानक विचलन अस्थिरता का संकेत है। निम्न क्वेरी आपको हर 15-मिनट के अंतराल में Goldman Sachs स्टॉक मूल्य के लिए मूल्य रेंज और मानक विचलन देखने देगी:

rts.range( 'INTRADAYPRICES15MINRNG:GS' , from_time = 1603704600 , to_time = 1603713600)

रेंज एकत्रीकरण की यह क्वेरी आपको निम्न परिणाम सेट देती है:

[(1603704600, 1.75999999999999), (1603705500, 0.775000000000006), (1603706400, 0.730000000000018), (1603707300, 0.449999999999989), (1603708200, 0.370000000000005), (1603709100, 1.01000000000002), (1603710000, 0.490000000000009), (1603710900, 0.89500000000001), (1603711800, 0.629999999999995), (1603712700, 0.490000000000009), (1603713600, 0.27000000000001)]

जैसा कि यह क्वेरी परिणाम दिखाता है, 26 अक्टूबर, 2020 को सुबह 9:30 बजे ET (पूर्णांक टाइमस्टैम्प = 1603704600) पर ट्रेडिंग दिवस की शुरुआत में Goldman Sachs स्टॉक अस्थिर था, $1.75 की रेंज के साथ ट्रेड कर रहा था। अब इसकी तुलना 26 अक्टूबर को सुबह 9:45 बजे (पूर्णांक टाइमस्टैम्प = 1603705500) से शुरू होने वाले अगले 15 मिनट से करें, जहां अस्थिरता $0.77 की रेंज के साथ गिर गई। Goldman Sachs स्टॉक के लिए मूल्य रेंज बाद के 15-मिनट के अंतराल में गिरती रही और अस्थिरता कभी भी शुरुआती 15-मिनट के अंतराल के दौरान पहुंचे स्तरों पर वापस नहीं आई।

RedisTimeSeries के इस डेटा को डैशबोर्ड और चार्ट में आसानी से विज़ुअलाइज़ किया जा सकता है। नीचे दिए गए चार्ट 15-मिनट के अंतराल में Goldman Sachs की मूल्य रेंज दिखाते हैं:

RedisTimeSeries के साथ स्केलेबल वित्तीय एप्लिकेशन बनाएं

नीचे दिया गया चार्ट उसी डेटा को लाइन चार्ट प्रारूप में दिखाता है, यह दर्शाता है कि जैसे-जैसे समय दिन भर में आगे बढ़ता है, Goldman Sachs जिस मूल्य सीमा में ट्रेड करता है वह बहुत सख्त हो जाता है (यह चार्ट x-अक्ष पर पूर्णांक टाइमस्टैम्प दिखाता है):

RedisTimeSeries के साथ स्केलेबल वित्तीय एप्लिकेशन बनाएं

आप अस्थिरता के एक अन्य उपाय—मानक विचलन—को एकत्रीकरण फ़ंक्शन के रूप में उपयोग करके एक समान क्वेरी कर सकते हैं:

rts.range( 'INTRADAYPRICES15MINSTDP:GS' , from_time = 1603704600 , to_time = 1603713600)
[(1603704600, 0.54657783830434), (1603705500, 0.23201149395202), (1603706400, 0.196072381345986), (1603707300, 0.160267138157647), (1603708200, 0.116990621700049), (1603709100, 0.28043101744222), (1603710000, 0.144379900126934), (1603710900, 0.327611558618967), (1603711800, 0.163118915546951), (1603712700, 0.151417199675549), (1603713600, 0.0963889432843203)]

यह कई दिलचस्प संभावनाओं को खोलता है। मान लें कि आप Goldman Sachs के स्टॉक की कीमत जानना चाहते थे जब इंट्राडे RSI मूल्य 30 और 40 के बीच था। आप ट्रेड के लिए लाभदायक प्रवेश बिंदुओं की पहचान करने के लिए RSI के लिए टाइम सीरीज और स्टॉक की कीमतों की टाइम सीरीज को क्वेरी कर सकते हैं।

यहां, मैं 1605260100 (13 नवंबर, 2020 को सुबह 9:35 बजे ET) और 1605260940 (उसी दिन सुबह 9:49 बजे ET) के बीच एक समय सीमा में Goldman Sachs के लिए RSI मूल्य क्वेरी कर रहा हूं।

dailyGSRSIValue = rts.range( 'DAILYRSI:GS' , from_time = 1605260100 , to_time = 1605260940)

क्वेरी पता लगाती है कि RSI मूल्य 1605260820 (सुबह 9:47 बजे ET) पर 34.2996427544861 था।

[(1605260100, 75.0305441024708), (1605260160, 81.6673948350152), (1605260220, 83.8852225932517), (1605260280, 85.9469082344746), (1605260340, 94.3803586011592), (1605260400, 92.2412262502652), (1605260460, 85.6867329371465), (1605260520, 87.9557361513823), (1605260580, 89.9407873066781), (1605260640, 57.1512452602676), (1605260700, 50.5638232111769), (1605260760, 35.2804436894564), (1605260820, 34.2996427544861), (1605260880, 54.5486275202972), (1605260940, 64.7593307385219)]

अब मैं उसी अंतराल के लिए Goldman Sachs की इंट्राडे कीमतों को क्वेरी कर सकता हूं जैसा कि RSI क्वेरी के लिए उपयोग किया गया था, या प्रोग्रामेटिक रूप से क्वेरी को बदल सकता हूं ताकि जब RSI मूल्य 34.29 पर था तो प्रतिबिंबित हो। यहां RSI क्वेरी के समान समय सीमा का उपयोग करके एक उदाहरण है।

dailyGSPrice = rts.range( 'INTRADAYPRICES:GS' , from_time = 1605260100 , to_time = 1605260940)

क्वेरी निर्दिष्ट रेंज के लिए Goldman Sachs के स्टॉक की कीमतें लौटाती है: 1605260820 (13 नवंबर, 2020 को सुबह 9:47 बजे ET) पर कीमत $217.18 थी।

[(1605260100, 216.57), (1605260160, 216.73), (1605260220, 217.08), (1605260280, 217.17), (1605260340, 217.87), (1605260400, 218.05), (1605260460, 217.91), (1605260520, 218.0), (1605260580, 218.11), (1605260640, 218.02), (1605260700, 217.72), (1605260760, 217.22), (1605260820, 217.18), (1605260880, 217.46), (1605260940, 217.61)]

RedisTimeSeries एक साथ कई टाइम सीरीज में क्वेरी करने का एक शक्तिशाली तरीका प्रदान करता है। TS.MGET कमांड आपको फ़िल्टर का उपयोग करके कई टाइम सीरीज में क्वेरी करने देता है। हमने पहले ही विभिन्न टाइम सीरीज बनाई हैं और उन पर लेबल लगाए हैं। अब उन लेबल का उपयोग टाइम सीरीज में क्वेरी करने के लिए फ़िल्टर के रूप में किया जा सकता है।

निम्न Python कोड कुछ लेबल के आधार पर दो फ़िल्टर लागू करता है: "DESC" और "TIMEFRAME"। पैरामीटर with_labels=False परिणाम सेट को प्रत्येक मान के लिए लेबल के बिना वापस करने की अनुमति देता है:

allRSIValues = rts.mget(filters=['DESC=RELATIVE_STRENGTH_INDEX','TIMEFRAME=1_DAY'], with_labels=False)

यह क्वेरी यहां दिखाए गए के समान एक परिणाम प्रस्तुत करेगी, जो कई शेयरों में अंतिम RSI मूल्यों को लौटाती है:

[{'DAILYRSI:BA': [{}, 1605261060, 62.2048922111768]}, {'DAILYRSI:CAT': [{}, 1605261060, 68.3834400302296]}, {'DAILYRSI:CRM': [{}, 1605261060, 59.2107333830133]}, {'DAILYRSI:CSCO': [{}, 1605261060, 52.7011052724688]}, {'DAILYRSI:CVX': [{}, 1605261060, 62.9890368832232]}, {'DAILYRSI:DOW': [{}, 1605261060, 73.597680480764]}, {'DAILYRSI:GS': [{}, 1605283140, 41.182852552541]}, {'DAILYRSI:IBM': [{}, 1605261060, 65.3742140862697]}, {'DAILYRSI:JPM': [{}, 1605261060, 77.7760292843745]}, {'DAILYRSI:KO': [{}, 1605261060, 26.8638381005608]}, {'DAILYRSI:MMM': [{}, 1605261060, 65.7852833683174]}, {'DAILYRSI:MRK': [{}, 1605261060, 38.9991886598036]}, {'DAILYRSI:UNH': [{}, 1605261060, 74.2672428885775]}, {'DAILYRSI:VZ': [{}, 1605261060, 33.177554436462]}, {'DAILYRSI:WBA': [{}, 1605261060, 47.3877762365391]}]

यदि मैंने with_labels=True सेट किया होता, तो परिणाम में प्रत्येक टाइम सीरीज पर सभी लेबल शामिल होते, जैसा कि यहां दिखाया गया है:

[{'DAILYRSI:BA': [{'SYMBOL': 'BA', 'DESC': 'RELATIVE_STRENGTH_INDEX', 'INDEX': 'DJIA', 'TIMEFRAME': '1_DAY', 'INDICATOR': 'RSI', 'COMPANYNAME': 'BOEING'}, 1605261060, 62.2048922111768]}, {'DAILYRSI:CAT': [{'SYMBOL': 'CAT', 'DESC': 'RELATIVE_STRENGTH_INDEX', 'INDEX': 'DJIA', 'TIMEFRAME': '1_DAY', 'INDICATOR': 'RSI', 'COMPANYNAME': 'CATERPILLAR'}, 1605261060, 68.3834400302296]}, {'DAILYRSI:CRM': [{'SYMBOL': 'CRM', 'DESC': 'RELATIVE_STRENGTH_INDEX', 'INDEX': 'DJIA', 'TIMEFRAME': '1_DAY', 'INDICATOR': 'RSI', 'COMPANYNAME': 'SALESFORCE'}, 1605261060, 59.2107333830133]}]

निष्कर्ष

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

आप इस ब्लॉग पोस्ट के लिए नमूना कोड GitHub पर यहां पा सकते हैं। और आप RedisTimeSeries के बारे में यहां अधिक जान सकते हैं।


  1. Redis के साथ स्केलेबल लॉग विश्लेषण प्लेटफॉर्म बनाएं: चरण-दर-चरण मार्गदर्शिका Redis के साथ स्केलेबल लॉग विश्लेषण प्लेटफॉर्म बनाएं: चरण-दर-चरण मार्गदर्शिका

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

  1. RedisTimeSeries 1.6 जारी: हाई-परफॉर्मेंस टाइम सीरीज के लिए नई सुविधाएं RedisTimeSeries 1.6 जारी: हाई-परफॉर्मेंस टाइम सीरीज के लिए नई सुविधाएं

    आज, हमें RedisTimeSeries 1.6 की सामान्य उपलब्धता की घोषणा करते हुए खुशी हो रही है। यह ब्लॉग पोस्ट अब उपलब्ध प्रमुख नई सुविधाओं का विवरण देता है। RedisTimeSeries के बारे में RedisTimeSeries Redis के लिए एक उच्च-प्रदर्शन, मेमोरी-फर्स्ट टाइम-सीरीज़ डेटा संरचना है। RedisTimeSeries टाइम सीरीज़ मल्टी-टेन

  1. अपने पीसी पर iOS ऐप्स चलाएं: चरण-दर-चरण मार्गदर्शिका अपने पीसी पर iOS ऐप्स चलाएं: चरण-दर-चरण मार्गदर्शिका

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