IPortfolio
Interfaz para gestionar el estado de una sola cartera.
Propiedades
public decimal AvailableMoney { get; }
value = iPortfolio.AvailableMoney
Dinero disponible (corriente - bloqueado).
public decimal BeginMoney { get; }
value = iPortfolio.BeginMoney
Cantidad inicial de dinero.
public decimal BlockedMoney { get; }
value = iPortfolio.BlockedMoney
Bloqueado dinero para órdenes pendientes.
public decimal Commission { get; }
value = iPortfolio.Commission
Total de la comisión pagada.
public decimal CurrentMoney { get; }
value = iPortfolio.CurrentMoney
Dinero actual (comienzo + PnL).
public bool EnableStopOut { get; set; }
value = iPortfolio.EnableStopOut
iPortfolio.EnableStopOut = value
Permite la liquidación automática de posición en el paro.
public decimal MarginCallLevel { get; set; }
value = iPortfolio.MarginCallLevel
iPortfolio.MarginCallLevel = value
Al nivel de nivel de llamadas marginales, cuando el nivel de margen cae a este valor, se activa una advertencia.
public decimal RealizedPnL { get; }
value = iPortfolio.RealizedPnL
Total realizado PnL@.
public decimal StopOutLevel { get; set; }
value = iPortfolio.StopOutLevel
iPortfolio.StopOutLevel = value
umbral de nivel de parada. Cuando el nivel de margen cae a este valor, las posiciones se liquidan.
public decimal TotalPnL { get; }
value = iPortfolio.TotalPnL
Total PnL@ (realizado - comisión).
Métodos
public decimal CalculateUnrealizedPnL(Func<SecurityId, decimal?> getCurrentPrice)
result = iPortfolio.CalculateUnrealizedPnL(getCurrentPrice)
Calcular no realizado PnL en todas las posiciones.
- getCurrentPrice
- Función para obtener el precio actual del mercado para un instrumento financiero. Devuelve null si el precio no está disponible.
Devuelve: Total no realizado PnL.
public IEnumerable<PositionInfo> GetAllPositions()
result = iPortfolio.GetAllPositions()
Obtener todos los objetos de información de posición.
public PositionInfo GetPosition(SecurityId securityId)
result = iPortfolio.GetPosition(securityId)
Posición para instrumentos financieros.
- securityId
- identificación de instrumentos financieros.
Devuelve: Posición info o nula.
public IEnumerable<ValueTuple<SecurityId, decimal, decimal>> GetPositions()
result = iPortfolio.GetPositions()
Pongan todas las posiciones.
Devuelve: Enumeración de posiciones.
public void ProcessOrderCancellation(SecurityId securityId, Sides side, decimal volume, decimal price)
iPortfolio.ProcessOrderCancellation(securityId, side, volume, price)
Cancelación de pedidos de procesos (fondos de desbloqueo).
- securityId
- identificación de instrumentos financieros.
- side
- Ordene el lado.
- volume
- Volumen cancelado.
- price
- Precio utilizado para cálculo del margen.
public void ProcessOrderRegistration(SecurityId securityId, Sides side, decimal volume, decimal price)
iPortfolio.ProcessOrderRegistration(securityId, side, volume, price)
Registro de pedidos de procesos (bloquear fondos).
- securityId
- identificación de instrumentos financieros.
- side
- Ordene el lado.
- volume
- Volumen de pedido.
- price
- Precio del pedido para el cálculo del margen.
public TradeProcessingResult ProcessTrade(SecurityId securityId, Sides side, decimal price, decimal volume, decimal? commission)
result = iPortfolio.ProcessTrade(securityId, side, price, volume, commission)
Procesar una ejecución comercial.
- securityId
- identificación de instrumentos financieros.
- side
- Trade side.
- price
- Precio comercial.
- volume
- Volumen comercial.
- commission
- Cantidad de la Comisión.
Devuelve: Resultado de procesamiento comercial.
public void SetMoney(decimal money)
iPortfolio.SetMoney(money)
Establece el dinero inicial.
- money
- Dinero.
public void SetPosition(SecurityId securityId, decimal volume, decimal avgPrice)
iPortfolio.SetPosition(securityId, volume, avgPrice)
Establecer la posición inicial.
- securityId
- identificación de instrumentos financieros.
- volume
- Volumen de posición.
- avgPrice
- Precio medio de entrada.