実際にt
値のx
値のベクトルが欠けていました。第2にnumpy
だけではなくmath
は関数vectorize
を許可します。したがって、入力がベクトルの場合、関数は各入力値の評価を行い、ベクトルを返します。
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
mu = 0.09
v = 0.15
s0 = 500
#Expected return k (per year), k = mu-(v**2)/2
k = mu-(v**2)/2
t=np.arange(0,250)
#Simulation
s1 = s0*np.exp(k*t/250+v*s0*np.sqrt(t/250))
plt.figure(figsize=(10, 6), dpi=80)
plt.plot(t,s1)
plt.xlim(0.0, 250.0)
plt.xticks(np.linspace(0, 250, 11, endpoint=True))
#plt.ylim(0, 10000)
# plt.yticks(np.linspace(00, 10000, 10, endpoint=True))
plt.title(r'Stock Returns')
多くのありがとうございます。私はもしかするとフォローアップの質問があります。私は上記を実行するためにIPythonプログラムを使用しています(前に使用してグラフを表示しました)。ただし、コードを実行するとplt.plot(t、s1)、出力メッセージに[]というメッセージが表示されます。グラフ自体は実際には表示されません。何か案は? –
percy
UPDATE:最後にplt.show()を使用して解決しました。 – percy
これはお使いの環境によって異なります。 Ipython(jupyter)では、ほとんどの場合、plt.show()は必要ありません。プロットは別ウィンドウでポップアップします。私はたいていインラインプロット '%matplotlib inline'または'%pylab inline'を使います。 – roadrunner66