Parameter estimation for Stochastic differential equation
up vote
5
down vote
favorite
I have a process $X(t)$ defined on some finite time horizon $[0,T]$ and I know that my process satisfies the following SDE:
$dX(t)=X_t mu dt + X_t sigma dB_t$.
where $B$ is a standard Brownian motion. In particular I'm assuming that both the drift and volatility are constant over time.
Question:
Given data points $x_{t_1}, ldots x_{t_n}$ that are realizations of the random variable $X(t)$ at times $t_1 ldots t_n$, how do I estimate the drift and volatility parameters $mu, sigma$ ? I'm interested in a method that is relatively easy to implement.
I would also like to know if there already exist libraries in say Python that might help for this task.
What would be a method for estimating $mu$ and $sigma$ if they change over time? (I.e. they are are time dependent)
reference-request stochastic-processes parameter-estimation
add a comment |
up vote
5
down vote
favorite
I have a process $X(t)$ defined on some finite time horizon $[0,T]$ and I know that my process satisfies the following SDE:
$dX(t)=X_t mu dt + X_t sigma dB_t$.
where $B$ is a standard Brownian motion. In particular I'm assuming that both the drift and volatility are constant over time.
Question:
Given data points $x_{t_1}, ldots x_{t_n}$ that are realizations of the random variable $X(t)$ at times $t_1 ldots t_n$, how do I estimate the drift and volatility parameters $mu, sigma$ ? I'm interested in a method that is relatively easy to implement.
I would also like to know if there already exist libraries in say Python that might help for this task.
What would be a method for estimating $mu$ and $sigma$ if they change over time? (I.e. they are are time dependent)
reference-request stochastic-processes parameter-estimation
add a comment |
up vote
5
down vote
favorite
up vote
5
down vote
favorite
I have a process $X(t)$ defined on some finite time horizon $[0,T]$ and I know that my process satisfies the following SDE:
$dX(t)=X_t mu dt + X_t sigma dB_t$.
where $B$ is a standard Brownian motion. In particular I'm assuming that both the drift and volatility are constant over time.
Question:
Given data points $x_{t_1}, ldots x_{t_n}$ that are realizations of the random variable $X(t)$ at times $t_1 ldots t_n$, how do I estimate the drift and volatility parameters $mu, sigma$ ? I'm interested in a method that is relatively easy to implement.
I would also like to know if there already exist libraries in say Python that might help for this task.
What would be a method for estimating $mu$ and $sigma$ if they change over time? (I.e. they are are time dependent)
reference-request stochastic-processes parameter-estimation
I have a process $X(t)$ defined on some finite time horizon $[0,T]$ and I know that my process satisfies the following SDE:
$dX(t)=X_t mu dt + X_t sigma dB_t$.
where $B$ is a standard Brownian motion. In particular I'm assuming that both the drift and volatility are constant over time.
Question:
Given data points $x_{t_1}, ldots x_{t_n}$ that are realizations of the random variable $X(t)$ at times $t_1 ldots t_n$, how do I estimate the drift and volatility parameters $mu, sigma$ ? I'm interested in a method that is relatively easy to implement.
I would also like to know if there already exist libraries in say Python that might help for this task.
What would be a method for estimating $mu$ and $sigma$ if they change over time? (I.e. they are are time dependent)
reference-request stochastic-processes parameter-estimation
reference-request stochastic-processes parameter-estimation
edited Nov 26 at 9:59
asked Nov 5 at 14:15
sigmatau
1,7401924
1,7401924
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
For geometric Brownian motion we have (by solving the SDE)
$$log X_{t_i}=log X_{t_{i-1}}+tildemu(t_i-t_{i-1})+sigma(B_{t_i}-B_{t_{i-1}}),quad i=1,..,n$$
where $tildemu=mu-frac{sigma^2}{2}$.
Hence the conditional distribution of $X_{t_i}$ given $X_{t_{i-1}}$ is log-normal with mean equal to $log X_{t_{i-1}}+tildemu(t_i-t_{i-1})$ and variance $sigma^2 (t_i-t_{i-1})$.
Suppose that $X_0=x_0$ is fixed (the calculations are very similar if $X_0$ is itself lognormal, just add another term), the log of the joint density of the vector $(X_{t_1},...,X_{t_n})$ at $x_1,...,x_n$ takes the following form:
$$log p(x_1,...,x_n)=-sum_{i=1}^nlog x_i-frac{n}{2}log 2pisigma^2-frac{1}{2}sum_{i=1}^nlogDelta t_i-frac{1}{2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{sigma^2Delta t_i},$$
where we introduced $Delta t_i=t_i-t_{i-1}$.
Differentiating this wrt. $mu$, we obtain
$$partial_{tildemu}log p=frac{1}{sigma^2}Big(log x_n-log x_0-tildemu(t_n-t_0)Big)=0quadLongrightarrowquadtildemu=frac{log x_n-log x_0}{t_n-t_0},$$
and by using this, we can also solve the other equation:
$$partial_{sigma^2}log p=frac{1}{2sigma^2}Big(frac{1}{sigma^2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}-nBig)=0$$
$$quadLongrightarrowquadsigma^2=frac{1}{n}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}.$$
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
1
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
1
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
1
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
|
show 3 more comments
up vote
1
down vote
I'm not so familiar with this formulation of the problem, but a common practice in engineering is the method based on Allan Variance. You basically assume the high frequency noise to be the volatility while the low frequency is the drift and identify btoh from the slopes on the chart..
As for the case when they are not constant it would be necessary to make some assumptions on how they vary over time. Either by giving them specific time functions with parameters to be estimated or possibly assuming that they are themselves performing soem kind of random (possibly Brownian) motion, in which case some technique like an Extended Kalman Filter or a Particle Filter could be envisaged.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
For geometric Brownian motion we have (by solving the SDE)
$$log X_{t_i}=log X_{t_{i-1}}+tildemu(t_i-t_{i-1})+sigma(B_{t_i}-B_{t_{i-1}}),quad i=1,..,n$$
where $tildemu=mu-frac{sigma^2}{2}$.
Hence the conditional distribution of $X_{t_i}$ given $X_{t_{i-1}}$ is log-normal with mean equal to $log X_{t_{i-1}}+tildemu(t_i-t_{i-1})$ and variance $sigma^2 (t_i-t_{i-1})$.
Suppose that $X_0=x_0$ is fixed (the calculations are very similar if $X_0$ is itself lognormal, just add another term), the log of the joint density of the vector $(X_{t_1},...,X_{t_n})$ at $x_1,...,x_n$ takes the following form:
$$log p(x_1,...,x_n)=-sum_{i=1}^nlog x_i-frac{n}{2}log 2pisigma^2-frac{1}{2}sum_{i=1}^nlogDelta t_i-frac{1}{2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{sigma^2Delta t_i},$$
where we introduced $Delta t_i=t_i-t_{i-1}$.
Differentiating this wrt. $mu$, we obtain
$$partial_{tildemu}log p=frac{1}{sigma^2}Big(log x_n-log x_0-tildemu(t_n-t_0)Big)=0quadLongrightarrowquadtildemu=frac{log x_n-log x_0}{t_n-t_0},$$
and by using this, we can also solve the other equation:
$$partial_{sigma^2}log p=frac{1}{2sigma^2}Big(frac{1}{sigma^2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}-nBig)=0$$
$$quadLongrightarrowquadsigma^2=frac{1}{n}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}.$$
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
1
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
1
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
1
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
|
show 3 more comments
up vote
1
down vote
accepted
For geometric Brownian motion we have (by solving the SDE)
$$log X_{t_i}=log X_{t_{i-1}}+tildemu(t_i-t_{i-1})+sigma(B_{t_i}-B_{t_{i-1}}),quad i=1,..,n$$
where $tildemu=mu-frac{sigma^2}{2}$.
Hence the conditional distribution of $X_{t_i}$ given $X_{t_{i-1}}$ is log-normal with mean equal to $log X_{t_{i-1}}+tildemu(t_i-t_{i-1})$ and variance $sigma^2 (t_i-t_{i-1})$.
Suppose that $X_0=x_0$ is fixed (the calculations are very similar if $X_0$ is itself lognormal, just add another term), the log of the joint density of the vector $(X_{t_1},...,X_{t_n})$ at $x_1,...,x_n$ takes the following form:
$$log p(x_1,...,x_n)=-sum_{i=1}^nlog x_i-frac{n}{2}log 2pisigma^2-frac{1}{2}sum_{i=1}^nlogDelta t_i-frac{1}{2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{sigma^2Delta t_i},$$
where we introduced $Delta t_i=t_i-t_{i-1}$.
Differentiating this wrt. $mu$, we obtain
$$partial_{tildemu}log p=frac{1}{sigma^2}Big(log x_n-log x_0-tildemu(t_n-t_0)Big)=0quadLongrightarrowquadtildemu=frac{log x_n-log x_0}{t_n-t_0},$$
and by using this, we can also solve the other equation:
$$partial_{sigma^2}log p=frac{1}{2sigma^2}Big(frac{1}{sigma^2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}-nBig)=0$$
$$quadLongrightarrowquadsigma^2=frac{1}{n}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}.$$
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
1
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
1
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
1
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
|
show 3 more comments
up vote
1
down vote
accepted
up vote
1
down vote
accepted
For geometric Brownian motion we have (by solving the SDE)
$$log X_{t_i}=log X_{t_{i-1}}+tildemu(t_i-t_{i-1})+sigma(B_{t_i}-B_{t_{i-1}}),quad i=1,..,n$$
where $tildemu=mu-frac{sigma^2}{2}$.
Hence the conditional distribution of $X_{t_i}$ given $X_{t_{i-1}}$ is log-normal with mean equal to $log X_{t_{i-1}}+tildemu(t_i-t_{i-1})$ and variance $sigma^2 (t_i-t_{i-1})$.
Suppose that $X_0=x_0$ is fixed (the calculations are very similar if $X_0$ is itself lognormal, just add another term), the log of the joint density of the vector $(X_{t_1},...,X_{t_n})$ at $x_1,...,x_n$ takes the following form:
$$log p(x_1,...,x_n)=-sum_{i=1}^nlog x_i-frac{n}{2}log 2pisigma^2-frac{1}{2}sum_{i=1}^nlogDelta t_i-frac{1}{2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{sigma^2Delta t_i},$$
where we introduced $Delta t_i=t_i-t_{i-1}$.
Differentiating this wrt. $mu$, we obtain
$$partial_{tildemu}log p=frac{1}{sigma^2}Big(log x_n-log x_0-tildemu(t_n-t_0)Big)=0quadLongrightarrowquadtildemu=frac{log x_n-log x_0}{t_n-t_0},$$
and by using this, we can also solve the other equation:
$$partial_{sigma^2}log p=frac{1}{2sigma^2}Big(frac{1}{sigma^2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}-nBig)=0$$
$$quadLongrightarrowquadsigma^2=frac{1}{n}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}.$$
For geometric Brownian motion we have (by solving the SDE)
$$log X_{t_i}=log X_{t_{i-1}}+tildemu(t_i-t_{i-1})+sigma(B_{t_i}-B_{t_{i-1}}),quad i=1,..,n$$
where $tildemu=mu-frac{sigma^2}{2}$.
Hence the conditional distribution of $X_{t_i}$ given $X_{t_{i-1}}$ is log-normal with mean equal to $log X_{t_{i-1}}+tildemu(t_i-t_{i-1})$ and variance $sigma^2 (t_i-t_{i-1})$.
Suppose that $X_0=x_0$ is fixed (the calculations are very similar if $X_0$ is itself lognormal, just add another term), the log of the joint density of the vector $(X_{t_1},...,X_{t_n})$ at $x_1,...,x_n$ takes the following form:
$$log p(x_1,...,x_n)=-sum_{i=1}^nlog x_i-frac{n}{2}log 2pisigma^2-frac{1}{2}sum_{i=1}^nlogDelta t_i-frac{1}{2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{sigma^2Delta t_i},$$
where we introduced $Delta t_i=t_i-t_{i-1}$.
Differentiating this wrt. $mu$, we obtain
$$partial_{tildemu}log p=frac{1}{sigma^2}Big(log x_n-log x_0-tildemu(t_n-t_0)Big)=0quadLongrightarrowquadtildemu=frac{log x_n-log x_0}{t_n-t_0},$$
and by using this, we can also solve the other equation:
$$partial_{sigma^2}log p=frac{1}{2sigma^2}Big(frac{1}{sigma^2}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}-nBig)=0$$
$$quadLongrightarrowquadsigma^2=frac{1}{n}sum_{i=1}^nfrac{(log x_i-log x_{i-1}-tildemuDelta t_i)^2}{Delta t_i}.$$
edited Dec 2 at 13:45
answered Nov 26 at 9:51
S.Surace
731412
731412
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
1
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
1
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
1
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
|
show 3 more comments
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
1
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
1
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
1
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
Indeed, I found this: math.stackexchange.com/questions/2554579/…. Or, maybe better, equation (14) here: file:///C:/Users/Me/Downloads/SSRN-id2944341.pdf . So it would be enough to maximize the likelihood function with respect to $mu$ and $sigma$ right? This can be done in python, there are some optimiztion packages. or
– sigmatau
Nov 26 at 9:54
1
1
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
But that is for a different SDE (geometric Brownian motion). What you have is Brownian motion with drift.
– S.Surace
Nov 26 at 9:57
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
You are totally right, I did a mistake in writing down the formula. I am considering geometric brownian motion, will fix that now.
– sigmatau
Nov 26 at 9:59
1
1
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
Ok, in that case you can do the same with just a couple of logs. I will change my answer. You don't need any optimization packages. You can solve for $mu$ and $sigma$ algebraically!
– S.Surace
Nov 26 at 10:00
1
1
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
Yes, thank you. I made the corrections, hope everything is correct now.
– S.Surace
Dec 2 at 13:46
|
show 3 more comments
up vote
1
down vote
I'm not so familiar with this formulation of the problem, but a common practice in engineering is the method based on Allan Variance. You basically assume the high frequency noise to be the volatility while the low frequency is the drift and identify btoh from the slopes on the chart..
As for the case when they are not constant it would be necessary to make some assumptions on how they vary over time. Either by giving them specific time functions with parameters to be estimated or possibly assuming that they are themselves performing soem kind of random (possibly Brownian) motion, in which case some technique like an Extended Kalman Filter or a Particle Filter could be envisaged.
add a comment |
up vote
1
down vote
I'm not so familiar with this formulation of the problem, but a common practice in engineering is the method based on Allan Variance. You basically assume the high frequency noise to be the volatility while the low frequency is the drift and identify btoh from the slopes on the chart..
As for the case when they are not constant it would be necessary to make some assumptions on how they vary over time. Either by giving them specific time functions with parameters to be estimated or possibly assuming that they are themselves performing soem kind of random (possibly Brownian) motion, in which case some technique like an Extended Kalman Filter or a Particle Filter could be envisaged.
add a comment |
up vote
1
down vote
up vote
1
down vote
I'm not so familiar with this formulation of the problem, but a common practice in engineering is the method based on Allan Variance. You basically assume the high frequency noise to be the volatility while the low frequency is the drift and identify btoh from the slopes on the chart..
As for the case when they are not constant it would be necessary to make some assumptions on how they vary over time. Either by giving them specific time functions with parameters to be estimated or possibly assuming that they are themselves performing soem kind of random (possibly Brownian) motion, in which case some technique like an Extended Kalman Filter or a Particle Filter could be envisaged.
I'm not so familiar with this formulation of the problem, but a common practice in engineering is the method based on Allan Variance. You basically assume the high frequency noise to be the volatility while the low frequency is the drift and identify btoh from the slopes on the chart..
As for the case when they are not constant it would be necessary to make some assumptions on how they vary over time. Either by giving them specific time functions with parameters to be estimated or possibly assuming that they are themselves performing soem kind of random (possibly Brownian) motion, in which case some technique like an Extended Kalman Filter or a Particle Filter could be envisaged.
edited Nov 19 at 12:34
answered Nov 19 at 12:24
Mefitico
920117
920117
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2985791%2fparameter-estimation-for-stochastic-differential-equation%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown