使用akshare获取股票数据,利用月度数据计算每只上证50成分股的股票历史期望收益率(年化)、收益率标准差(年化)、夏普比率、以及股票之间月收益率的相关系数,并以夏普比率、相关系数为条件筛选股票。挑选5只股票组成篮子,篮子股票必须满足下列三个条件: A)过去3年的夏普比率大于0.2; B)过去1年的夏普比率大于0.1; C)这5只股票彼此之间的相关系数之和最小。
目录
获取三年间每个月的无风险利率rf,选取当月末十年期国债收益率为准,若非交易日则另选一天:
计算期望收益率 E(ri)=rf+β(E(rm)−rf):
挑选5只股票组成篮子,篮子股票必须满足下列三个条件: A)过去3年的夏普比率大于0.2; B)过去1年的夏普比率大于0.1; C)这5只股票彼此之间的相关系数之和最小。
1 获取数据
import akshare as ak
SH50_codes = [600000,600028,600030,600031,600036,600048,600050,600104,600196,600276,600309,600436,600438,600519,600547,600570,600585,
600588,600690,600745,600809,600837,600887,600893,600900,601012,601066,601088,601138,601166,601211,601288,601318,601336,
601398,601601,601628,601633,601668,601688,601728,601857,601888,601899,601919,601995,603259,603288,603501,603986]
SH50_codes = list(map(str,SH50_codes))
SH50_quotations_dic = {}
for i in SH50_codes:
SH50_quotations_dic[i] = ak.stock_zh_a_hist(symbol=i, period='monthly', start_date="20190101", end_date='20211231', adjust="")
SH50_quotations_dic['600000']
数据预览:
日期 开盘 收盘 最高 最低 成交量 成交额 振幅 涨跌幅 涨跌额 换手率 年化期望收益率 0 2019-01-31 9.74 10.73 10.73 9.58 4404194 4.490181e+09 11.73 9.49 0.93 1.57 73.959513 1 2019-02-28 10.82 11.74 12.15 10.62 5315299 6.002415e+09 14.26 9.41 1.01 1.89 93.274971 2 2019-03-29 11.81 11.28 12.38 10.90 9530781 1.102880e+10 12.61 -3.92 -0.46 3.39 31.214703 3 2019-04-30 11.36 11.97 12.20 11.28 12043355 1.408016e+10 8.16 6.12 0.69 4.29 34.030901 4 2019-05-31 11.75 11.13 11.94 10.95 9505417 1.080917e+10 8.27 -7.02 -0.84 3.38 -63.805606 5 2019-06-28 11.17 11.68 12.32 11.13 8190692 9.600306e+09 10.69 4.94 0.55 2.91 65.973455 6 2019-07-31 11.86 11.87 12.00 11.22 6938976 8.059537e+09 6.68 1.63 0.19 2.47 -4.536585 7 2019-08-30 11.76 11.28 11.85 10.97 6956391 7.886875e+09 7.41 -4.97 -0.59 2.48 -11.354091 8 2019-09-30 11.30 11.84 12.18 11.24 6776832 8.007390e+09 8.33 4.96 0.56 2.41 8.588689 9 2019-10-31 11.80 12.51 13.33 11.80 10874626 1.386751e+10 12.92 5.66 0.67 3.87 18.232174 10 2019-11-29 12.50 11.91 13.19 11.89 8104901 1.004877e+10 10.39 -4.80 -0.60 2.88 -17.046202 11 2019-12-31 11.96 12.37 12.55 11.70 6476828 7.865092e+09 7.14 3.86 0.46 2.30 52.115898 12 2020-01-23 12.47 11.35 12.69 11.32 5716296 6.964347e+09 11.08 -8.25 -1.02 2.03 -36.791364 13 2020-02-28 10.22 10.85 11.39 10.22 8176614 8.916090e+09 10.31 -4.41 -0.50 2.91 -32.755988 14 2020-03-31 10.95 10.15 11.32 9.82 8748286 9.265608e+09 13.82 -6.45 -0.70 3.11 -40.461173 15 2020-04-30 10.11 10.63 10.79 9.98 4444344 4.553876e+09 7.98 4.73 0.48 1.58 57.243722 16 2020-05-29 10.44 10.57 10.57 10.13 3801628 3.948919e+09 4.14 -0.56 -0.06 1.35 -16.287209 17 2020-06-30 10.63 10.58 10.87 10.35 4611493 4.880872e+09 4.92

本文通过akshare库获取股票数据,运用CAPM计算股票期望收益率和风险指标,筛选出过去3年夏普比率大于0.2且过去1年夏普比率大于0.1的股票,再依据最小相关系数原则组建高效分散的投资组合。
、收益率标准差(年化)、夏普比率、以及股票之间月收益率的相关系数,并以夏普比率、相关系数为条件筛选股票&spm=1001.2101.3001.5002&articleId=124854347&d=1&t=3&u=d3aa29e083d749339902ee8da1815251)
2047

被折叠的 条评论
为什么被折叠?



