PM API API Reference
El API PM (Portfolio Management) permite al usuario interactuar con el sistema de recomendaciones y acceder a la información de los portfolios.
Schemes: http
Version: 1
Portfolios
GET /v1/portfolios/search/
Búsqueda de portfolios a partir de un conjunto de propiedades pasadas por parámetro. En esta versión únicamente está implementada la búsqueda por metaportfolioId. Además, de manera opcional se permite filtrar por sabor.
Devuelve una lista de identificadores de portfolios.
Los tastes admitidos son: Validations, Recommended, Dirty Machine, Pure Machine Live, Pure Machine No Impacts, Pure Machine State Of The Art y Mix
Ejemplos:
/v1/portfolios/search/?metaportfolioId=1&taste=Validations /v1/portfolios/search/?metaportfolioId=1
Identificador de metaportfolio
Sabor
Devuelve una lista con los identificadores de los portfolios que cumplen con las condiciones de búsqueda.
Error de validación: · Los parámetros introducidos no son correctos.
POST /v1/portfolios/
Crea un nuevo portfolio a partir de los parámetros introducidos.
Ejemplo:
/v1/portfolios/
Devuelve OK si la petición ha sido recibida correctamente y se encuentra en proceso de creación de la cartera.
Parámetros de creación de la cartera
Nombre del usuario que realiza la petición
Request Example
{
"type": "Labs",
"name": "Capital Preservation Conservative.",
"shortName": "CapitalPreservation.",
"currency": "EUR",
"launchAssets": 100000000.0255,
"isHedge": true,
"strategyId": 1,
"riskLevel": "Medium",
"universeType": "FixedIncome",
"referenceIndexSId": 65789,
"volatility": 0.5,
"referencePortfolioLabsId": 12567,
"fees": {
"managementFee": 0.25,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 25641,
"transactionFee": 0.012
},
"recos": [
{
"date": 20171110,
"executionDate": 20171112,
"ordes": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
],
"riskLim": 0.05
}
Devuelve una lista con los ids de los portfolios creados.
JSON inválido. El mensaje mostrará el error.
El usuario no tiene permisos para crear una cartera
Response Example (200 OK)
[
123654
]
PUT /v1/portfolios/
Modifica un portfolio a partir de los parámetros introducidos.
Ejemplo:
/v1/portfolios/
Devuelve OK si la petición ha sido recibida correctamente y se encuentra en proceso de modificación de la cartera.
Parámetros de modificación de la cartera
Nombre del usuario que realiza la petición
Request Example
{
"portfolioId": 10871,
"shortName": "CapitalPreservation.",
"launchAssets": 100000000.0255,
"isHedgeAdviced": true,
"strategyId": 1,
"riskLevel": "Medium",
"referenceIndexSId": 65789,
"referencePortfolioLabsId": 12567,
"fees": {
"managementFee": 0.25,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 25641,
"transactionFee": 0.012
}
}
Petición de modificación aceptada.
JSON inválido. El mensaje mostrará el error.
El usuario no tiene permisos para modificar una cartera.
GET /v1/portfolios/{id}/
Devuelve la información de un portfolio.
Ejemplo:
/v1/portfolios/103318/
Se devuelve un documento JSON con la información de la cartera.
El ID de la cartera.
Devuelve un la información de la cartera solicitada.
El identificador del portfolio es inválido.
El portfolio especificado no existe.
Response Example (200 OK)
{
"id": 103318,
"name": "Capital Preservation Conservative. PL NAV",
"currency": "EUR",
"taste": "Pure Machine Live",
"isHedged": true,
"rsv": "Old",
"launchAssets": 100000000.0255,
"metaportfolioId": 218,
"operativeOffset": -1,
"riskLim": 0.15
}
GET /v1/portfolios/{id}/strategy/
Devuelve la estrategia utilizada en la gestión del portfolio.
Si el portfolio no sigue ninguna estrategia este endpoint devuelve null.
La estructura de la información es diferente para cada estrategia, pero todas ellas tienen un campo id con el identificador de la estrategia.
Ejemplo:
/v1/portfolios/115716/strategy/
Se devuelve un documento JSON con la estrategia de la cartera.
Identificador para el que se solicita la estrategia.
Devuelve la información de la cartera solicitada.
Portfolio no encontrado
No se puede procesar la configuración
PUT /v1/portfolios/{id}/strategy/
Asigna al portfolio la estrategia a utilizar en su gestión.
JSON con la estrategia de la cartera. La estrategia depende de la metodología de la cartera. Es obligatorio introducir un campo id con el id de la estrategia
Nombre del usuario que realiza la petición
Request Example
{
"id": "mt16"
}
Se ha realizado correctamente la inserción o actualización de la estrategia de la cartera.
Error de validación: · El cuerpo del mensaje debe ser un JSON válido. · El formato del documento insertado no es correcto.
El usuario no tiene permisos para realizar la solicitud
· Portfolio no encontrado. · Metodología no definida para el porfolio especificado.
· El portfolio no tiene un esquema validación definido. · Definición de id mal definida en el esquema de validación. · El esquema definido debe ser un JSON válido.
PUT /v1/portfolios/{id}/backtesting/
Carga la información del backtesting que se pasa al symbol asociado al portfolio para tal efecto, Elimina la serie contenida en el symbol previamente. Si no tuviera ningún symbol asociado para ello crea un symbol de tipo internal con la información del backtesting y lo asocia al portfolio.
JSON con una serie de precios.
Nombre del usuario que realiza la petición
Request Example
{
"prices": [
0.25148574659
],
"dates": [
"20171022"
]
}
Se ha realizado correctamente la inserción o actualización.
Error de validación: · El cuerpo del mensaje debe ser un JSON válido. · El formato del documento insertado no es correcto.
El usuario no tiene permisos para realizar la solicitud
· Portfolio no encontrado.
GET /v1/portfolios/{id}/compartments/
Devuelve una lista con los compartimentos pertenecientes a la cartera.
Identificador de la cartera de la cual se quieren obtener los compartimentos
Indica si se debe devolver los compartimentos con estado pre-recomendado. En este caso el peso en cartera de los compartimentos deben tener en cuenta el peso de estos compartimentos.
Devuelve una lista con los compartimentos de la cartera. Por cada uno de ellos se devuelve su identificador y el peso actual en la cartera
Not Found
Response Example (200 OK)
{
"id": 119656,
"currentWeight": 0.0993590556227406
}
GET /v1/portfolios/{id}/ties/
Devuelve el límite de riesgo y la serie de DD del GAV de los portfolios reales del mismo producto que tienen un limite de riesgo superior al del portfolio gestionado.
Para portfolios teóricos y para portfolios reales sin portfolios de mayor riesgo en su mismo producto devuelve una lista vacia.
Identificador de la cartera de la cual se quieren obtener los ties
Devuelve una lista con los GAVs de las carteras pertenecientes al mismo producto. Por cada uno de ellos se devuelve su risklimit y la serie de drawdowns
Not Found
Response Example (200 OK)
{
"gavdd": {
"prices": [
0.25148574659
],
"dates": [
"20171022"
]
},
"risklim": 0.5
}
GET /v1/portfolios/{id}/positions/
Obtiene las posiciones de una cartera.
Si no se pasa ningún parámetro, devuelve las últimas
Ejemplos:
Obtiene las posiciones a una fecha dada:
/v1/portfolios/121392/positions/?period=20170504
Obtiene las últimas posiciones:
/v1/portfolios/121392/positions/?period=last
Obtiene las posiciones entre 2 fechas:
/v1/portfolios/121392/positions/?period=20170504-20170506
Obtiene las posiciones para un periodo:
/v1/portfolios/121392/positions/?period=1Y
Identificador de la cartera para la que se solicitan las posiciones.
1Y, 3Y, 5Y, 10Y, last o un periodo seleccionado con formato "yyyyMMdd[-yyyyMMdd]". Si no se especifica period devuelve las últimas.
Devuelve las posiciones para el ID de la cartera solicitada en formato JSON a partir del dataframe resultante.
Not Found
Response Example (200 OK)
{
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
}
PUT /v1/portfolios/{id}/positions/
Actualiza las posiciones de la cartera.
Lista de posiciones de la cartera.
Nombre del usuario que realiza la petición.
Identificador de la cartera.
Request Example
{
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
}
Información de valoración insertada
Error en la inserción de posiciones
Portfolio no encontrado
GET /v1/portfolios/{id}/trades/
Obtiene los trades de un portfolio.
Ejemplos:
Obtiene los trades a partir de una fecha dada:
/v1/portfolios/121392/trades/?period=20170424
Obtiene los últimas trades:
/v1/portfolios/121392/trades/?period=last
Obtiene los trades entre 2 fechas:
/v1/portfolios/121392/trades/?period=20170401-20170501
Obtiene los trades para un periodo:
/v1/portfolios/121392/trades/?period=1Y
Identificador de la cartera para la que se solicitan los trades.
1Y, 3Y, 5Y, 10Y, last o un periodo seleccionado con formato "yyyyMMdd[-yyyyMMdd]". En el caso de que solo se especifique una fecha, se devuelve la serie de precios disponible hasta la última fecha disponible. Si no se especifica period devuelve los úlmos disponibles.
Devuelve los trades para el ID de la cartera solicitada en formato JSON a partir del dataframe resultante.
Formato de los parámetros no válido.
Identificador de portfolio no encontrado.
Response Example (200 OK)
{
"date": 20170517,
"symbolId": 41897,
"type": "buy",
"weight": 0.10600444199511803,
"shares": 2550,
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
PUT /v1/portfolios/{id}/trades/
Actualiza los trades de la cartera.
Lista de trades de la cartera.
Nombre del usuario que realiza la petición.
Identificador de la cartera.
Request Example
{
"date": 20170517,
"symbolId": 41897,
"type": "buy",
"weight": 0.10600444199511803,
"shares": 2550,
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
Información de trades insertada
Error en la inserción de trades
Portfolio no encontrado
GET /v1/portfolios/{id}/frequenttrading/
Devuelve la información de frequent trading relativa al portfolio para un conjunto de symbols y una fecha dada. Para cada symbol devuelve dos datos:
-
in: nº de días desde que se incrementó la posición en el portfolio en la fecha dada (diferencia de días naturales entre la fecha dada y la última fecha de compra). Si la fecha dada y la fecha de compra es la misma devuelve 0. Si el portfolio nunca ha estado invertido en el symbol en la fecha dada devuelve null. -
out: nº de días desde que se redujo la posición en el portfolio (diferencia de días naturales entre la fecha dada y la fecha la última venta). Si la fecha dada y la fecha de venta es la misma devuelve 0. Si nunca ha invertido en el symbol devuelve null.
Si un activo nunca ha estado en cartera, tanto el campo in como out estarán a null.
La fecha es opcional y por defecto es cierre de ayer. En el caso de funds y fundclass estos valores se refieren a la inversión del portfolio en cualquiera de las clases del fund.
Ejemplos:
/v1/portfolios/120827/frequenttrading/?ids=19746,19742&date=20170510
devuelve:
[{
"symbolId": 19746,
"out": 8,
"in": 8
},
{
"symbolId": 19742,
"out": 3872,
"in": 3886
}]
/v1/portfolios/120827/frequenttrading/?ids=23518
devuelve:
[{
"symbolId": 23518,
"out": null,
"in": null
}]
Identificador de la cartera sobre la cual se solicita el frequent trading.
Identificador de los símbolos para los cuales se solicita el frequent trading.
Fecha para la que se solicitan el frequent trading. Debe estar en formato YYYYMMDD.
Devuelve el frequent trading de los símbolos indicados para la cartera solicitada.
Not Found
Response Example (200 OK)
[
{
"in": 154,
"out": 22,
"symbolId": 125436
}
]
GET /v1/portfolios/{id}/impacts/
Devuelve el impacto total y diario a tener en cuenta en la gestión de un determinado portfolio.
Para que los workers no tengan que tratar los impactos de distinta manera según las características del portfolio que recomiendan, este endpoint devuelve los impactos a tener en cuenta en la gestión de un determinado portfolio.
Descuenta además de los impactos el impacto parcial del porfolio gestionado.
Absorbe por tanto la complejidad a tener en cuenta en el cálculo de impactos para la gestión de un portfolio.
Solo se realizan recomendaciones sobre portfolios Compartment o portfolios Proper, por lo tanto para otro tipo de portfolio este endpoint devolverá un error.
Para los sabores Validation, Recommended, Dirty Machine y Pure Machine Live de portfolios Reales (Compartment o Proper) devolverá los impactos descontando del impacto total el impacto parcial y del diario el debido al portfolio que se está gestionando.
Para el resto de casos devuelve impactos cero.
Ejemplos:
/v1/portfolios/6188/impacts/?ids=109944,80528&date=20170522
Identificador de la cartera para la que se quiere conocer el impacto
Lista de symbolIds sobre la que se requiere el impacto que sobre ellos tiene el portfolio
Fecha para la que se quiere conocer los impactos.
Devuelve el impacto total y diario de la cartera en los symbolIds recibidos para la fecha dada
Parametrización inválida
El portfolio solicitado no es un portfolio gestionable (portfolios Proper y Compartment)
Response Example (200 OK)
[
{
"symbolId": "integer",
"totalImpact": "number",
"dailyImpact": "number"
}
]
GET /v1/portfolios/{id}/assets/
Devuelve los patrimonios de la cartera indicada en la URL. Además, se puede especificar la divisa en la que se devuelve el patrimonio con el parámetro currency.
Ejemplos:
Obtiene el último patrimonio en euros:
/v1/portfolios/120827/assets/?period=last¤cy=EUR
Obtiene la serie completa de patrimonios:
/v1/portfolios/121628/assets/
Identificador de la cartera para la que se solicita el patrimonio.
1Y, 3Y, 5Y, 10Y, last o un periodo seleccionado con formato "yyyyMMdd-[yyyyMMdd]". En el caso de que solo se especifique una fecha, se devuelve la serie de precios disponible hasta la última fecha disponible. Si no se especifica period devuelve toda la serie.
Divisa en la cual se recupera la serie de patrimonios.
Devuelve la serie de patrimonios para el ID de la cartera solicitada.
Validation error
Not Found
Response Example (200 OK)
{
"assets": [
0.25148574659
],
"dates": [
2.23697526135132
]
}
PUT /v1/portfolios/{id}/assets/
Actualiza el patrimonio del portfolio.
Patrimonio del portfolio.
Nombre del usuario que realiza la petición.
Identificador de la cartera.
Request Example
{
"assets": [
0.25148574659
],
"dates": [
2.23697526135132
]
}
Información de valoración insertada
Error en la inserción de patrimonios
Portfolio no encontrado
GET /v1/portfolios/{id}/gav/
Devuelve el GAV del portfolio.
Ejemplos:
Obtiene el último GAV:
/v1/portfolios/120827/gav/?period=last
Obtiene la serie completa del GAV:
/v1/portfolios/121628/gav/
Identificador de la cartera para la que se solicita el GAV.
1Y, 3Y, 5Y, 10Y, last o un periodo seleccionado con formato "yyyyMMdd[-yyyyMMdd]". En el caso de que solo se especifique una fecha, se devuelve la serie de precios disponible hasta la última fecha disponible. Si no se especifica period devuelve toda la serie.
Devuelve la serie del NAV para el ID de la cartera solicitada.
Validation error
Not Found
Response Example (200 OK)
{
"prices": [
0.25148574659
],
"dates": [
"20171022"
]
}
PUT /v1/portfolios/{id}/gav/
Actualiza el GAV del portfolio.
GAV del portfolio.
Nombre del usuario que realiza la petición.
Identificador de la cartera.
Request Example
{
"prices": [
0.25148574659
],
"dates": [
"20171022"
]
}
Información de valoración insertada
Error en la inserción del gav
Portfolio no encontrado
GET /v1/portfolios/{id}/gav/frictionConfig/
Devuelve la configuración de rozamiento del GAV para valorar un NAV teórico y aproximado
Ejemplos:
http://etsprd1:8002/v1/portfolios/5095/gav/frictionConfig/
Identificador de la cartera.
Devuelve la configuración para el ID de la cartera solicitada.
Validation error
Not Found
Response Example (200 OK)
{
"managementFee": 0.02,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 214523,
"transactionFee": 0.012,
"isHedged": true
}
PUT /v1/portfolios/{id}/gav/frictionConfig/
Modifica la configuración de rozamiento del GAV para valorar un NAV teórico y aproximado
Configuración del rozamiento
Identificador de la cartera.
Request Example
{
"managementFee": 0.02,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 214523,
"transactionFee": 0.012,
"isHedged": true
}
Valore modificados correctamente
Validation error
Not Found
GET /v1/portfolios/{id}/universe/
Obtiene los identificadores de los símbolos que forman el universo de la cartera. Si se especifica una fecha obtiene el universo a esa fecha, si no, devuelve el universo actual.
Identificador de la cartera para la que se solicitan los símbolos.
Fecha en formato YYYYMMDD.
Devuelve lista con los identificadores de los símbolos.
Validation error
Portfolio not found
Response Example (200 OK)
[
"integer"
]
GET /v1/portfolios/{id}/calendar/
Devuelve una lista de fechas con las fechas de las próximas recomendaciones del portfolio. Se puede seleccionar un periodo de tal forma que te devuelve las recomendaciones previstas en ese periodo. El periodo acepta un rango fechas, 2 semanas (2W), 1M (1 mes) o next delvolviéndote la próxima recomendación. Por defecto devuelve únicamente la fecha de la próxima recomendación.
Identificador de la cartera.
YYYYMMDD-YYYYMMDD, 2W, 1M, next.
Lista de fechas con las fechas de las próximas recomendaciones.
El identificador del portfolio no es número
Portfolio no encontrado
GET /v1/portfolios/{id}/calendar/pattern/
Devuelve el patrón de fechas en las que se debe recomendar la cartera.
Identificador de la cartera.
Devuelve el patrón
El identificador del portfolio no es número
Portfolio no encontrado
Response Example (200 OK)
{
"freq": "daily",
"interval": 1,
"firstDate": "20170102",
"byweekday": [
[
0,
2,
4
]
]
}
PUT /v1/portfolios/{id}/calendar/pattern/
Establece el patrón de fechas en las que se debe recomendar la cartera.
Patrón de fechas
Nombre del usuario que realiza la petición
Identificador de la cartera.
Request Example
{
"freq": "daily",
"interval": 1,
"firstDate": "20170102",
"byweekday": [
[
0,
2,
4
]
]
}
Patrón actualizado
Error en la validación del JSON
Portfolio no encontrado
GET /v1/portfolios/{id}/operativeOffset/
Devuelve el offset operativo de la cartera.
Identificador de la cartera.
Devuelve el offset operativo
El identificador del portfolio no es número
Portfolio no encontrado
Response Example (200 OK)
{
"operativeOffset": 1
}
PUT /v1/portfolios/{id}/operativeOffset/
Establece el offset operativo de la cartera.
Offset Operativo
Nombre del usuario que realiza la petición
Identificador de la cartera.
Request Example
{
"operativeOffset": 1
}
Offset Operativo actualizado
Error en la validación del JSON
Portfolio no encontrado
Metaportfolios
GET /v1/metaportfolios/
Devuelve la información de un metaportfolio.
Ejemplo:
/v1/metaportfolios/1/
Se devuelve un documento JSON con la información de un metaportfolio.
El ID del metaportfolio.
Devuelve la información del metaportfolio solicitado.
El identificador del metaportfolio es inválido.
El metaportfolio especificado no existe.
Response Example (200 OK)
{
"id": 190,
"name": "BICE Tendencias",
"isPaper": "boolean",
"simulationSid": 89929
}
Recos
POST /v1/recos/
Solicita la generación de una recomendacion. Este endpoint recoge la petición y devuelve un identificador de recomendaciónsolicitada, con las que el usuario podrá consultarla cuando el sistema las haya procesado.
Solicitud de recomendación
Nombre del usuario que realiza la petición
(no description)
Request Example
{
"portfolioId": 12658,
"strategy": {
"id": "mt16"
},
"executionDate": 20171004,
"currentPositions": {
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
},
"client": "finhub",
"currency": "EUR"
}
Devuelve un 200 para confirmar que se ha creado la solicitud junto con un objeto con el id y portfolioId.
JSON inválido. El mensaje mostrará el error.
El usuario no tiene permisos para solicitar una recomendación
GET /v1/recos/search/
Busca las recomendaciones que se corresponden con los parámetros indicados en la URL. Devuelve los identificadores de las recomendaciones encontradas.
La petición contempla 2 casos:
-
Obtener los identificadores de las recomendaciones de un cliente.
-
Obtener los identificadores de las recomendaciones de una cartera.
En ambos casos se permite obtener opcionalmente las recomendaciones para un determinado periodo y un estado dados. Los 2 casos son incompatibles entre sí.
Ejemplo:
/v1/recos/search/?client=finhub&status=Processed
/v1/recos/search/?portfolioId=port_1&period=1Y&status=Published
Se devuelve un documento JSON con la información de la recomendaciones
Identificador del porfolio del que se quieren recuperar sus recomendaciones.
Nombre del cliente del que se quieren recuperar sus recomendaciones.
1Y, 3Y, 5Y, 10Y, last o un periodo seleccionado con formato "yyyyMMdd[-yyyyMMdd]". Si no se especifica period devuelve todas las recomendaciones
Estado de las recomendaciones que queremos obtener.
Devuelve un la información de la recomendacion solicitada.
Validation error. El formato de los parámetros no es correcto.
Not Found
Response Example (200 OK)
[
1584
]
GET /v1/recos/{id}/
Devuelve la recomendacion solicitada.
Ejemplo:
/v1/recos/260/
Se devuelve un documento JSON con la información de la recomendación.
El ID de la recomendación.
Campos a añadir a la información obtenida.
Devuelve un la información de la recomendacion solicitada.
Validation error. El formato de los parámetros no es correcto.
Not Found
Response Example (200 OK)
{
"id": 12658,
"portfolioId": 12658,
"strategy": {
"id": "mt16"
},
"user": "string",
"currentPositions": [
{
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
}
],
"client": "string",
"requestedDate": "20150215 11:00:12",
"inProcessDate": "20150215 11:00:13",
"processedDate": "20150215 11:00:22",
"publishedDate": "20150215 11:01:12",
"reco": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
POST /v1/recos/publish/
Solicita la publicación de una recomendación aún no publicada.
Previamente a publicar en el bus comprueba que las posiciones recibidas suman 1. Si no es así devuelve error 422.
Una recomendación
Nombre del usuario que realiza la petición
Request Example
{
"portfolioId": 12658,
"date": 20150215,
"executionDate": 20150215,
"confidenceLevel": 1,
"compartmentWeight": 1,
"orders": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
Devuelve un 202 para confirmar que se ha creado la recomendación.
Validation error. El formato del documento insertado no es correcto.
El usuario no tiene permisos para realizar la solicitud
La recomendación ya fue publicada anteriormente
Las posiciones no suman 1. Ya existe una recomendación para ese día y para esa cartera. La recomendación se encuentra en un estado no válido para publicar.
POST /v1/recos/{id}/publish/
Solicita la publicación de una recomendación aún no publicada a partir del identificador.
Previamente a publicar en el bus comprueba que las posiciones de la reco suman 1. Si no es así devuelve error 422.
Nombre del usuario que realiza la petición
(no description)
El ID de la recomendación.
Devuelve un 202 para confirmar que se ha creado la recomendación.
Validation error. El formato del identificador no es válido.
El usuario no tiene permisos para realizar la solicitud
La recomendación ya fue publicada anteriormente
Las posiciones no suman 1. Ya existe una recomendación para ese día y para esa cartera. La recomendación se encuentra en un estado no válido para publicar.
GET /v1/recos/{id}/orders/
Devuelve las orders de la recomenedación que se corresponde con el identificador indicado en la URL.
Ejemplo:
/v1/recos/260/orders/
Se devuelve una lista con la información de las ordenes.
El ID de la recomendación.
Devuelve un la información de la recomendacion solicitada.
Not Found
Response Example (200 OK)
[
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
GET /v1/recos/{id}/strategy/
Devuelve la estrategia de la recomenedación que se corresponde con el identificador indicado en la URL.
Ejemplo:
/v1/recos/260/strategy/
Devuelve un string con la información de la estrategia de la recomendación solicitada.
El ID de la recomendación.
Devuelve la estrategia de la recomendacion solicitada.
Not Found
Response Example (200 OK)
{
"id": "mt01"
}
GET /v1/recos/{id}/attachment/
Información adjunta a la reco. Los worker disponen de este campo para almacenar información relativa a la reco para un uso discreccional. La información se guarda en un string pero es cosa del usuario que guarda, cómo lo guarda y cómo lo interpreta cuando lo recupera.
Ejemplo:
/v1/recos/260/attachment/
Devuelve un string con la información del attachment de la recomendación solicitada.
El ID de la recomendación.
Devuelve el attachment de la recomendacion solicitada.
Not Found
PUT /v1/recos/{id}/attachment/
Configura la información adjunta a la reco. La información se guarda en un string pero es cosa del usuario que guarda, cómo lo guarda y cómo lo interpreta cuando lo recupera.
Nombre del usuario que realiza la petición.
El ID de la recomendación.
Devuelve el attachment de la recomendación solicitada.
El usuario no tiene permisos para realizar la solicitud
Not Found
GET /v1/recos/dates/
Obtiene las fechas de las recomendaciones publicadas de una cartera en un periodo. El objeto devuelto es una lista de pares (id, date) con el identificador de la recomendación y su fecha de publicación.
Ejemplo:
/v1/recos/dates/?portfolioId=122087&period=YTD
Devuelve una lista de pares (id, date).
Identificador de la cartera para la que se solicitan las posiciones.
1D, 1M, 3M, 6M, 1Y, 3Y, 5Y, 10Y, YTD, last o un periodo seleccionado con formato "yyyyMMdd[-yyyyMMdd]". Si no se especifica period devuelve las últimas.
Devuelve una lista de pares (id, date) con las fechas de las recomendaciones publicadas junto con su identificador.
Query string no válido
Impacts
GET /v1/impacts/
Devuelve el impacto total y diario del asesoramiento de de ETS en un conjunto de symbols para una fecha dada.
El impacto total de ETS sobre un symbol es el porcentaje del patrimonio del symbol que se ha invertido realmente por asesoramiento de ETS.
El impacto diario de ETS sobre un symbol es el porcentaje del patrimonio del symbol que se invierte por asesoramiento de ETS en una fecha dada.
A la hora de calcular los impactos se tiene en cuenta las operaciones de todas las carteras reales y de los clones que generan impacto. Se tiene en cuenta tanto los trades ya ejecutados como las órdenes pendientes de ejecución.
El impacto es un número entre 0 y 1, que normalmente estará en las proximidades del 0. Un impacto 0 es que no hay inversión debida a ETS. Un impacto de 1 sería que todo el patrimonio que tiene el symbol es debido al asesoramiento de ETS (límite que lógicamente no se alcanza). Valores fuera de ese intervalo no tienen sentido
Ejemplo:
/v1/portfolios/impacts/?ids=109944,80528&date=20170522
Lista de symbolIds sobre la que se quiere conocer el impacto.
Fecha para la que se quiere conocer los impactos.
Devuelve el impacto total y diario de la cartera en los symbolIds recibidos para la fecha dada
Parametrización inválida
Response Example (200 OK)
[
{
"symbolId": "integer",
"totalImpact": "number",
"dailyImpact": "number"
}
]
Schema Definitions
AssetsSeries: object
Serie de assets.
- assets: number[]
- dates: number[]
Example
{
"assets": [
0.25148574659
],
"dates": [
2.23697526135132
]
}
PricesSeries: object
Serie de precios.
- prices: number[]
- dates: string[]
Example
{
"prices": [
0.25148574659
],
"dates": [
"20171022"
]
}
Trades: object
- date: string
-
Fecha del trade
- symbolId: integer
-
Identificador interno del symbol asociado a la posición.
- type: string
-
Tipo de trade (buy/sell)
- weight: number
-
Peso del trade
- shares: integer
-
Número de participaciones de la operación
- price: number
-
Valor del precio del symbol.
- currencyRate: number
-
Precio del cambio de moneda.
- amount: integer
-
Número de subscripciones de la operación.
Example
{
"date": 20170517,
"symbolId": 41897,
"type": "buy",
"weight": 0.10600444199511803,
"shares": 2550,
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
RecoRequest: object
- portfolioId: integer
-
Identificador del Portfolio.
- strategy: Strategy
-
Estrategia utilizada en la recomendación.
- executionDate: string
-
Fecha de la ejecución de la reco.
- currentPositions: Positions
-
Posiciones abiertas de la cartera en el momento de solicitud de la recomendación.
- client: string
-
Nombre del cliente que inició la solicitud.
- currency: string
-
Identificador de la divisa.
Example
{
"portfolioId": 12658,
"strategy": {
"id": "mt16"
},
"executionDate": 20171004,
"currentPositions": {
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
},
"client": "finhub",
"currency": "EUR"
}
RecommendationResponse: object
- id: integer
-
Identificador del Portfolio.
- portfolioId: integer
-
Identificador del Portfolio.
- strategy: Strategy
- user: string
-
Nombre del usuario que realizó la recomendación.
- currentPositions: object[]
- client: string
-
Nombre del cliente que inició la solicitud.
- currency: Currency
- requestedDate: string
-
Fecha de la que se solicita la recomendación en formato YYYYMMDD HH:MM:SS.
- inProcessDate: string
-
Fecha a la que se empieza a processarla recomendación en formato YYYYMMDD HH:MM:SS.
- processedDate: string
-
Fecha a la que ababa de procesarse la recomendación en formato YYYYMMDD HH:MM:SS.
- publishedDate: string
-
Fecha a la que se publica la recomendación en formato YYYYMMDD HH:MM:SS.
- reco: object[]
Example
{
"id": 12658,
"portfolioId": 12658,
"strategy": {
"id": "mt16"
},
"user": "string",
"currentPositions": [
{
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
}
],
"client": "string",
"requestedDate": "20150215 11:00:12",
"inProcessDate": "20150215 11:00:13",
"processedDate": "20150215 11:00:22",
"publishedDate": "20150215 11:01:12",
"reco": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
Recommendation: object
Objeto de recomendación para publicar en BO a través del bus.
- portfolioId: integer
-
Identificador del Portfolio.
- date: string
-
Fecha de la recomendación en formato YYYYMMDD.
- executionDate: string
-
Fecha de ejecución de la recomendación en formato YYYYMMDD.
- confidenceLevel: number
-
Nivel de confianza.
- compartmentWeight: number
-
Peso del compartimento
- orders: object[]
-
Array de órdenes de recomendación.
Example
{
"portfolioId": 12658,
"date": 20150215,
"executionDate": 20150215,
"confidenceLevel": 1,
"compartmentWeight": 1,
"orders": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
Positions: object
Conjunto de posiciones en una fecha dada. Está formado por una fecha de valoración y una lista de posiciones.
- valuationDate: string
-
Fecha de las posiciones
- positions: object[]
-
Lista de posiciones de la fecha dada.
Example
{
"valuationDate": 20170517,
"positions": [
{
"symbolId": 41897,
"weight": 0.10600444199511803,
"shares": 2550,
"date": 20170812,
"type": "long",
"price": 0.23151780664920807,
"currencyRate": 1,
"amount": 2000
}
]
}
Frequenttrading: object
- in: integer
-
Número de días desde que se incrementó la posición en cartera.
- out: integer
-
Número de días desde que se redujo la posición en cartera.
- symbolId: integer
-
Identificador del símbolo.
Example
{
"in": 154,
"out": 22,
"symbolId": 125436
}
Impacts: object
- symbolId: integer
-
Identificador del símbolo
- totalImpact: number
-
El impacto total de ETS sobre un symbol es el porcentaje del patrimonio del symbol que se ha invertido realmente por asesoramiento de ETS.
impacto total = (sum(peso * (patrimonio cartera + patrimonio clones)) / patrimonio del activoEn caso de que el activo sea fundclass, se tiene en cuenta la inversión de todas las clases del fondo y se divide entre el patrimonio del fondo.
Todos los patrimonios se toman en la misma divisa, en este caso, en euros.
- dailyImpact: number
-
El impacto diario de ETS sobre un symbol es el porcentaje del patrimonio del symbol que se invierte por asesoramiento de ETS en una fecha dada.
impacto diario = (sum(trade * (patrimonio cartera + patrimonio clones)) / patrimonio del activoEn caso de que el activo sea fundclass, se tiene en cuenta la rotación de todas las clases del fondo y se divide entre el patrimonio del fondo.
Todos los patrimonios se toman en la misma divisa, en este caso, en euros.
Example
{
"symbolId": "integer",
"totalImpact": "number",
"dailyImpact": "number"
}
ConfigurationConstraints: object
- frequentTradingControl: boolean
-
PENDIENTE
- benchmarkSid: integer
-
PENDIENTE
- linesNumber: integer
-
PENDIENTE
- riskLimAbsolute: number
-
PENDIENTE
- riskLimRelative: number
-
PENDIENTE
- riskLim: number
-
PENDIENTE
Example
{
"frequentTradingControl": true,
"benchmarkSid": "PENDIENTE",
"linesNumber": "PENDIENTE",
"riskLimAbsolute": "PENDIENTE",
"riskLimRelative": "PENDIENTE",
"riskLim": "PENDIENTE"
}
FamilyConstraints: object
- minAssets: integer
-
Patrimonio mínimo
- maxAssets: integer
-
Patrimonio máximo
- minInvestment: number
-
Inversión mínima
- maxInvestment: number
-
Inversión máxima
Example
{
"minAssets": "PENDIENTE",
"maxAssets": "PENDIENTE",
"minInvestment": "PENDIENTE",
"maxInvestment": "PENDIENTE"
}
Family: object
- familyId: integer
-
Identificador del tipo de familia
- name: string
-
Nombre de la familia
- color: string
-
Color de la familia
- linkedCategoryId: integer
-
Identificador de la categoría asociada
- constraints: FamilyConstraints
Example
{
"familyId": 8,
"name": "string",
"color": "PENDIENTE",
"linkedCategoryId": "PENDIENTE",
"constraints": {
"minAssets": "PENDIENTE",
"maxAssets": "PENDIENTE",
"minInvestment": "PENDIENTE",
"maxInvestment": "PENDIENTE"
}
}
Group: object
- name: string
-
Nombre del grupo de familias
- familyType: integer
-
Identificador del tipo de familia
- families: object[]
Example
{
"name": "PENDIENTE",
"familyType": 4,
"families": [
{
"familyId": 8,
"name": "string",
"color": "PENDIENTE",
"linkedCategoryId": "PENDIENTE",
"constraints": {
"minAssets": "PENDIENTE",
"maxAssets": "PENDIENTE",
"minInvestment": "PENDIENTE",
"maxInvestment": "PENDIENTE"
}
}
]
}
DecisionConstraint: object
PENDIENTE
- minLongInvestment: number
-
PENDIENTE
- maxLongInvestment: number
-
PENDIENTE
- minConditionalWeight: number
-
PENDIENTE
- minTurnover: number
-
PENDIENTE
- maxTurnover: number
-
PENDIENTE
- ousted: boolean
-
PENDIENTE
Example
{
"minLongInvestment": "PENDIENTE",
"maxLongInvestment": "PENDIENTE",
"minConditionalWeight": "PENDIENTE",
"minTurnover": "PENDIENTE",
"maxTurnover": "PENDIENTE",
"ousted": true
}
DecisionAsset: object
- symbolId: integer
-
Identificador del símbolo
- constraints: DecisionConstraint
- investmentAssetSymbolIds: integer[]
-
PENDIENTE
- groupFamilies: integer[]
-
Grupo de familias
Example
{
"symbolId": "PENDIENTE",
"constraints": {
"minLongInvestment": "PENDIENTE",
"maxLongInvestment": "PENDIENTE",
"minConditionalWeight": "PENDIENTE",
"minTurnover": "PENDIENTE",
"maxTurnover": "PENDIENTE",
"ousted": true
},
"investmentAssetSymbolIds": [
65215
],
"groupFamilies": [
215452
]
}
Portfolio: object
Información de una cartera.
- id: integer
-
Identificador de la cartera.
- name: string
-
Nombre de la cartera.
- currency: string
-
Identificador de la divisa en ISO 4217
- taste: string
-
Descripción del sabor
- isHedged: boolean
-
Si la cartera isHedged
- rsv: string
-
Indica el sistema de recomendación que utiliza la cartera None, Old, New
- launchAssets: number
-
PENDIENTE
- metaportfolioId: integer
-
Identificador que agrupa los portfolios.
- operativeOffset: integer
-
PENDIENTE
- riskLim: number
-
Límite de riesgo
Example
{
"id": 103318,
"name": "Capital Preservation Conservative. PL NAV",
"currency": "EUR",
"taste": "Pure Machine Live",
"isHedged": true,
"rsv": "Old",
"launchAssets": 100000000.0255,
"metaportfolioId": 218,
"operativeOffset": -1,
"riskLim": 0.15
}
PortfolioRequest: object
Parámetros de creación de la cartera.
- type: string
-
Tipo de cartera que se va a crear.
- name: string
-
Nombre de la cartera.
- shortName: string
-
Abreviación del nombre de la cartera.
- currency: string
-
Identificador de la divisa en ISO 4217
- launchAssets: number
-
Patrimonio de partida de la cartera.
- isHedge: boolean
-
Si la cartera isHedge
- strategyId: integer
-
Identificador de la estrategia utilizada en las recomendaciones de la cartera.
- riskLevel: string
-
Nivel de riesgo de la cartera.
- universeType: string
-
Tipo de universo utilizado por la cartera.
- referenceIndexSId: integer
-
Identificador del symbol utilizado como indice de referencia.
- volatility: number
-
Volatilidad de la cartera.
- referencePortfolioLabsId: integer
-
Identificador del portfolio Labs de referencia.
- fees: PortfolioFees
- recos: object[]
- riskLim: number
-
Límite de riesgo de la cartera.
Example
{
"type": "Labs",
"name": "Capital Preservation Conservative.",
"shortName": "CapitalPreservation.",
"currency": "EUR",
"launchAssets": 100000000.0255,
"isHedge": true,
"strategyId": 1,
"riskLevel": "Medium",
"universeType": "FixedIncome",
"referenceIndexSId": 65789,
"volatility": 0.5,
"referencePortfolioLabsId": 12567,
"fees": {
"managementFee": 0.25,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 25641,
"transactionFee": 0.012
},
"recos": [
{
"date": 20171110,
"executionDate": 20171112,
"ordes": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
],
"riskLim": 0.05
}
PortfolioEditRequest: object
Parámetros de modificación de la cartera.
- portfolioId: integer
-
Identificador del portfolio.
- shortName: string
-
Abreviación del nombre de la cartera.
- launchAssets: number
-
Patrimonio de partida de la cartera.
- isHedgeAdviced: boolean
-
Si la cartera isHedge.
- strategyId: integer
-
Identificador de la estrategia utilizada en las recomendaciones de la cartera.
- riskLevel: string
-
Nivel de riesgo de la cartera.
- referenceIndexSId: integer
-
Identificador del symbol utilizado como indice de referencia.
- referencePortfolioLabsId: integer
-
Identificador del portfolio Labs de referencia.
- fees: PortfolioFees
Example
{
"portfolioId": 10871,
"shortName": "CapitalPreservation.",
"launchAssets": 100000000.0255,
"isHedgeAdviced": true,
"strategyId": 1,
"riskLevel": "Medium",
"referenceIndexSId": 65789,
"referencePortfolioLabsId": 12567,
"fees": {
"managementFee": 0.25,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 25641,
"transactionFee": 0.012
}
}
PortfolioRequestRecommendation: object
Recomendaciones sobre la cartera.
- date: string
-
Fecha en formato YYYYMMDD.
- executionDate: string
-
Fecha en formato YYYYMMDD.
- ordes: object[]
Example
{
"date": 20171110,
"executionDate": 20171112,
"ordes": [
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
]
}
Metaportfolio: object
Información de un metaportfolio.
- id: integer
-
Identificador del metaportfolio.
- name: string
-
Nombre del metaportoflio.
- isPaper: boolean
-
Indica si es paper
- simulationSid: integer
-
Identificador del symbol de la simualción asociada al metaportfolio.
Example
{
"id": 190,
"name": "BICE Tendencias",
"isPaper": "boolean",
"simulationSid": 89929
}
RecommendationOrder: object
Operaciones recomendadas sobre la cartera.
- symbolId: integer
-
Identificador interno del symbol asociado a la posición.
- recoWeight: number
-
Nuevo peso recomendado para symbol en la cartera. Es el peso elegido por el usuario (coincide con proposedWeight si el usuario no hace ninguna modificación)
- recoAmount: number
-
Nuevo Número de subscripciones del symbol en la cartera.
- recoShares: number
-
Nuevo Número de participaciones del symbol en la cartera.
- currentWeight: number
-
Peso actual del symbol en la cartera (con respecto al compartimento).
- currentAmount: number
-
Número de subscripciones actual del symbol en la cartera.
- currentShares: number
-
Número de participaciones actual del symbol en la cartera.
- orderWeight: number
-
Peso para el symbol del movimiento recomendado en la cartera (diferencia entre peso en cartera y peso recomendado).
- orderAmount: number
-
Número de subscripciones del symbol asocidos al movimiento de la reco en la cartera.
- orderShares: number
-
Número de participaciones del symbol asocidos al movimiento de la reco en la cartera.
- orderType: string
-
Tipo de order.
- weightInPortfolio: number
-
Peso actual del symbol en la cartera (con respecto al portfolio).
- proposedWeight: number
-
Nuevo peso recomendado para symbol en la cartera. Es el peso decidido por la máquina, sin intervención del usuario.
Example
{
"symbolId": 100035,
"recoWeight": 0.0240069671,
"recoAmount": 1200348.354183636,
"recoShares": 6852.0855930108,
"currentWeight": 0.0309952304,
"currentAmount": 1549761.52,
"currentShares": 8846.6806713095,
"orderWeight": 0.0069882633,
"orderAmount": 349413.1658163641,
"orderShares": 1994.5950782987,
"orderType": "SELL",
"weightInPortfolio": 0.0309952304,
"proposedWeight": 0.0309952304
}
PortfolioFees: object
Fees de una cartera
- managementFee: number
-
La comisión de gestión
- performanceFee: number
-
La comisión de éxito, que queda definida mediante un porcentaje
- performanceFeeMargin: number
-
Margen a sumar a la comisión de éxito
- performanceFeeReference: integer
-
Índice de referencia para aplicar la comisión de éxito
- transactionFee: number
-
La comisión aplicada a cada una de las operaciones
Example
{
"managementFee": 0.25,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 25641,
"transactionFee": 0.012
}
Fee: object
Fees de una cartera
- managementFee: integer
-
La comisión de gestión
- performanceFee: number
-
La comisión de éxito, que queda definida mediante un porcentaje
- performanceFeeMargin: number
-
Margen a sumar a la comisión de éxito
- performanceFeeReference: integer
-
Índice de referencia para aplicar la comisión de éxito
- transactionFee: number
-
La comisión aplicada a cada una de las operaciones
- isHedged: boolean
-
Cartera cubierta o descubierta
Example
{
"managementFee": 0.02,
"performanceFee": 0.01,
"performanceFeeMargin": 0.1,
"performanceFeeReference": 214523,
"transactionFee": 0.012,
"isHedged": true
}
Pattern: object
Patrón de fechas. Sigue el estándar iCalendar. El patrón está definido en la zona horaria de Madrid.
- freq: string
-
Frecuencia con la que se ejecuta el patrón. Puede ser 'daily' o 'weekly'
- interval: string
-
Intervalo entre cada iteración de la frecuencia. Por ejemplo, si tiene frecuencia semanal y su valor es 2, se ejecutará cada 2 semanas. Por defecto es 1.
- firstDate: string
-
Fecha a partir de la cual se genera el patrón.
- byweekday: integer[]
-
Entero o lista de enteros que representan a los días de la semana de Lunes a Viernes comenzando por 0 (Lunes=0, Martes=1,...)
Example
{
"freq": "daily",
"interval": 1,
"firstDate": "20170102",
"byweekday": [
[
0,
2,
4
]
]
}
OperativeOffset: object
Offset operativo. Es un entero que indica el desplazamiento en número de días entre la fecha de la recomendación y la fecha de ejecución de sus órdenes
- operativeOffset: integer
-
Desplazamiento en número de días entre la fecha de la recomendación y la fecha de ejecución de sus órdenes
Example
{
"operativeOffset": 1
}