Closed ferminrp closed 8 months ago
Para esto vamos a usar el siguiente endpoint de Argentina Datos
curl -X GET \
https://api.argentinadatos.com/v1/finanzas/fci/mercadoDinero/ultimo
La documentacion completa del endpoint esta acá
La respuesta es un array en donde cada fondo viene así
{
"fondo": "Mercado Fondo - Clase A",
"horizonte": "corto",
"fecha": "2024-02-22",
"vcp": 11565.086,
"ccp": 85013942033.24,
"patrimonio": 983193564089.17
},
Para esto vamos a usar el siguiente endpoint de Argentina Datos
curl -X GET \
https://api.argentinadatos.com/v1/finanzas/fci/mercadoDinero/penultimo
La documentacion completa del endpoint esta acá
La respuesta es un array en donde cada fondo viene así
{
"fondo": "Mercado Fondo - Clase A",
"horizonte": "corto",
"fecha": "2024-02-22",
"vcp": 11565.086,
"ccp": 85013942033.24,
"patrimonio": 983193564089.17
},
Esto significa que de ambos responses deberiamos consolidar en uno solo en donde tenemos el ultimoValorVcp y el penultimoValorVcp asi como la cantidadDias que es el delta entre ambas fechas. Algo así como:
{
"fondo": "Mercado Fondo - Clase A",
"horizonte": "corto",
"ultimaFecha": "2024-02-22",
"ultimoValorvcp": 11565.086,
"penultimoValorvcp": 11560.086,
"dias":3,
},
Ejemplo de whitelist actual
{
"Personal Pay": {
"nombreOficial": "Delta Pesos - Clase X",
"nombreSimplificado": "Delta Pesos (X)",
"logo": "https://ik.imagekit.io/ferminrp/PersonalPay.jpg?updatedAt=1705751679088",
"url": "https://www.personalpay.com.ar/"
},
"Prex": {
"nombreOficial": "Allaria Ahorro - Clase A",
"nombreSimplificado": "Allaria Ahorro (A)",
"logo": "https://ik.imagekit.io/ferminrp/prex.jpeg?updatedAt=1705751733760",
"url": "https://www.prexcard.com.ar/"
},
"Uala": {
"nombreOficial": "Ualintec Ahorro Pesos - Clase A",
"nombreSimplificado": "Ualintec Ahorro Pesos (A)",
"logo": "https://ik.imagekit.io/ferminrp/uala.jpeg?updatedAt=1705751593746",
"url": "https://uala.com.ar"
},
"Mercado Pago": {
"nombreOficial": "Mercado Fondo - Clase A",
"nombreSimplificado": "Mercado Fondo A",
"logo": "https://ik.imagekit.io/ferminrp/mp.jpeg?updatedAt=1705750753226",
"url": "https://mercadopago.com.ar/"
},
"Cocos": {
"nombreOficial": "Cocos Ahorro - Clase A",
"nombreSimplificado": "Cocos Ahorro A",
"logo": "https://ik.imagekit.io/ferminrp/cocos.jpeg?updatedAt=1705788191899",
"url": "https://cocos.capital/"
},
"IEB": {
"nombreOficial": "IEB Ahorro - Clase A",
"nombreSimplificado": "IEB Ahorro (A)",
"logo": "https://ik.imagekit.io/ferminrp/ieb.jpeg?updatedAt=1705789266724",
"url": "https://www.grupoieb.com.ar/iebmas/"
},
"Santander": {
"nombreOficial": "Super Ahorro $ - Clase A",
"nombreSimplificado": "Super Ahorro (A)",
"logo": "https://ik.imagekit.io/ferminrp/santander.png?updatedAt=1705840513218",
"url": "https://www.santander.com.ar/"
},
"Galicia": {
"nombreOficial": "Fima Premium - Clase A",
"nombreSimplificado": "Fima Premium (A)",
"logo": "https://ik.imagekit.io/ferminrp/galicia.jpeg?updatedAt=1705840853900",
"url": "https://www.galicia.ar/personas"
},
"Balanz": {
"nombreOficial": "Balanz Capital Money Market - Clase A",
"nombreSimplificado": "Balanz Capital MM (A)",
"logo": "https://ik.imagekit.io/ferminrp/balanz.jpeg?updatedAt=1705789663773",
"url": "https://balanz.com"
},
"Claro Pay": {
"nombreOficial": "SBS Ahorro Pesos - Clase A",
"nombreSimplificado": "SBS Ahorro (A)",
"logo": "https://ik.imagekit.io/ferminrp/Clarop.png?updatedAt=1706271125722",
"url": "https://claropay.com.ar/landing"
},
"n1u": {
"nombreOficial": "Delta Pesos - Clase A",
"nombreSimplificado": "Delta Pesos (A)",
"logo": "https://ik.imagekit.io/ferminrp/n1u.jpeg?updatedAt=1706028849006",
"url": "https://linktr.ee/n1u.app"
},
"ICBC": {
"nombreOficial": "Alpha Pesos - Clase A",
"nombreSimplificado": "Alpha Pesos (A)",
"logo": "https://ik.imagekit.io/ferminrp/icbc.jpeg?updatedAt=1706451184543",
"url": "https://www.icbc.com.ar/personas"
},
"BBVA": {
"nombreOficial": "FBA Renta Pesos - Clase A",
"nombreSimplificado": "FBA Renta Pesos (A)",
"logo": "https://ik.imagekit.io/ferminrp/BBVA%20logo.png?updatedAt=1706709935806",
"url": "https://www.bbva.com.ar/"
},
"Supervielle": {
"nombreOficial": "Premier Renta CP en Pesos - Clase A",
"nombreSimplificado": "Premier Renta CP (A)",
"logo": "https://ik.imagekit.io/ferminrp/Superv.jpg?updatedAt=1706968842493",
"url": "https://www.supervielle.com.ar/personas"
},
"Banza": {
"nombreOficial": "Adcap Ahorro Pesos Fondo de Dinero - Clase A",
"nombreSimplificado": "Adcap Ahorro Pesos (A)",
"logo": "https://ik.imagekit.io/ferminrp/banza.jpeg?updatedAt=1707312127346",
"url": "https://www.banza.com.ar/"
}
}
Para calcular la tasa efectiva diaria (TED) de un fondo de capitalización diaria, se tiene que utilizar esta fórmula:
ted = [(VCPfinal / VCPinicial) ^ (1 / dias)] - 1
TNA = TED x 365
TEA = [(1 + TED)^365] - 1
Ya tenemos el el api de Argentina datos la información necesaria para pintar los fondos y cuentas remuneradas con eso.
El api devuelve el valor de la cuotaparte de todos los fondos money market fecha por fecha. Deberiamos tomar los últimos dos dias hábiles, mirar la variacion, dividirla por la cantidad de dias entre los dos dias hábiles y con eso calcular TNA y TEA (con capitalizacion diaria).
Tener en cuenta que los fondos tienen hasta 24hs para actualizar la información, asi que quizas convenga no el ultimo dia habil sino el anterior.
Si hay feriados el valor de la cuotaparte no se va a actualizar.
Vamos a tener que mapear el nombre del fondo a un nombre mas claro / de fantasía y a su imagen. Incluso en el detalle de cada card el nombre del fondo esta resumido.
Por ejemplo: Nombre del Fondo: Santander Super Ahorro Pesos - Clase A
En la UI lo mostrariamos como Santander Super Ahorro Pesos (A)