April 25th, 2008, 10:50 pm
QuoteOriginally posted by: mizhaelQuoteOriginally posted by: JediQuantApologies for the intrusion..here's a related question from me...:I have recently acquired myself Javaher's book, 'Inside Volatility Arbitrage'. I must say the book has proved to be really useful and is quite beautifully written.My question is whether anyone here has implemented any of the particle filters he gives for estimating jump diffusions with stoch. volatility? I have tried to, but, I notice it takes so much time! My dataset has 4,000 values and plus with a 1,000 particles...each function evaluation takes so much time! I am using the Nelder-Meade algorithm for optimisation, however, that runs into problems!What I normally tend to do with MLE is use many different random starting values and then select the set which gives the highest likelihood. However, in the particle filtering method, evaluating the function take so so much time that it seems quite absurd for me to use multiple starting values. In fact, in Javaher's book, the examples he uses...he tends to use starting parameter values which are quite close to the actual ones (he plays with simulated data).Any thoughts on this? Are there any faster algorithms? Any references people can point me towards.Many thanks!Have you made the example C++ code in his book work? I think those codes are reasonably fast, because the dimension of the problem is low and the scale of the problem is still small.I have translated his c++ code into R. The model I am playing around with is a bit different to his, nonetheless, I don't think I have made any mistake. The dimension of my problem is the same as his. Essentially the filter has two for loops. I have 4,000 data points and for each one of these it has to loop through my chosen number of particles. He uses 1,000 particles in his book...so with that number, my function becomes computationally very demanding (4,000x1,000)! I guess these methods by default are very computationally demanding and for a large dataset this becomes an issue. Or perhaps its because I am using R and should really be using C++. Although not sure hwo much of a difference this would make.