首页 > 解决方案 > SyntaxError:无效的语法有人知道吗?

问题描述

我正在尝试运行下面的代码,但上面有错误。

完整的代码和错误是:

line 27  
    return np.exp(-1.0)*self.rf*self.T)*average SyntaxError: invalid syntax
import numpy as np
import math
import time

class optionPricing:

    def __init__(self,S0,E,T,rf,sigma,interations):
        self.S0 = S0
        self.E = E
        self.T = T
        self.rf = rf
        self.sigma = sigma
        self.interations = interations

    def call_option_simulation(self):

        option_data = np.zeros([self.interations, 2])

        rand = np.random.normal(0, 1, [1, self.interations])

        stock_price = self.S0*np.exp(self.T*(self.rf - 0.5*self.sigma**2)+self.sigma*np.sqrt(self.T)*rand)

        option_data[:,1] = stock_price - self.E

        average = np.sum(np.amax(option_data, axis=1))/float(self.interations)

        return np.exp(-1.0)*self.rf*self.T)*average


    def put_option_simulation(self):

        option_data = np.zeros([self.interations, 2])

        rand = np.random.normal(0, 1, [1, self.interations])

        stock_price = self.S0 * np.exp(self.T * (self.rf - 0.5 * self.sigma ** 2) + self.sigma * np.sqrt(self.T) * rand)

        option_data[:, 1] = self.E - stock_price

        average = np.sum(np.amax(option_data, axis=1)) / float(self.interations)

        return np.exp(-1.0) * self.rf * self.T) * average

if __name__ == "__name__":

    S0=100                                            #underlaying stock price at t=0
    E=100                                             #strike price
    T = 1                                             #time to maturity
    rf = 0.05                                         #risk-free rate
    sigma=0.2                                         #volatility of the underlying stock
    interations = 10000000                            #number of interations in the monte-carlo simulation

    model = optionPricing(S0,E,T,rf,sigma,interations)
    print("call option price with monte-carlo approach: ", model.call_option_simulation())
    ptint("put option price with monte-carlo approach: ", model.put_option_simulation())

标签: python-3.x

解决方案


两个开括号,一个闭括号。返回 np.exp(-1.0) self.rf self.T)*average


推荐阅读