OFO随堂测验2: 进阶数据处理
随堂测验
1. 用生成器生成斐波拉契数列的相邻值相除的数组。
[1,1,2,3,5,8,13] ==> array([ 1., 0.5, 0.66666667, 0.6, 0.625, 0.61538462])
2. Pandas与Numpy操作
- 读取sz50.xlsx的['600036.XSHG','600050.XSHG','601318.XSHG']的全数据做成Panel
- 把Panel转成ndim为3的Numpy,然后用array的切片读取ndim为2的三只股票最近20天的收盘价
- 计算20天收盘价的对数,然后求对数的一天差值,得到对数收益率。
- 用Numpy将每只股票的对数收益率累加。





3. 用pandas计算滚动的协方差图表显示出来
- 用Pandas计算3只股票的三天收益率
- 计算滚动窗口为5(NaN需要填满)的协方差
- 画出三张两两对应的滚动协方差图表

4. 将日K线计算周K线并将其画出来。
1. 读取600036.XSHG的股票日线
2. 利用正确的方法将日K线聚合成周K线
3. 将周K线画出来

5. 用Pandas的递归函数计算EMA与DEMA,对比talib的EMA与DEMA。


- 根据以上的算法,利用Pandas的ewm方法计算600036.XSHG以10天为周期的EMA,再算出DEMA。
- 用talib计算600036.XSHG以10天为周期的EMA,再算出DEMA。
- 打印两个结果的最后5个数据

6. Markowitz的计算,tangency
numpy需要安装mkl版本
1. 读取三只股票的收盘价计算其一天的收益率
2. 用252天计算其年收益与协方差矩阵
3. 计算tangency_portfolio最优的股票权重
