5

के आस-पास एक मूल्य श्रृंखला (सूचक) में घुसपैठ करने में सहायता करें, मैं कोई विशेषज्ञ प्रोग्रामर नहीं हूं, लेकिन मैं उस तरीके को बदलने का प्रयास कर रहा हूं जिसमें कुछ तकनीकी संकेतक ट्रेडस्टेशन नामक वित्तीय चार्टिंग पैकेज में प्रदर्शित होते हैं (नहीं विशिष्ट चार्टिंग आपूर्तिकर्ता प्रासंगिक है)।केंद्र मूल्य

यहां समस्या है: अधिकांश संकेतक शून्य बिंदु के चारों ओर प्लॉट किए जाते हैं, कभी-कभी वे इस बिंदु के करीब और कभी-कभी दूर हो जाते हैं। मैं उस तरीके को बदलना चाहता हूं जिसमें संकेतक प्लॉट किए गए हैं ताकि वे ज़ीरो के चारों ओर घूम सकें। लेकिन यहां मुश्किल हिस्सा है, मैं अपने आकार को बहुत विकृत नहीं करना चाहता; कुछ परिवर्तन ठीक और अपरिहार्य है, लेकिन मैं अभी भी संकेतकों को मूल रूप से उनके लिए पहचानने योग्य होना चाहता हूं।

अतीत में मैंने कई तरीकों की कोशिश की है, एक तरीका लॉगरिदमिक प्रकार के पैमाने का उपयोग कर रहा था, लेकिन यह सफल नहीं था क्योंकि यह किसी भी उच्चतम मूल्य पर था जो लगभग असंभव था- जो लक्ष्य नहीं है। लक्ष्य संकेतक के किसी एक को भी लगभग एक ही रखने की कोशिश करना है, लेकिन इसके प्लेसमेंट को बदलें ताकि यह शून्य (केंद्र) के करीब हो। या एक और रास्ता रखो; लक्ष्य संकेतकों को समान आकार के ऑसीलेशन करने के लिए है, लेकिन इन oscillations का केंद्र शून्य (संकेतक पैमाने का केंद्र) के करीब होना चाहिए।

क्या कोई इस बारे में जानता है या सोच सकता है कि यह किया जा सकता है? क्या कोई एल्गोरिदम है जो किसी भी मूल्य श्रृंखला को केंद्र बिंदु के चारों ओर अधिक घूमने में मदद कर सकता है बिना मूल के बहुत अधिक विकृति के?

इस पर किसी भी मदद की सराहना की जाएगी, धन्यवाद।

== अद्यतन == enter image description here गुलाबी लाइन मूल दोलक, काली रेखा मैं में तैयार किया है। यह कुदरती तौर से प्रतिनिधित्व करता क्या मेरा लक्ष्य इस के लिए किया जाएगा। घुमावदार क्षेत्र दिखाते हैं कि रेखा में खींची गई रेखा शून्य से पार हो जाती है ताकि इसका शून्य मूल्य मोटे तौर पर केंद्र के केंद्र में हो ... लेकिन मूल के मुकाबले परिसंचरण का समग्र आकार पहचानने योग्य रहता है, यहां तक ​​कि ऊंचे में कम विसंगति भी होती है और प्रत्येक आवेश की नींद; यानी वे मूल्य में अधिक समान हैं। मैंने विभिन्न संकेतकों के लिए कई अलग-अलग डेट्रेन्ड फ़ंक्शंस जोड़ने का प्रयास किया है, लेकिन मुझे पता चला है कि यह आकार बहुत अधिक है।

अद्यतन 2

मैं 50% और 80% से रैखिक y अक्ष को कम करने की कोशिश की है विभाजित, दुर्भाग्य से यह सिर्फ एक ही कार्य करने के लिए पैमाने कारक होगा के रूप में था लगता है? क्या ये सही है? यह विभिन्न oscillations के बीच संबंध बदलने के लिए प्रतीत नहीं होता है। यदि आप मेरी उदाहरण साजिश देखते हैं, तो ब्लैक लाइन में खींचे गए अधिक स्थिर और निम्न आवेश हैं I.e वे मूल्य/आकार में अधिक समान हैं और यह मुख्य लक्ष्य है।

अगला, मैं साजिश में एक उच्च पास फ़िल्टर जोड़ने की कोशिश करने जा रहा हूं यह देखने के लिए कि कौन सा परिणाम देता है और यदि यह मेरे लक्ष्य के किसी भी तरीके से करीब है।

सामान्य रूप से, किसी भी टिप्पणी को पोस्ट करने के लिए स्वतंत्र महसूस करें क्योंकि उन्हें आभारी रूप से प्राप्त किया गया है।

क्रिस

अद्यतन 3

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

क्या किसी के पास कोई अन्य विचार है, या चीजें जो मुझे कोशिश करनी चाहिए? चीयर्स !!!

+0

एक तस्वीर एक हजार शब्दों के बराबर है - आप एक नमूना चार्ट पोस्ट कर सकते हैं, और 'संशोधित' चार्ट कि प्रतिनिधित्व करेंगे कि आप क्या चाहते का एक नमूना? –

+2

