में गर्च का सिमुलेशन मैं एक गर्च मॉडल का अनुकरण कर रहा हूं। मॉडल स्वयं बहुत प्रासंगिक नहीं है, मैं आपसे पूछना चाहता हूं कि आप आर में सिमुलेशन को अनुकूलित करने के बारे में हैं। यदि आप वेक्टरेशन के लिए कोई कमरा देखते हैं तो कुछ भी ज्यादा है, मैंने इसके बारे में सोचा है लेकिन मैं इसे नहीं देख सकता। अब तक मैं क्या है यह है:आर
करते हैं:
# ht=cond.variance in t
# zt= random number
# et = error term
# ret= return
# Horizon= n periods ahead
तो यह कोड है:
randhelp= function(horizon=horizon){
ret <- zt <- et <- rep(NA,horizon)#initialize ret and zt et
for(j in 1:horizon){
zt[j]= rnorm(1,0,1)
et[j] = zt[j]*sqrt(ht[j])
ret[j]=mu + et[j]
ht[j+1]= omega+ alpha1*et[j]^2 + beta1*ht[j]
}
return(sum(ret))
}
मैं अब से 5 अवधि रिटर्न के अनुकरण करना चाहते हैं, तो मैं इस चलेंगे मान लीजिए कि 10000.
#initial values of the simulation
ndraws=10000
horizon=5 #5 periods ahead
ht=rep(NA,horizon) #initialize ht
ht[1] = 0.0002
alpha1=0.027
beta1 =0.963
mu=0.001
omega=0
sumret=sapply(1:ndraws,function(x) randhelp(horizon))
मुझे लगता है कि यह काफी तेजी से चल रहा है जाने लेकिन अगर वहाँ appr की किसी भी तरह से है मैं आप से पूछना चाहते हैं एक बेहतर तरीके से इस समस्या को ओचिंग।
धन्यवाद!
सुधार की गुंजाइश 'mu' और' omega' परिभाषित नहीं कर रहे हैं ऐसा लगता है। क्या आप लूप के बाहर 'zt' ले जा सकते हैं और सभी यादृच्छिक मान एक बार में उत्पन्न कर सकते हैं, फिर उनमें अनुक्रमणिका? क्या आपने 'लाइब्रेरी (कंपाइलर)' की कोशिश की है? – Chase
'लाइब्रेरी (कंपाइलर); f1 <- cmpfun (randhelp) 'यह सब एक भंवर देने के लिए लेता है। कभी-कभी यह एक बड़ा बढ़ावा देता है, अन्यथा इतना नहीं ... लेकिन एक छोटा IMHO के लायक परीक्षण करने में आसान है। सौभाग्य :) – Chase