def get_list_of_last_futures_price_updates(data): list_of_instruments = get_list_of_instruments(data) updates = [ get_last_futures_price_update_for_instrument(data, instrument_code) for instrument_code in list_of_instruments ] return updates
def get_list_of_position_updates_for_strategy(data, strategy_name): instrument_list = get_list_of_instruments(data) list_of_updates = [get_last_position_update_for_strategy_instrument(data, strategy_name, instrument_code) for instrument_code in instrument_list] list_of_updates = [update for update in list_of_updates if update is not None] return list_of_updates
def auto_populate_position_limits(data: dataBlob): instrument_list = get_list_of_instruments(data) auto_parameters = get_auto_population_parameters() [ set_position_limit_for_instrument(data, instrument_code=instrument_code, auto_parameters=auto_parameters) for instrument_code in instrument_list ] return None
def auto_populate_position_limits(data: dataBlob): instrument_list = get_list_of_instruments(data) risk_multiplier, max_leverage = get_risk_multiplier_and_max_leverage() [ set_position_limit_for_instrument( data, instrument_code=instrument_code, risk_multiplier=risk_multiplier, max_leverage=max_leverage, ) for instrument_code in instrument_list ] return None
def get_market_moves_for_dates(self, start_date: datetime.datetime, end_date: datetime.datetime): self._end_date = end_date self._start_date = start_date list_of_instruments = get_list_of_instruments(self.data, source="multiple") all_moves = [self.get_market_move_for_instrument_and_dates( instrument_code=instrument_code) for instrument_code in list_of_instruments] all_moves_as_df = pd.DataFrame(all_moves) all_moves_as_df = all_moves_as_df.dropna() return all_moves_as_df
def get_market_moves_for_period(self, period: str) -> pd.DataFrame: self._end_date = datetime.datetime.now() print("Getting data for %s" % period) # ['name', 'change', 'vol_adjusted'] list_of_instruments = get_list_of_instruments(self.data, source="multiple") all_moves = [self.get_market_move_for_instrument_and_period( instrument_code=instrument_code, period=period) for instrument_code in list_of_instruments] all_moves_as_df = pd.DataFrame(all_moves) all_moves_as_df = all_moves_as_df.dropna() return all_moves_as_df
def get_instrument_risk_table(data, only_held_instruments=True): ## INSTRUMENT RISK (daily %, annual %, return space daily and annual, base currency per contract daily and annual, positions) if only_held_instruments: instrument_list = get_instruments_with_positions_all_strategies(data) else: instrument_list = get_list_of_instruments() p = progressBar(len(instrument_list)) risk_data_list = [] for instrument_code in instrument_list: risk_this_instrument = get_risk_data_for_instrument( data, instrument_code) risk_data_list.append(risk_this_instrument) p.iterate() p.finished() risk_df = pd.DataFrame(risk_data_list, index=instrument_list).transpose() risk_df = sorted_clean_df(risk_df, "annual_risk_perc_capital") return risk_df
def auto_populate_limits(data: dataBlob): instrument_list = get_list_of_instruments(data) auto_parameters = get_auto_population_parameters() trade_multiplier = get_and_convert( "Higgest proportion of standard position expected to trade daily?", type_expected=float, default_value=MAX_POSITION_TRADED_DAILY, ) period_days = get_and_convert("What period in days to set limit for?", type_expected=int, default_value=1) _ = [ set_trade_limit_for_instrument( data, instrument_code=instrument_code, auto_parameters=auto_parameters, trade_multiplier=trade_multiplier, period_days=period_days, ) for instrument_code in instrument_list ] return None
def auto_populate_limits(data: dataBlob): instrument_list = get_list_of_instruments(data) risk_multiplier, max_leverage = get_risk_multiplier_and_max_leverage() trade_multiplier = get_and_convert( "Higgest proportion of standard position expected to trade daily?", type_expected=float, default_value=0.33, ) period_days = get_and_convert("What period in days to set limit for?", type_expected=int, default_value=1) _ = [ set_trade_limit_for_instrument( data, instrument_code=instrument_code, risk_multiplier=risk_multiplier, trade_multiplier=trade_multiplier, period_days=period_days, max_leverage=max_leverage, ) for instrument_code in instrument_list ] return None