INNER CODE UNIT · Python
position_size
ldt9/PyOptionTrader · models/futures/short_strangle.py:459
position_size = int(np.floor(account_value * 0.40 / margin))
print(f"{self.get_timestamp()} IV is between 30 and 40...\n{self.get_timestamp()} Position size is 40% of account value\n{self.get_timestamp()} Trading {position_size} contracts")
if self.currentIV >= 0.40:
position_size = int(np.floor(account_value * 0.50 / margin))
print(f"{self.get_timestamp()} IV is greater than 40...\n{self.get_timestamp()} Position size is 50% of account value\n{self.get_timestamp()} Trading {position_size} contracts")
if order_style == 'bracket':
IV_adjusted_bracket = self.ib.bracketOrder('BUY', position_size, self.lastEstimatedTradePrice,
self.takeProfitPrice,
self.stopLossPrice)
for o in IV_adjusted_bracket:
self.ib.placeOrder(contract, o)
elif order_style == 'limit':
self.ib.placeOrder(contract, LimitOrder('BUY', position_size, self.lastEstimatedTradePrice))
elif order_style == 'market':
self.ib.placeOrder(contract, MarketOrder('BUY', position_size))
except Exception as e:
print(str(e))