2012-05-29 25 views
5

का उपयोग कर दीर्घकालिक भविष्यवाणी मैं एएनएन का उपयोग करके स्टॉक मूल्य की भविष्यवाणी करने के लिए एक परियोजना पर काम कर रहा हूं। मैंने पिछले 7 वर्षों के डेटा का उपयोग कर सिस्टम को प्रशिक्षित किया है और यह एक दिन के लिए डेटा की भविष्यवाणी करने के लिए ठीक काम करता है। अब मैं अगले सात दिनों के लिए शेयर मूल्य की भविष्यवाणी करना चाहता हूं।कृत्रिम तंत्रिका नेटवर्क

मेरा विचार दिन 2 और दिन 1 के अनुमानित डेटा का उपयोग करके दिन 1 डेटा का उपयोग करके दिन 2 डेटा की भविष्यवाणी करना है। लेकिन यह ठीक से काम नहीं कर रहा है।

मैंने एएनएन को शुरुआती मूल्य, अधिकतम और न्यूनतम मूल्य का उपयोग करके बंद मूल्य की भविष्यवाणी करने के लिए प्रशिक्षित किया है।

अगले सात दिनों के डेटा की भविष्यवाणी करने का विचार क्या है ??

+4

मुझे लगता है कि इसके लिए क्रिस्टल बॉल –

उत्तर

3

मारुफ, यदि आपके पास 1 दिन आगे विश्वसनीय एएनएन भविष्यवाणक है, तो कृपया आगे चर्चा करने के लिए मुझसे संपर्क करें! एलओएल

एक तरफ मजाक कर रहा है। तंत्रिका नेटवर्क और अन्य गैर-रैखिक भविष्यवाणियां केवल यही हैं - भविष्यवाणियों। जिस डेटा से आप काम कर रहे हैं (स्टॉक मूल्य डेटा) काफी हद तक यादृच्छिक है।

let min = -0.5 
let max = +0.5 
let bias = 0.01 
let random = rand(min, max) 
y[i] = y[i-1] + random + bias 

पूर्वाग्रह से थोड़ा (-0.01 से 0.01 तक) समायोजित करें और आप श्रृंखला के साथ अंत: अगर तुम मुझे विश्वास नहीं है, तो निम्न छद्म-कोड का उपयोग करें और स्क्रीन पर यह साजिश रचने एक यादृच्छिक की पैदल दूरी पर जनरेट करने का प्रयास जो एक प्रवृत्त स्टॉक मूल्य की तरह बहुत कम दिखता है। इसका कारण किसी अंतर्निहित प्रवृत्ति में है, ऐसे लोग हैं जो निर्णय ले रहे हैं, सिक्का फ्लिप से बेहतर नहीं हैं। क्या आप जानते थे कि औसत व्यापारी सही 55% समय है? वह सब कुछ चाहिए ...

अब, यदि डेटा काफी हद तक यादृच्छिक है तो भविष्यवाणी करना बहुत मुश्किल हो जाता है। आप बड़ी मात्रा में शोर में सिग्नल की तलाश में हैं। हर दिन आगे आप भविष्यवाणी करने की कोशिश करते हैं कि आपकी भविष्यवाणी कम सटीक हो जाती है।

क्या मैं पूछ सकता हूं - 1 दिन की भविष्यवाणी पाने के लिए आपने एएनएन में क्या इनपुट डाले हैं? उदाहरण के लिए यदि आप एक सटीक 1-दिन की भविष्यवाणी प्राप्त करने के लिए दैनिक स्टॉक की कीमतों के साथ-साथ अन्य व्युत्पन्न कारकों (जैसे परिवर्तन की मात्रा, वॉल्यूम, विचलन इत्यादि ...) का उपयोग कर रहे हैं, तो आप पाएंगे कि आप एक सटीक 1 सप्ताह की भविष्यवाणी प्राप्त कर सकते हैं साप्ताहिक स्टॉक डेटा के साथ उपरोक्त सभी को प्रतिस्थापित करना।

संपादित करें:

दूसरे, क्या आप भविष्यवक्ता की सटीकता की जांच करने के लिए कर रहे हैं? मिकरा के जवाब को बढ़ाने के लिए मैं निम्नलिखित जैसी रणनीति सुझाऊंगा।

1000 दिनों की डेटा विंडो को देखते हुए, इनमें से 800 लें और अपने एएनएन को प्रशिक्षित करें। अब भविष्य में एक दिन int की भविष्यवाणी करें। उस परिणाम के लिए गेज सटीकता के लिए अनुमानित समापन मूल्य (% अंतर) के साथ पूर्वानुमानित दिशा (ऊपर, नीचे) की तुलना करें। अब खिड़की को 1 दिन दाएं स्लाइड करें। एएनएन को फिर से प्रशिक्षित करें और परिणामों को ध्यान में रखते हुए 1 दिन की भविष्यवाणी करें।

यदि आप शेष 200 दिनों के लिए इसे जारी रखते हैं, तो परिणामों के अनुपात में सही दिशा (ऊपर, नीचे) क्या है? अनुमानित समापन मूल्य के 10% के भीतर परिणाम का अनुपात क्या था? यदि आपका एएनएन प्रत्येक दिन के कारोबार के करीब ऑर्डर दे रहा था और अगले दिन के अंत में उन्हें बंद कर रहा था, तो उसने कितना पैसा कमाया होगा? स्लिपेज और पाठ्यक्रम की ट्रेडिंग फीस के लिए लेखांकन ...

