Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to estimate the joint distribution of stock returns using the copula package. I have read a couple of papers on copulae, but alas my lack of math knowledge prevents me from understanding beyond the basics if that! I am thinking of estimating the joint distribution using the following steps and have a couple of questions about the process in general:

  1. Download stock prices for two companies
  2. Convert prices to continuous returns
  3. Transform returns to marginal uniform distribution.
    1. How do I do this??
  4. Create the copula object
    1. When creating the Copula object using ellipCopula() or archmCopula(), I need to specifiy the type of copula and the parameters. How do I know which copula to use? And how do I obtain the parameters... I thought the point of fitting a copula to the data was to obtain the estimated parameters, so why do I need to specify here? Am I just providing initial estimates of the parameters which are then corrected in the actual fitting?
  5. Specifiy the bivariate distribution
    1. When specifying the bivariate distribution, I need to specify the margins in mvdc(), since, according to a number of sources, I should convert the data (returns) to uniform distributions, do I specify the margins as 'unif' in the function?
  6. Define the data to be fitted
    1. I am assuming the will be a matrix with 2 columns in this case, each column being the uniforms
  7. Fit the data

As you can see I am very new at this and any help would be greatly appreciated!

share|improve this question

migrated from Dec 6 '11 at 12:32

This question came from our site for professional and enthusiast programmers.

THis is a very interesting question, but has a better place on . I flagged it for moderator attention, so it will be moved by a moderator pretty soon. – Joris Meys Dec 6 '11 at 12:28
could you please share the s-plus or the R code? I am facing the same problem at the moment... Many thanks in advance! – user8239 Dec 28 '11 at 21:46

Check out A Short, Comprehensive, Practical Guide to Copulas by Atillio Meucci. The paper provides further references in case you'd like to learn more. Steps #3 and #5 are addressed by this paper.

Step #4 is specific to this particular function which I am not too familiar. Since you have so many questions you'd probably have better success breaking down the problem into related parts. You will be in a better place to frame question #4 after some further background reading. As such you really can't answer the question without going into the background of copulas.

There are parametric and non-parametric methods to estimating copulas. In my view, parametric copulas impose tight restrictions that are not respected by the data (non-stationarity, fat tails, etc.). More recent research on time-varying copulas and Meucci's non-parametric copulas I believe can better cope with these issues.

share|improve this answer
Thank you for the response! After rummaging around i have found an S-plus version of what i want to do and am almost finished porting it to R. I do need to understand more about the theories underlying copulae! And thanks for the link – LonelyBear Dec 8 '11 at 11:50
@LonelyBear Can you please register your account on SO and go back here? This way you will be able to take ownership of your question and be able to comment in its thread. – mbq Dec 8 '11 at 13:24

protected by whuber May 20 '13 at 14:36

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.