Monte Carlo Auction Simulation
curl --request POST \
--url https://api.fincept.in/quantlib/economics/auctions/simulate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"auction_type": "first_price",
"n_bidders": 3,
"n_simulations": 10000,
"value_dist": "uniform",
"seed": 42
}
'import requests
url = "https://api.fincept.in/quantlib/economics/auctions/simulate"
payload = {
"auction_type": "first_price",
"n_bidders": 3,
"n_simulations": 10000,
"value_dist": "uniform",
"seed": 42
}
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({
auction_type: 'first_price',
n_bidders: 3,
n_simulations: 10000,
value_dist: 'uniform',
seed: 42
})
};
fetch('https://api.fincept.in/quantlib/economics/auctions/simulate', 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/economics/auctions/simulate",
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([
'auction_type' => 'first_price',
'n_bidders' => 3,
'n_simulations' => 10000,
'value_dist' => 'uniform',
'seed' => 42
]),
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/economics/auctions/simulate"
payload := strings.NewReader("{\n \"auction_type\": \"first_price\",\n \"n_bidders\": 3,\n \"n_simulations\": 10000,\n \"value_dist\": \"uniform\",\n \"seed\": 42\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/economics/auctions/simulate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"auction_type\": \"first_price\",\n \"n_bidders\": 3,\n \"n_simulations\": 10000,\n \"value_dist\": \"uniform\",\n \"seed\": 42\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/economics/auctions/simulate")
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 \"auction_type\": \"first_price\",\n \"n_bidders\": 3,\n \"n_simulations\": 10000,\n \"value_dist\": \"uniform\",\n \"seed\": 42\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"auction_type": "first_price",
"n_simulations": 10000,
"average_revenue": 0.5002,
"std_revenue": 0.1923
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{
"loc": [
"body",
"n_simulations"
],
"msg": "ensure this value is greater than 0",
"type": "value_error.number.not_gt"
}
]
}quantlib-economics
Monte Carlo Auction Simulation
Run large-scale Monte Carlo simulation of auctions to estimate average revenue and variance. Randomly draws valuations from specified distribution (default: uniform), runs auctions with equilibrium bidding, and aggregates results. Returns mean and standard deviation of revenue across simulations. Use for empirical revenue analysis, validating theoretical predictions, and risk assessment. [Tier: STANDARD, Credits: 2]
POST
/
quantlib
/
economics
/
auctions
/
simulate
Monte Carlo Auction Simulation
curl --request POST \
--url https://api.fincept.in/quantlib/economics/auctions/simulate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"auction_type": "first_price",
"n_bidders": 3,
"n_simulations": 10000,
"value_dist": "uniform",
"seed": 42
}
'import requests
url = "https://api.fincept.in/quantlib/economics/auctions/simulate"
payload = {
"auction_type": "first_price",
"n_bidders": 3,
"n_simulations": 10000,
"value_dist": "uniform",
"seed": 42
}
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({
auction_type: 'first_price',
n_bidders: 3,
n_simulations: 10000,
value_dist: 'uniform',
seed: 42
})
};
fetch('https://api.fincept.in/quantlib/economics/auctions/simulate', 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/economics/auctions/simulate",
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([
'auction_type' => 'first_price',
'n_bidders' => 3,
'n_simulations' => 10000,
'value_dist' => 'uniform',
'seed' => 42
]),
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/economics/auctions/simulate"
payload := strings.NewReader("{\n \"auction_type\": \"first_price\",\n \"n_bidders\": 3,\n \"n_simulations\": 10000,\n \"value_dist\": \"uniform\",\n \"seed\": 42\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/economics/auctions/simulate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"auction_type\": \"first_price\",\n \"n_bidders\": 3,\n \"n_simulations\": 10000,\n \"value_dist\": \"uniform\",\n \"seed\": 42\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/economics/auctions/simulate")
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 \"auction_type\": \"first_price\",\n \"n_bidders\": 3,\n \"n_simulations\": 10000,\n \"value_dist\": \"uniform\",\n \"seed\": 42\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"auction_type": "first_price",
"n_simulations": 10000,
"average_revenue": 0.5002,
"std_revenue": 0.1923
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{
"loc": [
"body",
"n_simulations"
],
"msg": "ensure this value is greater than 0",
"type": "value_error.number.not_gt"
}
]
}Authorizations
API key for authentication. Get your key at https://api.fincept.in/auth/register
Body
application/json
Type of auction mechanism
Available options:
first_price, second_price, all_pay Example:
"first_price"
Number of bidders per auction
Required range:
x >= 2Example:
3
Number of auction simulations to run
Required range:
x >= 1Example:
10000
Distribution for bidder valuations
Available options:
uniform Example:
"uniform"
Random seed for reproducibility
Example:
42
⌘I
