Calculate Forward Rate from Discount Factors
curl --request POST \
--url https://api.fincept.in/quantlib/solver/finance/forward-rate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"df1": 0.95,
"df2": 0.9,
"t1": 1,
"t2": 2,
"compounding": "simple"
}
'import requests
url = "https://api.fincept.in/quantlib/solver/finance/forward-rate"
payload = {
"df1": 0.95,
"df2": 0.9,
"t1": 1,
"t2": 2,
"compounding": "simple"
}
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({df1: 0.95, df2: 0.9, t1: 1, t2: 2, compounding: 'simple'})
};
fetch('https://api.fincept.in/quantlib/solver/finance/forward-rate', 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/forward-rate",
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([
'df1' => 0.95,
'df2' => 0.9,
't1' => 1,
't2' => 2,
'compounding' => 'simple'
]),
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/forward-rate"
payload := strings.NewReader("{\n \"df1\": 0.95,\n \"df2\": 0.9,\n \"t1\": 1,\n \"t2\": 2,\n \"compounding\": \"simple\"\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/forward-rate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"df1\": 0.95,\n \"df2\": 0.9,\n \"t1\": 1,\n \"t2\": 2,\n \"compounding\": \"simple\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/solver/finance/forward-rate")
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 \"df1\": 0.95,\n \"df2\": 0.9,\n \"t1\": 1,\n \"t2\": 2,\n \"compounding\": \"simple\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"forward_rate": 0.0556
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{}
]
}quantlib-solver
Calculate Forward Rate from Discount Factors
Calculate the forward interest rate between two future time periods using their discount factors. Forward rates represent the implied future interest rate consistent with the current term structure. Used for FRA pricing, forward curve construction, and understanding market expectations of future rates. The calculation ensures no arbitrage between borrowing/lending at different maturities. [Tier: STANDARD, Credits: 2]
POST
/
quantlib
/
solver
/
finance
/
forward-rate
Calculate Forward Rate from Discount Factors
curl --request POST \
--url https://api.fincept.in/quantlib/solver/finance/forward-rate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"df1": 0.95,
"df2": 0.9,
"t1": 1,
"t2": 2,
"compounding": "simple"
}
'import requests
url = "https://api.fincept.in/quantlib/solver/finance/forward-rate"
payload = {
"df1": 0.95,
"df2": 0.9,
"t1": 1,
"t2": 2,
"compounding": "simple"
}
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({df1: 0.95, df2: 0.9, t1: 1, t2: 2, compounding: 'simple'})
};
fetch('https://api.fincept.in/quantlib/solver/finance/forward-rate', 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/forward-rate",
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([
'df1' => 0.95,
'df2' => 0.9,
't1' => 1,
't2' => 2,
'compounding' => 'simple'
]),
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/forward-rate"
payload := strings.NewReader("{\n \"df1\": 0.95,\n \"df2\": 0.9,\n \"t1\": 1,\n \"t2\": 2,\n \"compounding\": \"simple\"\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/forward-rate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"df1\": 0.95,\n \"df2\": 0.9,\n \"t1\": 1,\n \"t2\": 2,\n \"compounding\": \"simple\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/solver/finance/forward-rate")
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 \"df1\": 0.95,\n \"df2\": 0.9,\n \"t1\": 1,\n \"t2\": 2,\n \"compounding\": \"simple\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"forward_rate": 0.0556
}
}{
"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
Discount factor at time t1
Example:
0.95
Discount factor at time t2
Example:
0.9
Start time in years
Example:
1
End time in years
Example:
2
Compounding convention for the forward rate
Available options:
simple, continuous, annual Example:
"simple"
⌘I