@ क्रिस्टोफर मुझे स्टैक ओवरफ्लो में आपका स्वागत करने की अनुमति देता है और तीन चीजों को याद दिलाता है जो हम आम तौर पर यहां करते हैं: 1) जैसे ही आपको सहायता मिलती है, इसे विशेषज्ञता देने के अपने ** ** प्रश्नों का उत्तर देने का प्रयास करें ** ['एफएक्यू पढ़ें' ] (http://tinyurl.com/2vycnvr) 3) जब आप अच्छे प्रश्नोत्तर देखते हैं, तो उन्हें विश्वसनीयता के रूप में ['ग्रे त्रिकोणों का उपयोग करके] [http://i.imgur.com/kygEP.png) वोट दें सिस्टम की प्रतिष्ठा उस आधार पर आधारित है जो उपयोगकर्ता अपने ज्ञान को साझा करके हासिल करते हैं। यह भी याद रखना याद रखें कि आपकी समस्या, यदि कोई हो, तो बेहतर है, ['चेकमार्क साइन दबाकर] [http://i.imgur.com/uqJeW.png) –

+0

@ क्रिस्टोफर: लॉगिन करने के लिए एक ही ईमेल का उपयोग करें। तो आप अपने प्रश्नों को संपादित करने में सक्षम होंगे, आदि। अब आपने 2 खाते बनाए हैं: [यह] (http://stackoverflow.com/users/679441/christopher) और [यह] (http://stackoverflow.com/users/680084/क्रिस्टोफर) – abatishchev

उत्तर

4

यदि आप कुछ दर्जी बनाते हैं, तो आप फोरियर ट्रांसफॉर्म के कम आवृत्ति घटकों को फ़िल्टर कर सकते हैं।

मान लीजिए हम निम्नलिखित संकेत है:

enter image description here

फिर हम FFT गणना, और केवल उच्च आवृत्ति घटकों रखने के लिए। मान लें कि हम घटकों के पहले 1.5% की उपेक्षा करते हैं। मूल संकेत के परिणामस्वरूप प्लॉट और जिसके परिणामस्वरूप दोलन एक है:

enter image description here

HTH!

संपादित 2

यह जैसा कि ऊपर वर्णित क्या आप एक उच्च पास फिल्टर से उम्मीद कर सकते हैं, बजाय सिर्फ कम आवृत्ति घटकों निपटान के, एक घातीय उदासीनता जोड़ने है।

मेथेमेटिका (सिर्फ मामले में) में

कार्यक्रम:

centerOsc[x_] := 
    Module[{list, n, fp, coef, s}, 
    list = ([email protected][#, "Jan. 1, 2005"])[[2]] &@x; 
    n = [email protected]; 
    fp = Transpose[{N[Range[n]]/n, list}]; 
    coef = FourierDST[list, 1]/Sqrt[n/2]; 
    coef = Table[N[coef[[i]] (1 - E^(-i/6))], {i, 1, [email protected]}]; 
    s = IntegerPart[[email protected]/100]; s = 1; 
    {fp, {#, 
     Sum[coef[[r]]*Sin[Pi r #], {r, s, n - 1}]} & /@ (N[Range[n]]/ 
     n)}]; 
l = {"GE", "GOOG", "IBM", "MSFT"} ;(*Real prices from*) 
[email protected] 
Partition[ListLinePlot[centerOsc[#], 
    Axes -> False, Frame -> True, PlotLabel -> #, 
    PlotRange -> {{0.1, .9}, Full}, 
    Epilog -> Line[{{0, 0}, {1, 0}}]] & /@ l, 2] 

enter image description here

संपादित 2

आपके अंतिम अपडेट के आधार पर, ऐसा लगता है कि क्या आप चाहते हैं आसान प्राप्त किया जा सकता। बस (अपने डेटा, अपने भूखंड से निकाले का प्रयोग करके) आप रैखिक 50% और 80% से y अक्ष को कम करने को विभाजित करके क्या मिलेगा देखें:

enter image description here

और अपने भूखंड के साथ तुलना करें:

enter image description here

1

पहली बात मैं सुझाव है कि आप कर भी 0 से मतलब और कम से कम 1. इस के मानक विचलन 0.

चारों ओर अपने संकेतक के सभी केंद्रित हो जाएगा करने के लिए संकेतक के सभी प्रमाण के है

http://en.wikipedia.org/wiki/Standard_score

-Ralph विंटर्स

+0

के साथ घातीय क्षय का उपयोग करके गुणा करें, बहुत बहुत दूर लोग। उत्तर देने के लिए समय बिताने में मैं वास्तव में आपकी सराहना करता हूं। मेरे पास बहुत कुछ हो रहा है क्योंकि मैं शायद यहां बताए गए कुछ अलग तरीकों से प्रयोग करूँगा। मुझे यकीन है कि मेरे पास और प्रश्न होंगे, और मैं आपको सभी अपडेट रखूंगा !!! – Christopher

+0

अपडेट 2 अब जोड़ा गया है ... – Christopher

0

मैं अपने उदाहरण में इनपुट/आउटपुट संकेतों के कम आवृत्ति घटक चिह्नित किया है: enter image description here वास्तव में लगता है के रूप में @belisarius कहते हैं कि तुम क्या चाहते है - बस संकेत पर FFT करते हैं और कम आवृत्ति भागों को हटा दें। यही है - आपको high pass filter एल्गोरिदम की आवश्यकता है। बीटीडब्ल्यू, उच्च पास फ़िल्टर को 1D convolution और उच्च-पास कर्नेल के साथ भी कार्यान्वित किया जा सकता है। उदाहरण के लिए, - 3 घटक कर्नेल वेक्टर के लिए, उच्च-पास कर्नेल [-1; 3; -1] हो सकता है। मेरी राय में दृढ़ संकल्प के साथ उच्च-पास फ़िल्टर कार्यान्वयन सबसे आसान है। लेकिन आमतौर पर सीएफयू उपयोग के संबंध में एफएफटी के माध्यम से कार्यान्वयन सबसे तेज़ होता है।

hth

संबंधित मुद्दे