python 线性代数:解多元一次方程

kiliwalk

关注

阅读 67

2022-09-28


因为在程序化交易策略中使用了网格算法进行交易,因为在网格中想设置动态资源大小的问题,所以就想到使用抛物线的分布方法来对网格资金配置进行分配。


比如我的网格最大值设置为1540,最小值设置为1404,中间值设置为1472,我假定大部分价格波动都是在中间产生。所以在中间部分想分配大一些的资金,而在最大值和最小值部分分配少一些资金。我的想法是在1472处分配0.5,1504和1404网络处都只分配0.01的资金。这样我就得到了一个开口向下的抛物线。

这样我就已知抛物线上的三点,(1404,0.01),(1472,1),(1540,0.01).我们要把这三个点代入抛物线的方程来得到抛物线的方程系数,进而就可以得到其他任件点上的资金全配值了,抛物线的一般方程如下:


y = ax^2+bx+c


将三个点代入后得到一个三元一次方程组:


0.01 = 1404*1404*a + 1404*b + c


0.5   = 1472*1472*a + 1472*b + c


0.01 = 1540*1540*a + 1540*b + c


只要我们解出这个方程组就可以得到抛物线的方程了。


下边使用python的numpy库中的代性代数函数对这个三元一次方程组求解。方法如下:

转自: ​​http://jingyan.baidu.com/article/f3e34a128c93aef5eb653502.html
​ 用python的numpy包中的linalg.solve()方法解多元一次方程,如果你对矩阵解方程非常熟悉,那么现在只是学习一下这个函数就好了。如果你不是很熟悉用矩阵解方程,你需要看一下线性代数的课本。


精彩评论(0)

0 0 举报