pub async fn run(
portfolios: &[Portfolio],
symbol_provider: &(dyn PriceProvider + Send + Sync),
isin_provider: &(dyn PriceProvider + Send + Sync),
currency_provider: &(dyn CurrencyRateProvider + Send + Sync),
metadata_provider: &(dyn MetadataProvider + Send + Sync),
target_currency: &str,
) -> Result<()>