Consider the daily stock returns of American Express (AXP), Caterpillar (CAT), and Starbucks (SBUX) from January 1999 to December 2008. The data are daily prices in the file stock-datahwk1.txt.
- (a) Calculate simple returns for the three series.
0 | 18542 19990104 | CAT 47.3750 -0.000822 0.011409 |
1 | 18542 19990105 | CAT 47.2500 0.011879 0.009512 |
2 | 18542 19990106 | CAT 48.5000 0.021143 0.014866 |
3 | 18542 19990107 | CAT 48.9375 -0.000798 0.003560 |
4 | 18542 19990108 | CAT 51.0000 0.004602 0.009410 |
- (b) Express the simple returns in percentages. Compute the sample mean, standard deviation, skewness, excess kurtosis, minimum, and maximum of the percentage simple returns.
- (c) Transform the simple returns to log returns.
- (d) Express the log returns in percentages. Compute the sample mean, standard deviation, skewness, excess kurtosis, minimum, and maximum of the percentage log returns.
- (e) Test the null hypothesis that the mean of the log returns of each stock is zero. That is, perform three separate tests. Use 5% significance level to draw your conclusion.
- (f) Plot histograms for each of the three series (both simple and log returns so six graphs
total).
- (g) Test the null hypothesis that the lag-2 autocorrelation is zero for log returns.
Here is some code to extract the price time series from the raw data in Python:
2515 | 59176 19990104 | AXP 101.5000 -0.000822 0.011409 |
2516 | 59176 19990105 | AXP 99.5625 0.011879 0.009512 |
2517 | 59176 19990106 | AXP 103.6250 0.021143 0.014866 |
2518 | 59176 19990107 | AXP 104.8750 -0.000798 0.003560 |
2519 | 59176 19990108 | AXP 108.0625 0.004602 0.009410 |
[7]: PERMNO date TICKER PRC vwretd ewretd
5025 | 59176 20081224 | AXP 17.97 0.004514 0.005042 |
5026 | 59176 20081226 | AXP 17.91 0.007191 0.011107 |
5027 | 59176 20081229 | AXP 17.70 -0.004365 -0.015163 |
5028 | 59176 20081230 | AXP 18.00 0.024764 0.021418 |
5029 | 59176 20081231 | AXP 18.55 0.017404 0.034456 |
2510 | 18542 20081224 | CAT 41.91 0.004514 0.005042 |
2511 | 18542 20081226 | CAT 42.72 0.007191 0.011107 |
2512 | 18542 20081229 | CAT 42.34 -0.004365 -0.015163 |
2513 | 18542 20081230 | CAT 43.66 0.024764 0.021418 |
2514 | 18542 20081231 | CAT 44.67 0.017404 0.034456 |
[6]: PERMNO date TICKER PRC vwretd ewretd
0 | 18542 19990104 | CAT 47.3750 -0.000822 0.011409 |
1 | 18542 19990105 | CAT 47.2500 0.011879 0.009512 |
2 | 18542 19990106 | CAT 48.5000 0.021143 0.014866 |
3 | 18542 19990107 | CAT 48.9375 -0.000798 0.003560 |
4 | 18542 19990108 | CAT 51.0000 0.004602 0.009410 |
[8]: PERMNO date TICKER PRC vwretd ewretd
[9]: PERMNO date TICKER PRC vwretd ewretd
5030 | 77702 19990104 | SBUX 53.8750 -0.000822 0.011409 |
5031 | 77702 19990105 | SBUX 52.0000 0.011879 0.009512 |
5032 | 77702 19990106 | SBUX 51.5625 0.021143 0.014866 |
5033 | 77702 19990107 | SBUX 51.7500 -0.000798 0.003560 |
5034 | 77702 19990108 | SBUX 52.8750 0.004602 0.009410 |
[10]: PERMNO date TICKER PRC vwretd ewretd
7540 | 77702 20081224 | SBUX 9.34 0.004514 0.005042 |
7541 | 77702 20081226 | SBUX 9.35 0.007191 0.011107 |
7542 | 77702 20081229 | SBUX 9.03 -0.004365 -0.015163 |
7543 | 77702 20081230 | SBUX 9.36 0.024764 0.021418 |
7544 | 77702 20081231 | SBUX 9.46 0.017404 0.034456 |
You can access the price time series as (for example for AXP):
[11]: 2515 | 101.5000 |
2516 | 99.5625 |
2517 | 103.6250 |
2518 | 104.8750 |
2519 | 108.0625 |
2520 | 106.2500 |
2521 | 102.3750 |
2522 | 98.6875 |
2523 | 96.0000 |
2524 | 104.3750 |
2525 | 100.5000 |
2526 | 102.0000 |
2527 | 102.5000 |
2528 | 98.5000 |
2529 | 101.5000 |
2530 | 101.7500 |
2531 | 99.4375 |
2532 | 100.4375 |
2533 | 102.8750 |
2534 | 100.7500 |
2535 | 99.6875 |
2536 | 100.5000 |
2537 | 100.2500 |
2538 | 98.1250 |
2539 | 97.0625 |
- 9375
- 7500
- 0000
- 9375
- 1875
- 3800
- 7400
- 2300
- 6900
- 1800
- 3700
- 3000
- 3100
- 6400
- 7600
- 8700
- 8400
- 7800
- 4400
- 2900
- 5600
- 1300
- 3400
- 3400
- 0600
- 8100
- 9000
- 4300
- 4200
- 9600
- 9700
- 9100
- 7000
- 0000
- 5500
Name: PRC, Length: 2515, dtype: float64
[ ]:
Reviews
There are no reviews yet.