风险投资模型的例子

pull/4/head
JCHPJP 5 months ago
parent 22043cdac7
commit ab8bd7dfae

@ -0,0 +1,19 @@
from matplotlib import pyplot as plt
from numpy import ones , diag , c_ , zeros
from scipy.optimize import linprog
import time
start = time.time()
c=list( [-0.05,-0.27,-0.19,-0.185,-0.185])
A=c_[zeros(4),diag([0.025,0.015,0.055,0.026])]
Aeq = [[1,1.01,1.02,1.045,1.065]];beq=[[1]]
a=0;aa=[];ss = []
while a<=0.05:
b=list(ones(4)*a)
res= linprog(c,A,b,Aeq,beq)
aa.append(a);ss.append(-res.fun)
a=a+0.001
end = time.time()
print("花费时间:",end-start)
plt.plot(aa,ss,"r*")
plt.xlabel("$a$");plt.ylabel("$Q$",rotation=90)
plt.savefig("figure5_1_1.png",dpi=500) ;plt.show()

@ -0,0 +1,26 @@
import numpy as np
from numpy import ones , zeros , c_,diag
from scipy.optimize import linprog
import matplotlib.pyplot as plt
c = np.append(zeros(5).tolist(),[1]).tolist()
print(c)
A=np.append(zeros(4).reshape(4,1),diag([0.025,0.015,0.055,0.026]),axis=1)
A=np.append(A,ones(4).reshape(4,1)*-1,axis=1).tolist()
Aeq =[[1,1.01,1.02,1.045,1.065,0]] ;beq=[1]
A.append([-0.05,-0.27,-0.19,0.185,-0.185,0])
print(A)
k=0.05;step = 0.005
b=([0]*4);b.append(-k)
print(b)
kk=[];ss=[]
while k<0.28:
res= linprog(c,A,b,Aeq,beq)
kk.append(k)
ss.append(res.fun)
print(res.fun)
k+=step
b[4]=-k
plt.plot(kk,ss,'r*')
plt.xlabel("$k$");plt.ylabel('$R$')
plt.savefig("figures5_1_2.png",dpi=500);plt.show()

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Loading…
Cancel
Save