Calculate Historical VaR
curl --request POST \
--url https://api.fincept.in/quantlib/risk/var/historical \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"returns": [
-0.025,
0.018,
-0.012,
0.031,
-0.008,
0.022,
-0.015,
0.009,
-0.005,
0.014
],
"confidence": 0.95,
"portfolio_value": 5000000
}
'import requests
url = "https://api.fincept.in/quantlib/risk/var/historical"
payload = {
"returns": [-0.025, 0.018, -0.012, 0.031, -0.008, 0.022, -0.015, 0.009, -0.005, 0.014],
"confidence": 0.95,
"portfolio_value": 5000000
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
returns: [-0.025, 0.018, -0.012, 0.031, -0.008, 0.022, -0.015, 0.009, -0.005, 0.014],
confidence: 0.95,
portfolio_value: 5000000
})
};
fetch('https://api.fincept.in/quantlib/risk/var/historical', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fincept.in/quantlib/risk/var/historical",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'returns' => [
-0.025,
0.018,
-0.012,
0.031,
-0.008,
0.022,
-0.015,
0.009,
-0.005,
0.014
],
'confidence' => 0.95,
'portfolio_value' => 5000000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fincept.in/quantlib/risk/var/historical"
payload := strings.NewReader("{\n \"returns\": [\n -0.025,\n 0.018,\n -0.012,\n 0.031,\n -0.008,\n 0.022,\n -0.015,\n 0.009,\n -0.005,\n 0.014\n ],\n \"confidence\": 0.95,\n \"portfolio_value\": 5000000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fincept.in/quantlib/risk/var/historical")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"returns\": [\n -0.025,\n 0.018,\n -0.012,\n 0.031,\n -0.008,\n 0.022,\n -0.015,\n 0.009,\n -0.005,\n 0.014\n ],\n \"confidence\": 0.95,\n \"portfolio_value\": 5000000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/risk/var/historical")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"returns\": [\n -0.025,\n 0.018,\n -0.012,\n 0.031,\n -0.008,\n 0.022,\n -0.015,\n 0.009,\n -0.005,\n 0.014\n ],\n \"confidence\": 0.95,\n \"portfolio_value\": 5000000\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"var": 87500,
"confidence": 0.95
}
}{
"detail": "Invalid API key"
}{
"detail": "Insufficient credits. This endpoint requires 5 credits."
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}quantlib-risk
Calculate Historical VaR
Calculates Value at Risk using the historical simulation method. This approach uses actual historical return data to estimate VaR without assuming any distribution. More accurate for non-normal distributions and captures tail risk better than parametric methods. Requires historical return time series data. [Tier: PRO, Credits: 5]
POST
/
quantlib
/
risk
/
var
/
historical
Calculate Historical VaR
curl --request POST \
--url https://api.fincept.in/quantlib/risk/var/historical \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"returns": [
-0.025,
0.018,
-0.012,
0.031,
-0.008,
0.022,
-0.015,
0.009,
-0.005,
0.014
],
"confidence": 0.95,
"portfolio_value": 5000000
}
'import requests
url = "https://api.fincept.in/quantlib/risk/var/historical"
payload = {
"returns": [-0.025, 0.018, -0.012, 0.031, -0.008, 0.022, -0.015, 0.009, -0.005, 0.014],
"confidence": 0.95,
"portfolio_value": 5000000
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
returns: [-0.025, 0.018, -0.012, 0.031, -0.008, 0.022, -0.015, 0.009, -0.005, 0.014],
confidence: 0.95,
portfolio_value: 5000000
})
};
fetch('https://api.fincept.in/quantlib/risk/var/historical', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fincept.in/quantlib/risk/var/historical",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'returns' => [
-0.025,
0.018,
-0.012,
0.031,
-0.008,
0.022,
-0.015,
0.009,
-0.005,
0.014
],
'confidence' => 0.95,
'portfolio_value' => 5000000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fincept.in/quantlib/risk/var/historical"
payload := strings.NewReader("{\n \"returns\": [\n -0.025,\n 0.018,\n -0.012,\n 0.031,\n -0.008,\n 0.022,\n -0.015,\n 0.009,\n -0.005,\n 0.014\n ],\n \"confidence\": 0.95,\n \"portfolio_value\": 5000000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fincept.in/quantlib/risk/var/historical")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"returns\": [\n -0.025,\n 0.018,\n -0.012,\n 0.031,\n -0.008,\n 0.022,\n -0.015,\n 0.009,\n -0.005,\n 0.014\n ],\n \"confidence\": 0.95,\n \"portfolio_value\": 5000000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/risk/var/historical")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"returns\": [\n -0.025,\n 0.018,\n -0.012,\n 0.031,\n -0.008,\n 0.022,\n -0.015,\n 0.009,\n -0.005,\n 0.014\n ],\n \"confidence\": 0.95,\n \"portfolio_value\": 5000000\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"var": 87500,
"confidence": 0.95
}
}{
"detail": "Invalid API key"
}{
"detail": "Insufficient credits. This endpoint requires 5 credits."
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
API key for authentication. Get your key at https://api.fincept.in/auth/register
Body
application/json
Historical returns as decimals (e.g., 0.01 for 1% return)
Minimum array length:
100Example:
[-0.03, 0.02, -0.01, 0.015, -0.005]
Confidence level for VaR calculation
Required range:
0.5 <= x <= 0.999Example:
0.99
Total portfolio value in currency units
Example:
1000000
⌘I
