def __onPlotBtClicked(self): x_axis_type = self.greeks_x_axis_combobox.currentIndex() #pass group id list if self.portfolio_checkBox.isChecked(): #collect group id group_ids = list() for r in getSelectedRows(self.portfolio_vtable): item = self.portfolio_data.getValueByHeader(r, 'group') try: group_ids.append(int(item)) except: pass if group_ids: if x_axis_type == 0: self.engine.qryCalGreeksSensibilityByGroup(group_ids, group_ids, XAxisType.PRICE) elif x_axis_type == 1: self.engine.qryCalGreeksSensibilityByGroup(group_ids, group_ids, XAxisType.VOLATILITY) elif x_axis_type == 2: self.engine.qryCalGreeksSensibilityByGroup(group_ids, group_ids, XAxisType.TIME) elif x_axis_type == 3: self.engine.qryExerciseCurveByGroup(group_ids, group_ids) #pass row numbers list else: option_idx = getSelectedRows(self.position_vtable) stock_idx = getSelectedRows(self.stock_position_vtable) if option_idx or stock_idx: if x_axis_type == 0: self.engine.qryCalGreeksSensibilityByPosition(option_idx, stock_idx, XAxisType.PRICE) elif x_axis_type == 1: self.engine.qryCalGreeksSensibilityByPosition(option_idx, stock_idx, XAxisType.VOLATILITY) elif x_axis_type == 2: self.engine.qryCalGreeksSensibilityByPosition(option_idx, stock_idx, XAxisType.TIME) elif x_axis_type == 3: self.engine.qryExerciseCurveByPosition(option_idx, stock_idx) return
def __onPlotBtClicked(self): x_axis_type = self.greeks_x_axis_combobox.currentIndex() #pass group id list if self.portfolio_checkBox.isChecked(): #collect group id group_ids = list() for r in getSelectedRows(self.portfolio_vtable): item = self.portfolio_data.getValueByHeader(r, 'group') try: group_ids.append(int(item)) except: pass if group_ids: if x_axis_type == 0: self.engine.qryCalGreeksSensibilityByGroup( group_ids, group_ids, XAxisType.PRICE) elif x_axis_type == 1: self.engine.qryCalGreeksSensibilityByGroup( group_ids, group_ids, XAxisType.VOLATILITY) elif x_axis_type == 2: self.engine.qryCalGreeksSensibilityByGroup( group_ids, group_ids, XAxisType.TIME) elif x_axis_type == 3: self.engine.qryExerciseCurveByGroup(group_ids, group_ids) #pass row numbers list else: option_idx = getSelectedRows(self.position_vtable) stock_idx = getSelectedRows(self.stock_position_vtable) if option_idx or stock_idx: if x_axis_type == 0: self.engine.qryCalGreeksSensibilityByPosition( option_idx, stock_idx, XAxisType.PRICE) elif x_axis_type == 1: self.engine.qryCalGreeksSensibilityByPosition( option_idx, stock_idx, XAxisType.VOLATILITY) elif x_axis_type == 2: self.engine.qryCalGreeksSensibilityByPosition( option_idx, stock_idx, XAxisType.TIME) elif x_axis_type == 3: self.engine.qryExerciseCurveByPosition( option_idx, stock_idx) return
def onDelRowBtClicked(self): rows = getSelectedRows(self.position_edit_vtable) if rows: self.model.deleteRows(rows)