Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

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 have data on financial returns, and I want to fit the Cauchy distribution and student distribution to that data. Furthermore I want to check the goodness of fit in both cases. Where should I start from?

share|cite|improve this question
@Start with a choice of a programming language, or pre-built software. – nbubis Jan 15 '13 at 13:30
thanks I'm using R. but I'm not sure how to do it. I mean do I have to estimate parameters of cauchy distribution? – user45689 Jan 15 '13 at 14:40
Of course you have to estimate parameters--that's how you fit the distribution. You might start here. – Jonathan Christensen Jan 15 '13 at 14:47
up vote 1 down vote accepted

If I had a series of iid data $X_1, \dots, X_n$ that I assumed come from a Cauchy distribution with density $$ f(x;\mu,\sigma)= \frac{1}{\sigma}\frac{1}{\pi(1+((x-\mu)/\sigma)^2} $$ Here is how I would do that in R: first, the log-density in R is the function


then a function construction the log-likelihood function:

make_loglik <- function(x) {
          function(para) {
               sum(dcauchy(x,para[1],para[2],log=TRUE)) }

then actually making the loglik function:

loglik <- make_loglik(x)

and finally, maximizing this using optim() or some other optimization routine.

For the t-dist, you could just replace the cauchy density above with the t-density, but you should be aware that the t-likelihood is unbounded as a function of the degrees-of-freedom parameter! so just optimizing the likelihood might go very bad!

share|cite|improve this answer
thanks for your comment. – user45689 Jan 15 '13 at 17:06
I have a question are yoou taking mu and sigma as mean and S.D. here or they are location and scale parameters? – user45689 Jan 15 '13 at 17:15
mu and sigma are location/scale parameters! mean do not exist! – kjetil b halvorsen Jan 15 '13 at 20:13
thanks, can we do this in that way > log <- function(theta, x) {sum(-dcauchy(x, location = theta[1], scale = theta[2], log = TRUE))} after that we can use nlm() theta.start <- c(median(x), IQR(x)/2) > out <- nlm(mlogl3, theta.start, x = x) > theta.hat <- out$estimate – user45689 Jan 16 '13 at 12:10
In addition to accept the answer, you should really upvote it also ... – kjetil b halvorsen Jan 16 '13 at 16:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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