Calculate Convexity Adjustment
curl --request POST \
--url https://api.fincept.in/quantlib/solver/finance/convexity-adjustment \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"forward_rate": 0.03,
"volatility": 0.01,
"t1": 1,
"t2": 1.25,
"model": "simple",
"mean_reversion": 0.03
}
'import requests
url = "https://api.fincept.in/quantlib/solver/finance/convexity-adjustment"
payload = {
"forward_rate": 0.03,
"volatility": 0.01,
"t1": 1,
"t2": 1.25,
"model": "simple",
"mean_reversion": 0.03
}
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({
forward_rate: 0.03,
volatility: 0.01,
t1: 1,
t2: 1.25,
model: 'simple',
mean_reversion: 0.03
})
};
fetch('https://api.fincept.in/quantlib/solver/finance/convexity-adjustment', 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/solver/finance/convexity-adjustment",
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([
'forward_rate' => 0.03,
'volatility' => 0.01,
't1' => 1,
't2' => 1.25,
'model' => 'simple',
'mean_reversion' => 0.03
]),
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/solver/finance/convexity-adjustment"
payload := strings.NewReader("{\n \"forward_rate\": 0.03,\n \"volatility\": 0.01,\n \"t1\": 1,\n \"t2\": 1.25,\n \"model\": \"simple\",\n \"mean_reversion\": 0.03\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/solver/finance/convexity-adjustment")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"forward_rate\": 0.03,\n \"volatility\": 0.01,\n \"t1\": 1,\n \"t2\": 1.25,\n \"model\": \"simple\",\n \"mean_reversion\": 0.03\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/solver/finance/convexity-adjustment")
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 \"forward_rate\": 0.03,\n \"volatility\": 0.01,\n \"t1\": 1,\n \"t2\": 1.25,\n \"model\": \"simple\",\n \"mean_reversion\": 0.03\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"adjustment": 0.0000125,
"model": "simple"
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{}
]
}quantlib-solver
Calculate Convexity Adjustment
Calculate the convexity adjustment for converting between forward rates and futures rates. Due to daily settlement of futures contracts (marking to market), futures rates differ from forward rates by a convexity adjustment. This is particularly important for Eurodollar futures and other interest rate futures. Supports both simple and Hull-White mean-reverting models. [Tier: STANDARD, Credits: 2]
POST
/
quantlib
/
solver
/
finance
/
convexity-adjustment
Calculate Convexity Adjustment
curl --request POST \
--url https://api.fincept.in/quantlib/solver/finance/convexity-adjustment \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"forward_rate": 0.03,
"volatility": 0.01,
"t1": 1,
"t2": 1.25,
"model": "simple",
"mean_reversion": 0.03
}
'import requests
url = "https://api.fincept.in/quantlib/solver/finance/convexity-adjustment"
payload = {
"forward_rate": 0.03,
"volatility": 0.01,
"t1": 1,
"t2": 1.25,
"model": "simple",
"mean_reversion": 0.03
}
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({
forward_rate: 0.03,
volatility: 0.01,
t1: 1,
t2: 1.25,
model: 'simple',
mean_reversion: 0.03
})
};
fetch('https://api.fincept.in/quantlib/solver/finance/convexity-adjustment', 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/solver/finance/convexity-adjustment",
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([
'forward_rate' => 0.03,
'volatility' => 0.01,
't1' => 1,
't2' => 1.25,
'model' => 'simple',
'mean_reversion' => 0.03
]),
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/solver/finance/convexity-adjustment"
payload := strings.NewReader("{\n \"forward_rate\": 0.03,\n \"volatility\": 0.01,\n \"t1\": 1,\n \"t2\": 1.25,\n \"model\": \"simple\",\n \"mean_reversion\": 0.03\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/solver/finance/convexity-adjustment")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"forward_rate\": 0.03,\n \"volatility\": 0.01,\n \"t1\": 1,\n \"t2\": 1.25,\n \"model\": \"simple\",\n \"mean_reversion\": 0.03\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/solver/finance/convexity-adjustment")
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 \"forward_rate\": 0.03,\n \"volatility\": 0.01,\n \"t1\": 1,\n \"t2\": 1.25,\n \"model\": \"simple\",\n \"mean_reversion\": 0.03\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"adjustment": 0.0000125,
"model": "simple"
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{}
]
}Authorizations
API key for authentication. Get your key at https://api.fincept.in/auth/register
Body
application/json
The forward rate as a decimal
Example:
0.03
Interest rate volatility as a decimal
Example:
0.01
Time to futures expiry in years
Example:
1
Time to underlying forward end in years
Example:
1.25
Convexity adjustment model to use
Available options:
simple, hull_white Example:
"simple"
Mean reversion parameter (used in Hull-White model)
Example:
0.03
⌘I
