python 線性代數 解多元一次方程

2021-08-10 08:09:48 字數 713 閱讀 8194

因為在程式化交易策略中使用了網格演算法進行交易,因為在網格中想設定動態資源大小的問題,所以就想到使用拋物線的分布方法來對網格資金配置進行分配。

比如我的網格最大值設定為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庫中的代性代數函式對這個三元一次方程組求解。方法如下:

**:用python的numpy包中的linalg.solve()方法解多元一次方程,如果你對矩陣解方程非常熟悉,那麼現在只是學習一下這個函式就好了。如果你不是很熟悉用矩陣解方程,你需要看一下線性代數的課本。

線性代數與Python

1.向量 1.1向量例子 1.2向量加法與減法 1.3向量的乘法 2.矩陣 2.1矩陣例子 2.2矩陣的形狀 2.3矩陣的建立函式 向量是指可以加總 以生成新的向量 可以乘以標量 即數字 也可以生成新的向量的物件。向量是有限維空間的點。向量以分量方式 componentwise 做運算。這意味著,如...

線性代數實驗(一)

1.多項式的表示方法 多項式的形式 matlab中表示 matlab關於多項式的表示命令格式 poly2str p,x 返回由多項式係數轉為多項式p x 的字串表示式.poly2sym 返回由多項式係數轉為多項式函式p x 的表示式.sym2poly f 返回由多項式函式f x 轉為多項式係數的向量...

Python之numpy 線性代數

linalg linear algebra,norm則表示範數,首先需要注意的是範數是對向量 或者矩陣 的度量,是乙個標量 scalar 這裡只對常用設定進行說明,x表示要度量的向量,ord表示範數的種類,範數理論的乙個小推論告訴我們 1 2 2 用dot函式計算矩陣乘積 x np.array 1....