def extract_prices_at_times(prices_dfs: List[pd.DataFrame], seconds_list): time_prices_dict = {} for seconds in seconds_list: time_prices_dict[seconds] = [] sim_index = 0 for price_df in prices_dfs: for seconds in seconds_list: price = DataUtils.get_last_price_before(price_df, seconds) time_prices_dict[seconds].append(price) sim_index += 1 return time_prices_dict
def extract_mid_prices_at_times(all_sims, seconds_list): time_prices_dict = {} for seconds in seconds_list: time_prices_dict[seconds] = [] sim_index = 0 for sim in all_sims: midprices_dd = sim[3] midprices_df = midprices_dd.compute() midprices_df['time'] = DataUtils().get_times_in_seconds_after_start(midprices_df['time']) for seconds in seconds_list: price = DataUtils.get_last_price_before(midprices_df, seconds) time_prices_dict[seconds].append(price) sim_index += 1 return time_prices_dict
def get_monte_carlo_data(self, sim_analysis): sim_prices = {} times = self.get_xaxis_times() for index in range(0, len(sim_analysis.all_sims)): sim_prices[index] = [] for index in range(0, len(sim_analysis.all_sims)): sim = sim_analysis.all_sims[index] trades_dd = sim[1] trades_df = trades_dd.compute() if len(trades_df) == 0: continue trades_df['time'] = DataUtils().get_times_in_seconds_after_start(trades_df['time']) for seconds in times: price = DataUtils.get_last_price_before(trades_df, seconds) sim_prices[index].append(price) return sim_prices
def get_prices_at_times(self, seconds_list: List[int]): map(lambda x: DataUtils.get_last_price_before(self.trades_df, x), seconds_list)