我正在用Python编写一个期权交易程序。这个程序产生交易,然后确定基础股票的价格点,在这个价格点上特定的交易将是盈利的。在
我将尝试用短语表达问题,以便任何人,无论他们的选择知识如何,都可以提供解决方案。
一个示例交易包括买入n
看跌期权和y
买入。(其中n
和{cost_of_trade
如果cost_of_trade < profit_from_trade
,这项交易是有利可图的
profit_of_trade = profit_from_calls + profit_from_puts
如果股票价格在到期时高于买入期权的执行价格,则:
profit_from_calls = (final_stock_price - calls.strike_price) * y)
其他:
profit_from_calls = 0
—
如果股票价格低于到期卖出的执行价,则:
profit_from_puts = (-final_stock_price + puts.strike_price) * n)
其他:
profit_from_puts = 0
我需要解这个方程,其中cost_of_trade == profit_from_trade
。解这个方程应该得到两个值。我面临的根本问题是,我不知道如何用python可以解决的术语来表示这个等式。等式中使事情变得困难的if statement
。
在等式之外创建if语句并不是一个真正的选择。虽然对于这个简单的示例问题可能有意义,但在实际的程序中,有太多不同的交易和不同的交易组合,我必须编写1000+if statements
,这不是我想做的事情。在
你能解出你能计算的大多数东西,例如用二等分法…:
有关
bisection
的原始代码和其他任意方程数值解的方法,请参见https://gist.github.com/swvist/3775568。在相关问题 更多 >
编程相关推荐