using AssetManager.Models.DTOs;
namespace AssetManager.Infrastructure.Services;
///
/// 市场数据服务接口
///
public interface IMarketDataService
{
///
/// 获取实时价格(自动根据资产类型路由到对应数据源)
///
/// 标的代码
/// 资产类型(Stock/Crypto)
/// 价格信息
Task GetPriceAsync(string symbol, string assetType);
///
/// 获取历史数据(自动根据资产类型路由到对应数据源)
///
/// 标的代码
/// 资产类型(Stock/Crypto)
/// 时间周期
/// 数据点数量
/// 历史数据列表
Task> GetHistoricalDataAsync(string symbol, string assetType, string timeframe, int limit);
///
/// 获取股票实时价格
///
/// 股票代码
/// 股票价格信息
Task GetStockPriceAsync(string symbol);
///
/// 获取加密货币实时价格
///
/// 加密货币代码
/// 加密货币价格信息
Task GetCryptoPriceAsync(string symbol);
///
/// 获取股票历史数据
///
/// 股票代码
/// 时间周期
/// 数据点数量
/// 历史数据列表
Task> GetStockHistoricalDataAsync(string symbol, string timeframe, int limit);
///
/// 获取加密货币历史数据
///
/// 加密货币代码
/// 时间周期
/// 数据点数量
/// 历史数据列表
Task> GetCryptoHistoricalDataAsync(string symbol, string timeframe, int limit);
}