'Initialises the necessary classes used
within the session.'

def _config_session(self):

    if ((self.price_handler is None) and (self.session_type == 'backtest')):
        self.price_handler = YahooDailyCsvBarPriceHandler(self.config.CSV_DATA_DIR, self.events_queue, self.tickers, start_date=self.start_date, end_date=self.end_date)
    if (self.position_sizer is None):
        self.position_sizer = FixedPositionSizer()
    if (self.risk_manager is None):
        self.risk_manager = ExampleRiskManager()
    if (self.portfolio_handler is None):
        self.portfolio_handler = PortfolioHandler(self.equity, self.events_queue, self.price_handler, self.position_sizer, self.risk_manager)
    if (self.compliance is None):
        self.compliance = ExampleCompliance(self.config)
    if (self.execution_handler is None):
        self.execution_handler = IBSimulatedExecutionHandler(self.events_queue, self.price_handler, self.compliance)
    if (self.statistics is None):
        self.statistics = TearsheetStatistics(self.config, self.portfolio_handler, self.title, self.benchmark)
