Python SetPricinGenEngine导入pyql

Python SetPricinGenEngine导入pyql,python,quantlib,Python,Quantlib,给出了错误 european_option = VanillaOption(payoff, exercise) spot_handle = SimpleQuote(spot_price) flat_ts = FlatForward(calculation_date, risk_free_rate, day_count) dividend_yield = FlatForward(calculation_date, dividend_rate, day_count) flat_vol_ts =

给出了错误

european_option = VanillaOption(payoff, exercise)


spot_handle = SimpleQuote(spot_price)
flat_ts = FlatForward(calculation_date, risk_free_rate, day_count)
dividend_yield = FlatForward(calculation_date, dividend_rate, day_count)
flat_vol_ts = BlackConstantVol(calculation_date, cal, volatility, day_count)

bsm_process = BlackScholesMertonProcess(spot_handle, 
                                        dividend_yield, 
                                        flat_ts, 
                                        flat_vol_ts)

european_option.setPricingEngine(AnalyticEuropeanEngine(bsm_process))
文件“qlsexam.py”,第63行,在
european_option.SetPricinGene发动机(分析european发动机(bsm_过程))
AttributeError:'quantlib.instruments.option.VanillaOption'对象没有属性'SetPricinGenEngine'

我需要什么导入?

您不需要额外导入。出现错误的原因是pyql开发人员已经导出了一些具有不同名称的QuantLib,以便在Python中遵循并更加惯用。正确的电话是

  File "qlexam.py", line 63, in <module>
    european_option.setPricingEngine(AnalyticEuropeanEngine(bsm_process))
AttributeError: 'quantlib.instruments.option.VanillaOption' object has no attribute 'setPricingEngine'

正如您可以从中看到的。

您不需要额外的导入。出现错误的原因是pyql开发人员已经导出了一些具有不同名称的QuantLib,以便在Python中遵循并更加惯用。正确的电话是

  File "qlexam.py", line 63, in <module>
    european_option.setPricingEngine(AnalyticEuropeanEngine(bsm_process))
AttributeError: 'quantlib.instruments.option.VanillaOption' object has no attribute 'setPricingEngine'
正如你从中看到的