2

補間結果を自分のものと比較できるように、BlackVarianceSurfaceを作成しようとしています。私がしたことは

todaydate = Date(1, January, 2010) 
maturity=[]
for i in range(24):
  maturity.append(Date(1, January, 2010)+Period(i, Months))

k = range(10, 90, 10)
vol = abs(random.randn(24, 8)).transpose().tolist()

volsurf = BlackVarianceSurface(todaydate, TARGET(), maturity, k, vol, Actual365Fixed())

numpyマトリックスを使用しています。quantlibマトリックスにラップされていますか?私が間違っていることはありますか

どうもありがとう

4

1 に答える 1

3

残念ながら、QuantLib ラッパーは numpy 行列を取りません。それらをクラス コンストラクターに渡す前に、リストの単純なリストに変換する必要があります。

あなたのコードを試しているときに私が遭遇した別の問題のカップル:

  • 行列を転置する必要があります。外側のリストの len() は行使回数と等しくなければならず、内側のリストの len() は満期の数と等しくなければなりません。
  • ほとんどの満期よりも遅い今日の日付を使用しています (おそらく上記のタイプミスか、コピー/貼り付けがうまくいかなかったのでしょうか?)。とにかく、コンストラクターは例外を発生させるので、日付を何らかの方法で修正する必要があります。また、Settings.instance().evaluationDate今日の日付に設定することもできます。
于 2012-05-09T09:55:03.113 に答える