- FeeModel (pure, getestet): Kategorie-Fallback-Bps (Sports 75 / Politics-Finance 100 / Crypto 180 / Geopolitics 0 / Default 100) + FeeUsd(notional, bps). - MarketData.TakerFeeBps (Core) + Migration AddMarketTakerFeeBps (auf MySQL angewendet). Speichert den echten API-Satz, sobald verfuegbar; 0 = Fallback. - CopyTradingEngine loggt beim BUY die erwartete Taker-Fee (TakerFeeBps aus MarketCache, sonst Kategorie-Fallback) -> Akzeptanz "Fee im TradeReasoning". - FeeModelTests (Kategorie-Mapping case-insensitive, FeeUsd, 0-Faelle). 183 Tests gruen. Build/Smoke gruen. OFFEN (API-abhaengig, erst im Zielland verifizierbar): echtes fee_rate_bps-Feld aus der CLOB/Gamma-API lesen; Fee-basierter Edge-Discard; PnL-Fee-Korrektur. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 lines
1.1 KiB
C#
28 lines
1.1 KiB
C#
namespace PolyTraderSharp.Models
|
|
{
|
|
public class MarketData
|
|
{
|
|
public string Id { get; set; } = string.Empty;
|
|
public string ConditionId { get; set; } = string.Empty;
|
|
public string Question { get; set; } = string.Empty;
|
|
public string Slug { get; set; } = string.Empty;
|
|
public DateTime? EndDate { get; set; }
|
|
public bool Active { get; set; }
|
|
public bool Closed { get; set; }
|
|
public string Category { get; set; } = string.Empty;
|
|
|
|
// Will store the JSON array string of token IDs, e.g. "[\"123\", \"456\"]"
|
|
public string ClobTokenIds { get; set; } = string.Empty;
|
|
|
|
public string Outcomes { get; set; } = string.Empty; // e.g. "[\"Yes\", \"No\"]"
|
|
|
|
public bool NegRisk { get; set; }
|
|
|
|
/// <summary>
|
|
/// Taker-Fee dieses Marktes in Basispunkten (100 = 1,0 %). 0 = keine/unbekannt.
|
|
/// Wird beim Markt-Sync gesetzt (API-Feld bevorzugt, sonst Kategorie-Fallback via FeeModel).
|
|
/// </summary>
|
|
public int TakerFeeBps { get; set; }
|
|
}
|
|
}
|