AssetManager.API/AssetManager.Models/DTOs/StrategySignal.cs
niannian zheng b5499ef7fe refactor: 将模型属性改为可为空类型以增强健壮性
- 修改ApiResponse、RiskParityConfig等DTO类的属性为可空类型
- 在策略计算器中添加空值检查逻辑
- 更新服务层代码处理可能的空值情况
- 添加发布配置文件FolderProfile.pubxml
2026-03-06 15:51:59 +08:00

83 lines
1.7 KiB
C#

namespace AssetManager.Models.DTOs;
/// <summary>
/// 策略信号
/// </summary>
public class StrategySignal
{
/// <summary>
/// 策略类型: ma_trend / chandelier_exit / risk_parity
/// </summary>
public string? StrategyType { get; set; }
/// <summary>
/// 信号: BUY / SELL / HOLD / REBALANCE
/// </summary>
public string? Signal { get; set; }
/// <summary>
/// 标的代码
/// </summary>
public string? Symbol { get; set; }
/// <summary>
/// 信号强度 (0-1)
/// </summary>
public decimal Strength { get; set; }
/// <summary>
/// 信号原因
/// </summary>
public string? Reason { get; set; }
/// <summary>
/// 建议价格
/// </summary>
public decimal? SuggestedPrice { get; set; }
/// <summary>
/// 建议数量
/// </summary>
public decimal? SuggestedQuantity { get; set; }
/// <summary>
/// 信号生成时间
/// </summary>
public DateTime GeneratedAt { get; set; }
/// <summary>
/// 单个标的的信号
/// </summary>
public List<PositionSignal>? PositionSignals { get; set; }
}
/// <summary>
/// 持仓信号
/// </summary>
public class PositionSignal
{
/// <summary>
/// 标的代码
/// </summary>
public string? Symbol { get; set; }
/// <summary>
/// 该标的的信号
/// </summary>
public string? Signal { get; set; }
/// <summary>
/// 建议数量
/// </summary>
public decimal? SuggestedQuantity { get; set; }
/// <summary>
/// 信号原因
/// </summary>
public string? Reason { get; set; }
/// <summary>
/// 目标权重(风险平价策略用)
/// </summary>
public decimal? TargetWeight { get; set; }
}