async def METHOD_NAME(market_id: str):
    # Connect to Betfair client early to load instruments and account currency
    loop = asyncio.get_event_loop()
    logger = Logger(clock=LiveClock())
    client = get_cached_betfair_client(
        username=None,  # Pass here or will source from the `BETFAIR_USERNAME` env var
        password=None,  # Pass here or will source from the `BETFAIR_PASSWORD` env var
        app_key=None,  # Pass here or will source from the `BETFAIR_APP_KEY` env var
        cert_dir=None,  # Pass here or will source from the `BETFAIR_CERT_DIR` env var
        logger=logger,
        loop=loop,
    )
    await client.connect()
    # Find instruments for a particular market_id
    market_filter = tuple({"market_id": (market_id,)}.items())
    provider = get_cached_betfair_instrument_provider(
        client=client,
        logger=logger,
        market_filter=market_filter,
    )
    await provider.load_all_async()
    instruments = provider.list_all()
    print(f"Found instruments:\n{[ins.id for ins in instruments]}")
    # Determine account currency - used in execution client
    # account = await client.get_account_details()
    # Configure trading node
    config = TradingNodeConfig(
        timeout_connection=30.0,
        logging=LoggingConfig(log_level="INFO"),
        cache_database=CacheDatabaseConfig(type="in-memory"),
        data_clients={
            "BETFAIR": BetfairDataClientConfig(
                market_filter=market_filter,
                # username="YOUR_BETFAIR_USERNAME",
                # password="YOUR_BETFAIR_PASSWORD",
                # app_key="YOUR_BETFAIR_APP_KEY",
                # cert_dir="YOUR_BETFAIR_CERT_DIR",
            ),
        },
        exec_clients={
            # # UNCOMMENT TO SEND ORDERS
            # "BETFAIR": BetfairExecClientConfig(
            #     base_currency=account["currencyCode"],
            #     # "username": "YOUR_BETFAIR_USERNAME",
            #     # "password": "YOUR_BETFAIR_PASSWORD",
            #     # "app_key": "YOUR_BETFAIR_APP_KEY",
            #     # "cert_dir": "YOUR_BETFAIR_CERT_DIR",
            #     market_filter=market_filter,
            # ),
        },
    )
    strategies = [
        OrderBookImbalance(
            config=OrderBookImbalanceConfig(
                instrument_id=instrument.id.value,
                max_trade_size=Decimal(5),
                order_id_tag=instrument.selection_id,
                subscribe_ticker=True,
            ),
        )
        for instrument in instruments
    ]
    # Setup TradingNode
    node = TradingNode(config=config)
    node.trader.add_strategies(strategies)
    # Register your client factories with the node (can take user defined factories)
    node.add_data_client_factory("BETFAIR", BetfairLiveDataClientFactory)
    node.add_exec_client_factory("BETFAIR", BetfairLiveExecClientFactory)
    node.build()
    try:
        node.run()
        await asyncio.gather(*asyncio.all_tasks())
    except Exception as e:
        print(e)
        print(traceback.format_exc())
    finally:
        node.dispose()