做一个年化50%的策略容易,但做出一个年化15%,但夏普超过1个策略不容易。
回测系统,如果你读过几个系统源码的话,开发一个回测系统也不是很难的事情,当然把回测逻辑搞透,对于理解策略开发会有很多好处——我们已经开发完成了,并开放了源代码多策略、高性能、积木式框架(代码+数据)。
重点就是针对不同投资市场的策略构建。
要构建一个稳健的高夏普策略投入实盘,风险平价是绕不开的话题。
计算投资标的的协方差:
风险平价配置:
按给定的“风险预算”分配权重:
带约束的风险预算:
未配置约束的情况,等同于风险平价:
C = None d = None from engine.pyrb import ConstrainedRiskBudgeting CRB = ConstrainedRiskBudgeting(cov,C=C,d=d) CRB.solve() print(CRB)
投资组合的预期收益与波动率计算:
R = returns R_mean = R.mean()*252 #计算年化协方差 R_cov = R.cov()*252 #计算相关系数 R_corr = R.corr() #计算年化标准差 R_std = R.std()*np.sqrt(252) #投资组合的预期年化收益 weights = np.array([0.15,0.2,0.15,0.5]) # R_port = np.sum(weights*R_mean) #向量乘法计算 R_port = np.dot(weights,R_mean) #数组计算 # weights.shape # R_mean.shape vol_port = np.sqrt(np.dot(weights,np.dot(R_cov,weights.T))) print('投资组合的年化预期收益率:',round(R_port,4))
print(‘投资组合的年化收益波动率:‘,round(vol_port,4))
根据趋势交易选出当前可持仓的标的,然后使用风险平价分配权重,计算年化波动率。若波动率大于或小于预设值,则等比例降低风险资产的风险风险预算。比如[1,1,1*w,1*w]后归一化得到风险预算,循环计算,直到符合波动率要求。
一些感悟
人生最重要的几件事:赚钱,健康以及平静的心态。
不好的人或事,其中也许还包含的个人的误会与偏见,只要不触及底线,就随它去吧。与之纠缠,只会徒增烦恼。远离事非,反倒轻松。以静制动,以逸待劳。
要说不被流量裹挟,是很难的事情。
内心依然需要保持清醒,做长期有价值的事情,而不必特别去关心流量、转化,至少一开始是这样。
你若盛开,蝴蝶自来,你若精彩,天自安排。
但行好事,莫问前程!
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103921
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!