Python辅导 | Assignment with written and programming components
Assignment 1
The assignment consists of both written and programming components
1. Use simulations to compute probabilities and expectation. (a) The goal of the first exercise is to compute
E?X2?,
where X is a standard normal distribution. One can directly show that E ?X2? is 1. Set the random seed to 120. Generate 20,40,…,200 draws from a standard normal distribution. For each data set, compute the sample mean of the squares of the data points. Plot the result for each sample size and check whether the average approaches 1 as the size of the data set increases.
(b) X and Y are independent standard normal random variables. We define two new random variables ?X ̃,Y ̃? as
4444
We know these two random variables are normal. What are the marginal distributions of X ̃ and
Y ̃ ? (You need to calculate their means and variances using formulas)
(c) The covariance of the two random variables is 3. We now calculate this covariance using Python: 8
simulate two series of numbers from standard normal distributions
? ̃ ̃??1 33 1? X,Y = X+ Y, X+ Y .
x1,x2,x3,… y1,y2,y3,…
and create the new series
8
(d) Let’s consider simulating the conditional probabilities. Suppose we would like to calculate the
1×1 + 3y1,… 44
3×1 + 1y1,… 44
Calculate the sample covariance for your simulations. Do this for data sets of size 200, 400, . . ., 2000, and plot the sample covariances and see whether they approach 3.
probability of
The conditional probability is given by
Pr ?X ̃ ≤ 1 | Y ̃ ≤ 2? .
Pr ?X ̃ ≤ 1, Y ̃ ≤ 2? some fraction of the simulations
Pr ?Y ̃ ≤ 2? ≈ some other fraction of the simulations .
Use the same data sets as (c), calculate the fractions for data sets of size 200, 400, …, 2000, and plot the ratios. Note that in this case, we do not have a closed solution and have to rely on simulations.
1
(e) We can also calculate conditional expectations. Suppose we would like to use simulation to calculate
E ? X ̃ | X ̃ ≤ 1 ? .
You still will calculate a sample mean, but on a specific subsample. Again, do this for all the data
sets in (c) and see which value the results approach.
(f) Repeat (e) for
E ? X ̃ | X ̃ ≤ 1 , Y ̃ ≤ 2 ? .
2. Bootstrap methods to calculate statistics. Re-set the random seed to 120
(a) Download the 2019 AMD stock prices at daily frequency from Yahoo finance. Read in the data with Python. (The data should start on the first day available in 2019 and end some time in August. The exact end date does not matter.)
(b) Focus on the variable called “adjusted closing price”. Our analysis will be based on this variable and not other prices. Calculate the sample mean μˆ and sample standard deviation σˆ.
(c) If the data are from an i.i.d and normal sample, then about 68% of the data should be within one σˆ away from μˆ, and 95% of the data should be within 1.96σˆ from μˆ. Is this the case? Calculate the percentages of data covered by the two intervals.
(d) If the data are from an i.i.d and normal sample, what should the correlation of the prices on day t and t + 1 be? What is the sample correlation?
(e) Let the price on t be yt. Create new data
rt = yt+1 −yt.
yt
You will have one fewer observation than yt. What is the sample correlation between rt+1 and
rt? Is the i.i.d assumption more or less likely to hold?
(f) Calculate the standard deviation of rt and the bootstrapped standard error. Bootstrap 1000
times.
(g) Calculate the data analog of the following statistic
σ− =?E(V2),
where V = min{0,rt}. Comparing σ−2 with the variance tells you the proportion of variations
where prices move downward.
(h) Use the bootstrap samples from (f) and perform bias reduction on the estimate σˆ− and calculate the bootstrapped standard error.
2