| fpa_bid_function | R Documentation |
Computes the symmetric equilibrium bid function in quantile space,
\beta(u) = Q(u) - m(u) with the markup solving
m'(u) = q(u) - m(u)/\psi(u), m(u_0) = 0 (Milgrom and Weber 1982;
Doosti 2026a). Under independence \psi(u) = u/(n-1) and this is the
Guerre–Perrigne–Vuong bid function
\beta(v) = v - \int_0^v F(t)^{n-1}dt / F(v)^{n-1}. A reserve price at
quantile 'p0' sets m(p_0) = 0. For CRRA bidders with utility
U(t) = t^{1-\eta} the first-order condition is
v = b + (1-\eta)\psi(u) q(u) (Guerre, Perrigne and Vuong 2009), so the
markup solves the same ODE with \psi replaced by (1-\eta)\psi;
under independence this gives Zincenko's (2024) risk-averse bid function
\beta(v) = e_1 \int_0^v x F(x)^{e_2} f(x)\,dx / F(v)^{e_1},
e_1 = (n-1)/(1-\eta), e_2 = (n+\eta-2)/(1-\eta).
fpa_bid_function(
Q,
q = NULL,
n,
family = "independence",
theta = NULL,
p0 = 0,
eta = 0,
U = fpa_ugrid()
)
Q |
quantile function of private values (a function of 'u'). |
q |
quantile density of private values (a function of 'u'); if 'NULL' it is obtained by numerical differentiation of 'Q'. |
n |
number of bidders. |
family |
'"independence"', '"clayton"', '"gumbel"' or '"frank"'. |
theta |
copula parameter (ignored for independence). |
p0 |
screening quantile of the reserve price (default 0, no reserve). |
eta |
CRRA risk-aversion parameter in |
U |
quantile grid; see [fpa_ugrid()]. |
a list with 'U', 'bid' (\beta(U)), 'value' (Q(U)),
'markup' and a function 'beta(v)' interpolating the bid at value 'v'.
bf <- fpa_bid_function(Q = function(u) qgamma(u, 2, 10),
q = function(u) 1 / dgamma(qgamma(u, 2, 10), 2, 10), n = 5)
bf$beta(c(0.1, 0.2, 0.5))
# compare with the direct integral form for IPV
v <- 0.2; v - integrate(function(t) pgamma(t, 2, 10)^4, 0, v)$value / pgamma(v, 2, 10)^4
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.