Inicia sesión en tu cuenta de Zyla API Hub
¿No tienes una cuenta? ¡Regístrate!
Antes de continuar con tu suscripción, necesitamos verificar tu identidad.
Esto te protegerá a ti y a otros usuarios de posibles fraudes.
- Serás redirigido a nuestro socio de verificación de identidad seguro, Stripe.
- Necesitarás proporcionar un documento de identidad emitido por el gobierno.
- El proceso es automático y tomará solo unos minutos.
- Una vez completado, serás redirigido al checkout para continuar con tu suscripción.
Crea un skill envolviendo este MCP: https://mcp.zylalabs.com/mcp?apikey=YOUR_ZYLA_API_KEY
La API de Análisis de Portafolios proporciona a los desarrolladores herramientas avanzadas para un análisis en profundidad de portafolios de inversión, que abarca evaluación de riesgos, evaluación de rendimiento, optimización de asignación de activos y funcionalidades de referencia. Las instituciones financieras y los gestores de patrimonio pueden aprovechar esta robusta API para construir aplicaciones sofisticadas de gestión de portafolios, empoderando a los inversores con información procesable para optimizar sus estrategias de inversión. Al integrar capacidades analíticas de vanguardia, los usuarios obtienen una comprensión integral del rendimiento del portafolio y la exposición al riesgo, facilitando la toma de decisiones informadas y asegurando la alineación con sus objetivos financieros y preferencias de riesgo.
Proporcione el símbolo del fondo mutuo y reciba las tasas más recientes e históricas.
Herramientas de Optimización de Portafolios: Las empresas fintech pueden utilizar la API de Análisis de Portafolios para desarrollar herramientas de optimización de portafolios que permitan a los usuarios analizar sus portafolios de inversión, identificar oportunidades de diversificación y optimizar asignaciones de activos para alcanzar sus objetivos financieros.
Soluciones de Gestión de Riesgos: Las instituciones financieras pueden integrar la API en sus sistemas de gestión de riesgos para evaluar la exposición de riesgo del portafolio, identificar vulnerabilidades potenciales e implementar estrategias para mitigar riesgos y protegerse contra fluctuaciones del mercado.
Plataformas de Gestión de Patrimonio: Las empresas de gestión de patrimonio pueden aprovechar la API para mejorar sus plataformas de gestión de portafolios, brindando a los clientes herramientas analíticas sofisticadas para monitorear el rendimiento del portafolio, evaluar estrategias de inversión y tomar decisiones basadas en datos.
Servicios de Asesoramiento de Asignación de Activos: Las firmas de asesoría de inversión pueden utilizar la API para ofrecer recomendaciones personalizadas de asignación de activos a los clientes en función de sus objetivos de inversión, tolerancia al riesgo y condiciones del mercado, ayudando a los clientes a optimizar sus portafolios para un crecimiento y estabilidad a largo plazo.
Investigación Cuantitativa y Backtesting: Los analistas y investigadores cuantitativos pueden utilizar la API para llevar a cabo investigaciones cuantitativas y backtesting de estrategias de inversión, aprovechando análisis avanzados para evaluar el rendimiento del portafolio, evaluar la efectividad de las estrategias y perfeccionar los modelos de inversión.
Además del número de llamadas a la API por plan, no hay otras limitaciones.
Consulta todos los símbolos compatibles en nuestra API.
GET https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols
Símbolos soportados - Características del Endpoint
| Objeto | Descripción |
|---|---|
page |
Opcional Pagination |
{
"success": true,
"status": 200,
"symbols": [
{
"id": "FMEIX",
"name": "Fidelity Covington Trust - Fidelity Enhanced Mid Cap ETF"
},
{
"id": "STMKX",
"name": "Sierra Tactical Municipal A"
},
{
"id": "STMHX",
"name": "Sierra Tactical Municipal C"
},
{
"id": "SDICX",
"name": "Guggenheim Core Bond Fund C"
},
{
"id": "GIUSX",
"name": "Guggenheim Core Bond Fund Institutional"
},
{
"id": "SIUSX",
"name": "Guggenheim Core Bond Fund A"
},
{
"id": "STMEX",
"name": "Sierra Tactical Municipal Institutional"
},
{
"id": "STMNX",
"name": "Sierra Tactical Municipal Investor"
},
{
"id": "CNFRX",
"name": "Columbia Bond Inst2"
},
{
"id": "CNDCX",
"name": "Columbia Bond C"
},
{
"id": "CNDRX",
"name": "Columbia Bond Adv"
},
{
"id": "STMYX",
"name": "Sierra Tactical Municipal Special"
},
{
"id": "CNDAX",
"name": "Columbia Bond A"
},
{
"id": "CBFRX",
"name": "Columbia Bond R"
},
{
"id": "UMMGX",
"name": "Columbia Bond Inst"
},
{
"id": "CBFYX",
"name": "Columbia Bond Inst3"
},
{
"id": "CADOX",
"name": "Columbia Minnesota Tax-Exempt Inst2"
},
{
"id": "CMNZX",
"name": "Columbia Minnesota Tax-Exempt Inst"
},
{
"id": "PTCOX",
"name": "Performance Trust Total Return Bd C"
},
{
"id": "CLONX",
"name": "Columbia Minnesota Tax-Exempt Adv"
}
],
"pagination": {
"current_page": 1,
"last_page": 90,
"per_page": 20,
"total": 1787,
"next_page_url": "page=2",
"prev_page_url": null
}
}
curl --location --request GET 'https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols' --header 'Authorization: Bearer YOUR_API_KEY'
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
// Build the GET request
Request request = new Request.Builder()
.url("https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols")
.get() // Use GET method without a body
.addHeader("Authorization", "Bearer YOUR_API_KEY")
.build();
// Execute the request
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
// Handle the response in case of a successful request
String responseData = response.body().string();
System.out.println(responseData);
} else {
// Handle errors
System.out.println("Request error: " + response.code());
}
} catch (IOException e) {
// Handle I/O exceptions
e.printStackTrace();
}
}
}
var settings = {
"url": "https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols");
xhr.setRequestHeader("Authorization", "Bearer YOUR_API_KEY");
var axios = require('axios');
var config = {
method: 'GET',
url: 'https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
},
};
axios(config).then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer YOUR_API_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols"
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::GET.new(url)
request["Authorization"] = "Bearer YOUR_API_KEY"
response = http.request(request)
puts response.read_body
http --follow --timeout 3600 GET 'https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols' \
Authorization:'Bearer YOUR_API_KEY'
var client = new RestClient("https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_API_KEY");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
import Foundation
let url = URL(string: "https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer YOUR_API_KEY", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, _, error in
if let error = error {
print(error.localizedDescription)
return
}
if let data = data {
print(String(decoding: data, as: UTF8.self))
}
}
task.resume()
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
fun main() {
val client = OkHttpClient()
var body: RequestBody? = null
val requestBuilder = Request.Builder()
.url("https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols")
.addHeader("Authorization", "Bearer YOUR_API_KEY")
val request = requestBuilder.method("GET", body).build()
client.newCall(request).execute().use { response ->
println(response.body?.string())
}
}
import 'package:http/http.dart' as http;
void main() async {
var payload = '';
final request = http.Request(
"GET",
Uri.parse("https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols"),
);
request.headers['Authorization'] = 'Bearer YOUR_API_KEY';
if (payload.isNotEmpty) {
request.headers['Content-Type'] = 'application/json';
request.body = payload;
}
final client = http.Client();
final response = await client.send(request);
print(await response.stream.bytesToString());
client.close();
}
use reqwest::blocking::Client;
use reqwest::Method;
use std::error::Error;
fn main() -> Result<(), Box> {
let method = Method::from_bytes(b"GET")?;
let client = Client::new();
let mut body = String::new();
let mut request = client
.request(method, "https://zylalabs.com/api/3993/portfolio+analytics+api/4758/supported+symbols")
.header("Authorization", "Bearer YOUR_API_KEY");
let response = request.send()?;
println!("{}", response.text()?);
Ok(())
}
Obtenga el último precio para el símbolo de Fondo Mutual que seleccionó.
GET https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price
Último precio - Características del Endpoint
| Objeto | Descripción |
|---|---|
symbol |
[Requerido] Mutual fund symbol |
{"success":true,"status":200,"symbol":"CMNZX","name":"Columbia Minnesota Tax-Exempt Inst","market":"Nasdaq - Delayed Quote \u2022 USD","price":{"current_close":"19.24","previous_close":"1","change":"0.00","change_%":"(0.00%)","ytdReturn":"0.23%"}}
curl --location --request GET 'https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX' --header 'Authorization: Bearer YOUR_API_KEY'
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
// Build the GET request
Request request = new Request.Builder()
.url("https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX")
.get() // Use GET method without a body
.addHeader("Authorization", "Bearer YOUR_API_KEY")
.build();
// Execute the request
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
// Handle the response in case of a successful request
String responseData = response.body().string();
System.out.println(responseData);
} else {
// Handle errors
System.out.println("Request error: " + response.code());
}
} catch (IOException e) {
// Handle I/O exceptions
e.printStackTrace();
}
}
}
var settings = {
"url": "https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX");
xhr.setRequestHeader("Authorization", "Bearer YOUR_API_KEY");
var axios = require('axios');
var config = {
method: 'GET',
url: 'https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
},
};
axios(config).then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer YOUR_API_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX"
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::GET.new(url)
request["Authorization"] = "Bearer YOUR_API_KEY"
response = http.request(request)
puts response.read_body
http --follow --timeout 3600 GET 'https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX' \
Authorization:'Bearer YOUR_API_KEY'
var client = new RestClient("https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_API_KEY");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
import Foundation
let url = URL(string: "https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer YOUR_API_KEY", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, _, error in
if let error = error {
print(error.localizedDescription)
return
}
if let data = data {
print(String(decoding: data, as: UTF8.self))
}
}
task.resume()
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
fun main() {
val client = OkHttpClient()
var body: RequestBody? = null
val requestBuilder = Request.Builder()
.url("https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX")
.addHeader("Authorization", "Bearer YOUR_API_KEY")
val request = requestBuilder.method("GET", body).build()
client.newCall(request).execute().use { response ->
println(response.body?.string())
}
}
import 'package:http/http.dart' as http;
void main() async {
var payload = '';
final request = http.Request(
"GET",
Uri.parse("https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX"),
);
request.headers['Authorization'] = 'Bearer YOUR_API_KEY';
if (payload.isNotEmpty) {
request.headers['Content-Type'] = 'application/json';
request.body = payload;
}
final client = http.Client();
final response = await client.send(request);
print(await response.stream.bytesToString());
client.close();
}
use reqwest::blocking::Client;
use reqwest::Method;
use std::error::Error;
fn main() -> Result<(), Box> {
let method = Method::from_bytes(b"GET")?;
let client = Client::new();
let mut body = String::new();
let mut request = client
.request(method, "https://zylalabs.com/api/3993/portfolio+analytics+api/4759/latest+price?symbol=CMNZX")
.header("Authorization", "Bearer YOUR_API_KEY");
let response = request.send()?;
println!("{}", response.text()?);
Ok(())
}
Este punto final proporcionará tasas históricas sobre series temporales.
GET https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates
Tasas históricas - Características del Endpoint
| Objeto | Descripción |
|---|---|
symbol |
[Requerido] Mutual fund symbol |
from |
[Requerido] Date from YYYY-MM-DD |
to |
[Requerido] Date to YYYY-MM-DD |
{"success":true,"status":200,"symbol":"PTCOX","name":"Performance Trust Total Return Bd C","market":"Nasdaq - Delayed Quote \u2022 USD","prices":[{"Apr 9, 2024":"19.45"},{"Apr 8, 2024":"19.39"},{"Apr 5, 2024":"19.41"},{"Apr 4, 2024":"19.48"},{"Apr 3, 2024":"19.43"},{"Apr 2, 2024":"19.42"},{"Apr 1, 2024":"19.47"},{"Mar 28, 2024":"19.60"},{"Mar 27, 2024":"19.59"},{"Mar 26, 2024":"19.54"},{"Mar 25, 2024":"19.52"},{"Mar 22, 2024":"19.55"},{"Mar 21, 2024":"19.48"},{"Mar 20, 2024":"19.46"},{"Mar 19, 2024":"19.44"},{"Mar 18, 2024":"19.39"},{"Mar 15, 2024":"0.05 Dividend"},{"Mar 15, 2024":"19.42"},{"Mar 14, 2024":"19.46"},{"Mar 13, 2024":"19.57"},{"Mar 12, 2024":"19.59"},{"Mar 11, 2024":"19.64"},{"Mar 8, 2024":"19.64"},{"Mar 7, 2024":"19.64"},{"Mar 6, 2024":"19.62"},{"Mar 5, 2024":"19.58"}]}
curl --location --request GET 'https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10' --header 'Authorization: Bearer YOUR_API_KEY'
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
// Build the GET request
Request request = new Request.Builder()
.url("https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10")
.get() // Use GET method without a body
.addHeader("Authorization", "Bearer YOUR_API_KEY")
.build();
// Execute the request
try (Response response = client.newCall(request).execute()) {
if (response.isSuccessful()) {
// Handle the response in case of a successful request
String responseData = response.body().string();
System.out.println(responseData);
} else {
// Handle errors
System.out.println("Request error: " + response.code());
}
} catch (IOException e) {
// Handle I/O exceptions
e.printStackTrace();
}
}
}
var settings = {
"url": "https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10");
xhr.setRequestHeader("Authorization", "Bearer YOUR_API_KEY");
var axios = require('axios');
var config = {
method: 'GET',
url: 'https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10',
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
},
};
axios(config).then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer YOUR_API_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10"
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"
url = URI("https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::GET.new(url)
request["Authorization"] = "Bearer YOUR_API_KEY"
response = http.request(request)
puts response.read_body
http --follow --timeout 3600 GET 'https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10' \
Authorization:'Bearer YOUR_API_KEY'
var client = new RestClient("https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer YOUR_API_KEY");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
import Foundation
let url = URL(string: "https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Bearer YOUR_API_KEY", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { data, _, error in
if let error = error {
print(error.localizedDescription)
return
}
if let data = data {
print(String(decoding: data, as: UTF8.self))
}
}
task.resume()
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
fun main() {
val client = OkHttpClient()
var body: RequestBody? = null
val requestBuilder = Request.Builder()
.url("https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10")
.addHeader("Authorization", "Bearer YOUR_API_KEY")
val request = requestBuilder.method("GET", body).build()
client.newCall(request).execute().use { response ->
println(response.body?.string())
}
}
import 'package:http/http.dart' as http;
void main() async {
var payload = '';
final request = http.Request(
"GET",
Uri.parse("https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10"),
);
request.headers['Authorization'] = 'Bearer YOUR_API_KEY';
if (payload.isNotEmpty) {
request.headers['Content-Type'] = 'application/json';
request.body = payload;
}
final client = http.Client();
final response = await client.send(request);
print(await response.stream.bytesToString());
client.close();
}
use reqwest::blocking::Client;
use reqwest::Method;
use std::error::Error;
fn main() -> Result<(), Box> {
let method = Method::from_bytes(b"GET")?;
let client = Client::new();
let mut body = String::new();
let mut request = client
.request(method, "https://zylalabs.com/api/3993/portfolio+analytics+api/4760/historical+rates?symbol=PTCOX&from=2024-03-05&to=2024-04-10")
.header("Authorization", "Bearer YOUR_API_KEY");
let response = request.send()?;
println!("{}", response.text()?);
Ok(())
}
| Encabezado | Descripción |
|---|---|
Autorización
|
[Requerido] Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito. |
Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.
La API de Análisis de Cartera ofrece datos completos sobre fondos mutuos, que incluyen, entre otros, métricas de rendimiento (por ejemplo, rendimientos, volatilidad), razones de gastos, desgloses de asignación de activos, detalles del gerente del fondo, datos históricos del NAV (Valor Neto de Activos) y información sobre dividendos.
Los datos dentro de la API de Análisis de Portafolios se actualizan regularmente para garantizar la precisión y relevancia. Normalmente, las actualizaciones ocurren en tiempo real o en intervalos que van desde diarios hasta mensuales, dependiendo del conjunto de datos específico.
Sí, la API proporciona acceso a datos históricos, lo que permite a los usuarios recuperar métricas de rendimiento pasadas, valores de NAV y otra información relevante sobre fondos mutuos durante períodos de tiempo específicos.
Sí, pueden imponerse límites de tasa en el uso de la API para garantizar un acceso justo y un rendimiento óptimo para todos los usuarios. Los límites de tasa específicos y las políticas de estrangulación pueden variar según los términos de servicio del proveedor de la API.
Sí, la API normalmente emplea mecanismos de autenticación como claves de API o tokens OAuth para autenticar a los usuarios y controlar el acceso a los datos. También se pueden implementar mecanismos de autorización para restringir el acceso a ciertos puntos finales o conjuntos de datos basados en roles y permisos de usuario.
El endpoint "GET Supported Symbols" devuelve una lista de símbolos de fondos mutuos junto con sus nombres correspondientes. Estos datos ayudan a los usuarios a identificar qué fondos están disponibles para análisis a través de la API.
La respuesta del endpoint "GET Latest Price" generalmente incluye campos como el símbolo del fondo mutuo, el precio más reciente y posiblemente la marca de tiempo de la última actualización, proporcionando información esencial para el análisis en tiempo real.
Los datos de respuesta del endpoint "Obtener Tarifas Históricas" están organizados en un formato de series temporales, incluyendo normalmente campos como fecha, precio histórico y otras métricas relevantes, lo que permite a los usuarios analizar tendencias a lo largo del tiempo.
El endpoint "GET Latest Price" acepta parámetros como el símbolo del fondo mutuo, lo que permite a los usuarios especificar de cuál fondo desean recuperar el último precio para análisis.
El punto final "Obtener Tasas Históricas" proporciona datos de precios históricos, métricas de rendimiento y otras estadísticas relevantes para fondos mutuos durante períodos de tiempo especificados, lo que permite a los usuarios realizar evaluaciones de rendimiento exhaustivas.
Los usuarios pueden utilizar los datos devueltos integrándolos en aplicaciones de gestión de carteras, realizando análisis de rendimiento y tomando decisiones de inversión informadas basadas en las métricas más recientes e históricas proporcionadas por la API.
Los datos proporcionados por la API de Análisis de Cartera se obtienen de instituciones financieras de renombre y proveedores de datos del mercado, lo que garantiza un alto nivel de precisión y fiabilidad para el análisis de inversiones.
Los casos de uso típicos incluyen la construcción de aplicaciones de inversión, la realización de investigaciones de mercado y la posibilidad de que los usuarios seleccionen y analicen fondos mutuos específicos en función de sus estrategias y objetivos de inversión.
Zyla API Hub es como una gran tienda de APIs, donde puedes encontrar miles de ellas en un solo lugar. También ofrecemos soporte dedicado y monitoreo en tiempo real de todas las APIs. Una vez que te registres, puedes elegir qué APIs quieres usar. Solo recuerda que cada API necesita su propia suscripción. Pero si te suscribes a varias, usarás la misma clave para todas, lo que hace todo más fácil para ti.
Los precios se muestran en USD (dólar estadounidense), EUR (euro), CAD (dólar canadiense), AUD (dólar australiano) y GBP (libra esterlina). Aceptamos todas las principales tarjetas de débito y crédito. Nuestro sistema de pago utiliza la última tecnología de seguridad y está respaldado por Stripe, una de las compañías de pago más confiables del mundo. Si tienes algún problema para pagar con tarjeta, contáctanos en [email protected]
Además, si ya tienes una suscripción activa en cualquiera de estas monedas (USD, EUR, CAD, AUD, GBP), esa moneda se mantendrá para suscripciones posteriores. Puedes cambiar la moneda en cualquier momento siempre que no tengas suscripciones activas.
La moneda local que aparece en la página de precios se basa en el país de tu dirección IP y se proporciona solo como referencia. Los precios reales están en USD (dólar estadounidense). Cuando realices un pago, el cargo aparecerá en tu estado de cuenta en USD, incluso si ves el monto equivalente en tu moneda local en nuestro sitio web. Esto significa que no puedes pagar directamente en tu moneda local.
Ocasionalmente, un banco puede rechazar el cargo debido a sus configuraciones de protección contra fraude. Te sugerimos comunicarte con tu banco primero para verificar si están bloqueando nuestros cargos. También puedes acceder al Portal de Facturación y cambiar la tarjeta asociada para realizar el pago. Si esto no funciona y necesitas más ayuda, por favor contacta a nuestro equipo en [email protected]
Los precios se determinan mediante una suscripción recurrente mensual o anual, dependiendo del plan elegido.
Las llamadas a la API se descuentan de tu plan en base a solicitudes exitosas. Cada plan incluye una cantidad específica de llamadas que puedes realizar por mes. Solo las llamadas exitosas, indicadas por una respuesta con estado 200, se contarán en tu total. Esto asegura que las solicitudes fallidas o incompletas no afecten tu cuota mensual.
Zyla API Hub funciona con un sistema de suscripción mensual recurrente. Tu ciclo de facturación comenzará el día en que compres uno de los planes de pago, y se renovará el mismo día del mes siguiente. Así que recuerda cancelar tu suscripción antes si quieres evitar futuros cargos.
Para actualizar tu plan de suscripción actual, simplemente ve a la página de precios de la API y selecciona el plan al que deseas actualizarte. La actualización será instantánea, permitiéndote disfrutar inmediatamente de las funciones del nuevo plan. Ten en cuenta que las llamadas restantes de tu plan anterior no se transferirán al nuevo plan, por lo que debes considerar esto al actualizar. Se te cobrará el monto total del nuevo plan.
Para verificar cuántas llamadas a la API te quedan en el mes actual, revisa el campo 'X-Zyla-API-Calls-Monthly-Remaining' en el encabezado de la respuesta. Por ejemplo, si tu plan permite 1,000 solicitudes por mes y has usado 100, este campo mostrará 900 llamadas restantes.
Para ver el número máximo de solicitudes a la API que permite tu plan, revisa el encabezado de la respuesta 'X-Zyla-RateLimit-Limit'. Por ejemplo, si tu plan incluye 1,000 solicitudes por mes, este encabezado mostrará 1,000.
El encabezado 'X-Zyla-RateLimit-Reset' muestra el número de segundos hasta que tu límite se restablezca. Esto te indica cuándo tu conteo de solicitudes se reiniciará. Por ejemplo, si muestra 3,600, significa que faltan 3,600 segundos para que el límite se restablezca.
Sí, puedes cancelar tu plan en cualquier momento desde tu cuenta, seleccionando la opción de cancelación en la página de Facturación. Ten en cuenta que las actualizaciones, degradaciones y cancelaciones tienen efecto inmediato. Además, al cancelar ya no tendrás acceso al servicio, incluso si te quedaban llamadas en tu cuota.
Puedes contactarnos a través de nuestro canal de chat para recibir asistencia inmediata. Siempre estamos en línea de 8 a. m. a 5 p. m. (EST). Si nos contactas fuera de ese horario, te responderemos lo antes posible. Además, puedes escribirnos por correo electrónico a [email protected]
Para darte la oportunidad de probar nuestras APIs sin compromiso, ofrecemos una prueba gratuita de 7 días que te permite realizar hasta 50 llamadas a la API sin costo. Esta prueba solo se puede usar una vez, por lo que recomendamos aplicarla a la API que más te interese. Aunque la mayoría de nuestras APIs ofrecen prueba gratuita, algunas pueden no hacerlo. La prueba finaliza después de 7 días o cuando realices 50 solicitudes, lo que ocurra primero. Si alcanzas el límite de 50 solicitudes durante la prueba, deberás "Iniciar tu Plan de Pago" para continuar haciendo solicitudes. Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios. Alternativamente, si no cancelas tu suscripción antes del día 7, tu prueba gratuita finalizará y tu plan se cobrará automáticamente, otorgándote acceso a todas las llamadas a la API especificadas en tu plan. Ten esto en cuenta para evitar cargos no deseados.
Después de 7 días, se te cobrará el monto total del plan al que estabas suscrito durante la prueba. Por lo tanto, es importante cancelar antes de que finalice el periodo de prueba. No se aceptan solicitudes de reembolso por olvidar cancelar a tiempo.
Cuando te suscribes a una prueba gratuita de una API, puedes realizar hasta 50 llamadas. Si deseas realizar más llamadas después de este límite, la API te pedirá que "Inicies tu Plan de Pago". Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios.
Las Órdenes de Pago se procesan entre el día 20 y el 30 de cada mes. Si envías tu solicitud antes del día 20, tu pago será procesado dentro de ese período.
Nivel de Servicio:
100%
Tiempo de Respuesta:
360ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
5.853ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
506ms
Nivel de Servicio:
86%
Tiempo de Respuesta:
469ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
568ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
5.450ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.749ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
306ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.441ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
432ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
0ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
230ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
295ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
0ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
20.003ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
584ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
794ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
807ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.103ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
700ms
Encuentra, Conecta y Gestiona APIs usando una sola cuenta con una sola clave API.
¿Ya estás registrado? Iniciá sesión