इससे आपको यह पता चल जाएगा कि सिस्टम कितना सटीक और सार्थक है।

+0

आपके त्वरित उत्तर के लिए धन्यवाद (मैं इस परियोजना में मारुफ के साथ हूं)। हम पिछले दिन के 1. दिन का उपयोग करते हैं 2. सबसे कम कीमत 3. उच्चतम मूल्य 4. उद्घाटन मूल्य और 5. संक्रमण मात्रा। हम आपकी "विंडो को 1 दिन दाएं" स्लाइड में नहीं समझते हैं। 800 दिनों के प्रशिक्षण के बाद, हमें 800 वें दिन के डेटा (5 पंक्तियों) के साथ 801 वें दिन की भविष्यवाणी करनी चाहिए। तो मूल डेटा के साथ तुलना करने की जरूरत है। फिर? "विंडो को 1 दिन से दाएं स्लाइड" से आपका क्या मतलब है? मेरी अज्ञानता के लिए खेद है। – shantanu

+1

मेरा मतलब यह है कि: यदि आपने वास्तविक एएनएन को वास्तविक व्यापार प्रणाली में उपयोग किया है, तो आपके पास केवल पिछले डेटा तक पहुंच होगी। बाजार के करीब हर रात आप एएनएन को फिर से प्रशिक्षित करेंगे और कीमतों को बंद करने की भविष्यवाणी करेंगे। फिर बाजार में खुलने पर आप एक व्यापार करेंगे, और बाजार में व्यापार से बाहर निकलेंगे। अगली रात आप पिछले डेटा (नए दिन सहित) पर प्रतिरक्षा दोहराएंगे और अगले दिन भविष्यवाणी करेंगे, अगले दिन एक व्यापार करें ... आपके परीक्षण को इस व्यवहार को अनुकरण करने की कोशिश करनी चाहिए। यदि आपने उपर्युक्त परीक्षण किया है, तो% जीतने/खोने वाले ट्रेडों पर रिपोर्ट किया गया है, यह कितना अच्छा है? –

2

आप बहुत अच्छी तरह से किया है अगर आप को प्रभावी ढंग से एक दिन भी आगे भविष्यवाणी कर सकते हैं - हमेशा की तरह मुद्दे हैं:

  • क्या आप वाकई overfitting नहीं कर रहे हैं, उदाहरण के लिए कर रहे हैं अपने प्रशिक्षण डेटा की सुविधाओं को दोहराने के लिए सीखना? यदि आपने अभी तक यह कोशिश नहीं की है तो मैं इसके बारे में सुनिश्चित करने के लिए अन्य 80% के साथ प्रशिक्षण के बाद अपने डेटा के 20% पर अपने एएनएन का परीक्षण करने की दृढ़ता से अनुशंसा करता हूं।
  • क्या आप भी पूर्ण मूल्य मूल्यों या डेल्टा की भविष्यवाणी करना सीख रहे हैं? यदि पूर्व, तो आप शायद इस तथ्य से एक अच्छा फिट प्राप्त कर रहे हैं कि अगले दिन के बंद होने की कीमत का सबसे अच्छा अनुमानक आज की बंद कीमत है (क्योंकि डेटा में इतना सीरियल सहसंबंध है)। यह इस गलती कर से 99% + आर-वर्ग फिट पाने के लिए असामान्य नहीं है ....

मान लिया जाये की भविष्यवाणी करने के लिए है कि आप ऊपर के जाल में से एक है, तो जिस तरह से में गिर नहीं किया है कई दिनों ऐसा करने के लिए स्वतंत्र रूप से भविष्य के प्रत्येक दिन स्वतंत्र रूप से अलग-अलग अनुमानित चर हैं। अगले दिन की भविष्यवाणियों को दूसरे दिन आदि में खिलाने में बहुत अधिक मूल्य नहीं है (क्योंकि आपके इनपुट डेटा में कोई नई जानकारी नहीं है), लेकिन यदि आप चाहें तो आप इसे आजमा सकते हैं (कोई नुकसान नहीं कर सकते , एक उपयोगी सुविधा डिटेक्टर आदि प्रदान करके सीखने में तेजी हो सकती है)।

इसके अलावा आप आगे की भविष्यवाणियों पर अनिश्चितता/भिन्नता की अपेक्षा करेंगे (क्योंकि अब और उसके बीच अनिश्चित स्टॉक मूल्य आंदोलनों के अधिक दिन हैं)। अपने आंकड़ों के भिन्नता के साथ-साथ इस कारण के लिए भविष्यवाणी करने की कोशिश करना उचित है।

+1

मैंने इस बारे में सुनिश्चित करने के लिए अन्य 80% के साथ प्रशिक्षण के बाद अपने डेटा के 20% पर अपने एएनएन का परीक्षण करने के कारण इसे +1 किया है। इसके अलावा मैं उल्लेख करने जा रहा था कि एक स्लाइडिंग विंडो तकनीक करने के लायक है, उदा। 800 दिनों के प्रशिक्षण डेटा के साथ, 1 दिन आगे भविष्यवाणी करें, वास्तविकता बनाम वास्तविक की तुलना करें, फिर प्रशिक्षण/भविष्यवाणी विंडो को 1 दिन दाएं, कुल्ला और दोहराएं। उस से आप एक बहुत लंबी खिड़की पर भविष्यवाणी की सटीकता का आकलन कर सकते हैं। मैं वास्तव में मेरी टिप्पणी अद्यतन करूँगा :) –

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