
Citadel Securities Quant Interview Questions with Solutions
In this comprehensive guide, we'll solve and deeply explain four real Citadel Securities quant interview questions. You'll find clear breakdowns of concepts, step-by-step solutions, and code implementations in Python. Let's dive into the types of problems you might encounter and master the underlying principles Citadel is testing for.
An American option is a financial derivative that can be exercised at any point up to and including its expiration date. This flexibility makes pricing American options more complex than European options, which can only be exercised at expiration. The standard method for pricing such options is backward induction using a binomial tree.
import numpy as np
def american_option_binomial(S, K, T, r, sigma, N, option_type='put'):
"""
Price an American option using a binomial tree.
S: initial stock price
K: strike price
T: time to maturity (years)
r: risk-free rate
sigma: volatility
N: number of time steps
option_type: 'put' or 'call'
"""
dt = T / N
u = np.exp(sigma * np.sqrt(dt))
d = np.exp(-sigma * np.sqrt(dt))
p = (np.exp(r * dt) - d) / (u - d)
# Initialize asset prices at maturity
asset_prices = np.array([S * (u ** j) * (d ** (N - j)) for j in range(N + 1)])
# Option values at maturity
if option_type == 'put':
option_values = np.maximum(K - asset_prices, 0)
else:
option_values = np.maximum(asset_prices - K, 0)
# Backward induction
for i in range(N - 1, -1, -1):
asset_prices = asset_prices[:i+1] / u
option_values = np.maximum(
(np.exp(-r * dt) * (p * option_values[1:i+2] + (1 - p) * option_values[0:i+1])),
K - asset_prices if option_type == 'put' else asset_prices - K
)
return option_values[0]
# Example usage:
price = american_option_binomial(S=100, K=100, T=1, r=0.05, sigma=0.2, N=100, option_type='put')
print(f"American Put Option Price: {price:.4f}")
Explanation
- We create a binomial tree where each node represents a possible price of the underlying asset.
- At each final node (maturity), we calculate the payoff of the option.
- We then move backward in time, at each node calculating the value as the maximum between immediate exercise and the discounted expected future value, accounting for the possibility of early exercise.
- This process continues until we arrive at the root, which gives the present value of the American option.
2. What Happens to R2 if You Double Data in Regression? What About t-value?
This question tests your understanding of statistical measures in linear regression and how they respond to changes in sample size. Let’s explore both R-squared (\(R^2\)) and the t-value for regression coefficients when you double your dataset.