curl --request POST \
--url https://api.fincept.in/quantlib/models/merton/price \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"S": 100,
"K": 105,
"T": 1,
"r": 0.05,
"sigma": 0.2,
"lambda_jump": 1.5,
"mu_jump": -0.05,
"sigma_jump": 0.15,
"q": 0.02
}
'import requests
url = "https://api.fincept.in/quantlib/models/merton/price"
payload = {
"S": 100,
"K": 105,
"T": 1,
"r": 0.05,
"sigma": 0.2,
"lambda_jump": 1.5,
"mu_jump": -0.05,
"sigma_jump": 0.15,
"q": 0.02
}
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({
S: 100,
K: 105,
T: 1,
r: 0.05,
sigma: 0.2,
lambda_jump: 1.5,
mu_jump: -0.05,
sigma_jump: 0.15,
q: 0.02
})
};
fetch('https://api.fincept.in/quantlib/models/merton/price', 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/models/merton/price",
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([
'S' => 100,
'K' => 105,
'T' => 1,
'r' => 0.05,
'sigma' => 0.2,
'lambda_jump' => 1.5,
'mu_jump' => -0.05,
'sigma_jump' => 0.15,
'q' => 0.02
]),
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/models/merton/price"
payload := strings.NewReader("{\n \"S\": 100,\n \"K\": 105,\n \"T\": 1,\n \"r\": 0.05,\n \"sigma\": 0.2,\n \"lambda_jump\": 1.5,\n \"mu_jump\": -0.05,\n \"sigma_jump\": 0.15,\n \"q\": 0.02\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/models/merton/price")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"S\": 100,\n \"K\": 105,\n \"T\": 1,\n \"r\": 0.05,\n \"sigma\": 0.2,\n \"lambda_jump\": 1.5,\n \"mu_jump\": -0.05,\n \"sigma_jump\": 0.15,\n \"q\": 0.02\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/models/merton/price")
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 \"S\": 100,\n \"K\": 105,\n \"T\": 1,\n \"r\": 0.05,\n \"sigma\": 0.2,\n \"lambda_jump\": 1.5,\n \"mu_jump\": -0.05,\n \"sigma_jump\": 0.15,\n \"q\": 0.02\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"merton_call_price": 6.42
}
}{
"detail": "Invalid API key"
}{
"detail": "Insufficient credits. This endpoint requires 5 credits. Current balance: 2 credits."
}{
"detail": [
{
"loc": [
"body",
"kappa"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}Merton Jump-Diffusion Option Pricing
Price European call options using the Merton jump-diffusion model. This model extends Black-Scholes by adding random jumps to account for sudden price movements (earnings announcements, market crashes, etc.). Useful for pricing options on stocks with discontinuous price behavior and understanding jump risk premiums. [Tier: ENTERPRISE, Credits: 10]
curl --request POST \
--url https://api.fincept.in/quantlib/models/merton/price \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"S": 100,
"K": 105,
"T": 1,
"r": 0.05,
"sigma": 0.2,
"lambda_jump": 1.5,
"mu_jump": -0.05,
"sigma_jump": 0.15,
"q": 0.02
}
'import requests
url = "https://api.fincept.in/quantlib/models/merton/price"
payload = {
"S": 100,
"K": 105,
"T": 1,
"r": 0.05,
"sigma": 0.2,
"lambda_jump": 1.5,
"mu_jump": -0.05,
"sigma_jump": 0.15,
"q": 0.02
}
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({
S: 100,
K: 105,
T: 1,
r: 0.05,
sigma: 0.2,
lambda_jump: 1.5,
mu_jump: -0.05,
sigma_jump: 0.15,
q: 0.02
})
};
fetch('https://api.fincept.in/quantlib/models/merton/price', 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/models/merton/price",
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([
'S' => 100,
'K' => 105,
'T' => 1,
'r' => 0.05,
'sigma' => 0.2,
'lambda_jump' => 1.5,
'mu_jump' => -0.05,
'sigma_jump' => 0.15,
'q' => 0.02
]),
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/models/merton/price"
payload := strings.NewReader("{\n \"S\": 100,\n \"K\": 105,\n \"T\": 1,\n \"r\": 0.05,\n \"sigma\": 0.2,\n \"lambda_jump\": 1.5,\n \"mu_jump\": -0.05,\n \"sigma_jump\": 0.15,\n \"q\": 0.02\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/models/merton/price")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"S\": 100,\n \"K\": 105,\n \"T\": 1,\n \"r\": 0.05,\n \"sigma\": 0.2,\n \"lambda_jump\": 1.5,\n \"mu_jump\": -0.05,\n \"sigma_jump\": 0.15,\n \"q\": 0.02\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/models/merton/price")
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 \"S\": 100,\n \"K\": 105,\n \"T\": 1,\n \"r\": 0.05,\n \"sigma\": 0.2,\n \"lambda_jump\": 1.5,\n \"mu_jump\": -0.05,\n \"sigma_jump\": 0.15,\n \"q\": 0.02\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"merton_call_price": 6.42
}
}{
"detail": "Invalid API key"
}{
"detail": "Insufficient credits. This endpoint requires 5 credits. Current balance: 2 credits."
}{
"detail": [
{
"loc": [
"body",
"kappa"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}Authorizations
API key for authentication. Get your key at https://api.fincept.in/auth/register
Body
Current stock price
Strike price
Time to maturity in years
Risk-free rate (annualized)
Diffusion volatility (continuous part, annualized)
Jump intensity (average number of jumps per year, e.g., 2 = 2 jumps/year)
Mean log-jump size (e.g., -0.1 for average 10% down jumps)
Jump size volatility (standard deviation of log-jump)
Dividend yield (annualized)
