0

さまざまな株価のオプション コール価格を取得しようとしています。float() 引数は文字列または数値でなければならないというエラーが表示され続けます。コードは次のとおりです。

import mibian

price = [100,101,102,103,104]




c = 0.0
for i in price:
    #BS([underlyingPrice, strikePrice, interestRate, daysToExpiration], volatility=x, callPrice=y, putPrice=z)
    c[i] = mibian.BS([price, 100, 0,5], volatility=20)
print c.callPrice

エラーコードは次のとおりです。

self.underlyingPrice = float(args[0])
TypeError: float() argument must be a string or a number
4

2 に答える 2

1

cフロートになるように設定しています:

c = 0.0

次に、for ループで dict としてアクセスします。

c[i] = mibian.BS([price, 100, 0, 5], volatility=20)

次に、for ループの後、オブジェクトのようにアクセスします。

print c.callPrice

このコードが機能する方法はありません。質問を更新して、達成したいことを含めてください。

編集:私の答えに対するあなたのコメントを読んで、これがあなたが望むものだと思います。注:cは によって返されるオブジェクトの辞書ですmibian.BS

import mibian

price = [100,101,102,103,104]
c = {}
for i in price:
    c[i] = mibian.BS([price, 100, 0,5], volatility=20)
    print c[i].callPrice
于 2014-09-08T02:58:34.773 に答える