मैंने एक ARIMA (1,1,1) -GARCH (1,1) मॉडल को AUD / USD विनिमय दर की समय श्रृंखला के लिए मॉडल किया है, जो कई वर्षों के दौरान एक-एक मिनट के अंतराल पर सैंपल की गई कीमतों को दो से अधिक प्रदान करता है। जिस पर मॉडल का अनुमान लगाने के लिए लाखों डेटा पॉइंट। डेटासेट यहां उपलब्ध है । स्पष्टता के लिए, यह ARMA-GARCH मॉडल था जिसे लॉग कीमतों के पहले-क्रम एकीकरण के कारण रिटर्न लॉग करने के लिए फिट किया गया था। मूल AUD / USD समय श्रृंखला इस प्रकार दिखती है:
मैंने तब फिट किए गए मॉडल के आधार पर एक टाइम सीरीज़ का अनुकरण करने का प्रयास किया, जिससे मुझे निम्नलिखित जानकारी मिली:
मैं दोनों की उम्मीद करता हूं कि नकली श्रृंखला श्रृंखला मूल श्रृंखला से अलग होनी चाहिए, लेकिन मैं इतने महत्वपूर्ण अंतर की उम्मीद नहीं कर रहा था। संक्षेप में, मैं चाहता हूं कि सिम्युलेटेड श्रृंखला मूल की तरह व्यवहार या व्यापक रूप से दिखे।
यह आर कोड है जिसका उपयोग मैंने मॉडल का अनुमान लगाने और श्रृंखला का अनुकरण करने के लिए किया था:
library(rugarch)
rows <- nrow(data)
data <- (log(data[2:rows,])-log(data[1:(rows-1),]))
spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "std")
fit <- ugarchfit(spec = spec, data = data, solver = "hybrid")
sim <- ugarchsim(fit, n.sim = rows)
prices <- exp(diffinv(fitted(sim)))
plot(seq(1, nrow(prices), 1), prices, type="l")
और यह अनुमान आउटपुट है:
*---------------------------------*
* GARCH Model Fit *
*---------------------------------*
Conditional Variance Dynamics
-----------------------------------
GARCH Model : sGARCH(1,1)
Mean Model : ARFIMA(1,0,1)
Distribution : std
Optimal Parameters
------------------------------------
Estimate Std. Error t value Pr(>|t|)
mu 0.000000 0.000000 -1.755016 0.079257
ar1 -0.009243 0.035624 -0.259456 0.795283
ma1 -0.010114 0.036277 -0.278786 0.780409
omega 0.000000 0.000000 0.011062 0.991174
alpha1 0.050000 0.000045 1099.877416 0.000000
beta1 0.900000 0.000207 4341.655345 0.000000
shape 4.000000 0.003722 1074.724738 0.000000
Robust Standard Errors:
Estimate Std. Error t value Pr(>|t|)
mu 0.000000 0.000002 -0.048475 0.961338
ar1 -0.009243 0.493738 -0.018720 0.985064
ma1 -0.010114 0.498011 -0.020308 0.983798
omega 0.000000 0.000010 0.000004 0.999997
alpha1 0.050000 0.159015 0.314436 0.753190
beta1 0.900000 0.456020 1.973598 0.048427
shape 4.000000 2.460678 1.625568 0.104042
LogLikelihood : 16340000
मैं अपने मॉडलिंग और सिमुलेशन को बेहतर बनाने के लिए किसी भी मार्गदर्शन की सराहना करता हूं, या मैंने जो भी त्रुटियां की हैं, उनमें कोई अंतर्दृष्टि। ऐसा प्रतीत होता है जैसे कि मॉडल का अवशिष्ट मेरे सिमुलेशन प्रयास में शोर शब्द के रूप में उपयोग नहीं किया जा रहा है, हालांकि मुझे यकीन नहीं है कि इसे कैसे शामिल किया जाए।
ugarchspec()
औरugarchsim()
कार्य रहते हैं) शामिल नहीं हैं। सुनिश्चित करें कि जब भी आप यहाँ पर कोई प्रश्न पूछते हैं तो आपका कोड प्रतिलिपि प्रस्तुत करने योग्य होता है और यह "लोगों को आपकी सहायता करने में मदद करेगा"।