有如下图投资组合的净值走势图,如何去衡量组合的稳定性?
组合稳定性,如果理解为组合净值走向可预测,那么我可以拟合一条直线,用图2 中阴影面积来作为稳定性的分值。
拟合直线
假设直线:
y=kx+b
k 是斜率,b 是斜率。
训练数据:
[(x1,y1),(x2,y2)...(xn,yn)]
策略:用最小二乘进行参数估计
损失函数:
∑Ni[yi−(kxi+b)]2
上式分别对k、b求偏导得:
∂∂k∑Ni[yi−(kxi+b)]2=−2∑Nixi(yi−xi−b)=0
∂∂b∑Ni[yi−(kxi+b)]2=−2∑Ni(yi−xi−b)=0
整理得
k∑x2i+b∑xi=∑xiyi
Nb+k∑xi=∑yi
令
A=∑x2i
、
B=∑xi
、
C=∑xiyi
、
D=∑yi
从训练数据中可以统计处来。
Ak+Bb=C
Bk+Nb=D
解方程得:
k=CN−BDAN−BB
b=AD−BCAN−BB
组合数据:
x_raw=[‘2015-10-10’,’2015-10-11’,’2015-10-12’,’2015-10-13’,’2015-10-14’,’2015-10-15’,’2015-10-16’]
x_raw 是x 的label
转换成实际 x 值
x =[0,1,2,3,4,5,6]
y=[1,1.2,1.1,1.3,1.4,1.2,1.4]
python 程序
x =[0,1,2,3,4,5,6]
y=[1,1.2,1.1,1.3,1.4,1.2,1.4]
A=0
B=0
C=0
D=0
N=len(data)
for i in range(len(x)):
A+=math.pow(x,2)
B+=x[i]
C+=x[i]*y[i]
D+=y[i]
denominator = (float)(A*n-math.pow(B,2))
a = (C*N-B*D)/denominator
b = (A*D-B*C)/denominator