blog-cover-image

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.