python-3.x - 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())
解决方案
两个开括号,一个闭括号。返回 np.exp(-1.0) self.rf self.T)*average
推荐阅读
- java - 在不同操作系统上运行时使用 maven 编译 JAR 忽略 log4j2 属性
- javascript - 将 HTML 元素从一个页面移动到另一个页面
- c# - c#点云到网格
- mysql - MySQL 错误 1114:表已满
- javascript - 请解释 react.js 应用中上下文的使用
- c++ - 如何在 Visual Studio 2017 C++ 上添加预处理器定义?
- angular - Angular Material 概述了输入和 ngx-translate
- xml - 从日期输入面板格式化日期
- reactjs - Rect Styleguidist:意外的令牌导入
- pandas - 使用 pandas 将数据从给定日期列重新采样和插值到不同的日期列