IMC(International Market Centers)量化研究 OA 注重數學和演算法。本文分享最新真題,oavoservice 助你拿到 Offer。
📋 題目一:期權定價
實作 Black-Scholes 期權定價模型。
import math
from scipy.stats import norm
def black_scholes(S, K, T, r, sigma, option_type='call'):
"""
S: 當前股價
K: 行權價
T: 到期時間(年)
r: 無風險利率
sigma: 波動率
"""
d1 = (math.log(S / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * math.sqrt(T))
d2 = d1 - sigma * math.sqrt(T)
if option_type == 'call':
price = S * norm.cdf(d1) - K * math.exp(-r * T) * norm.cdf(d2)
else: # put
price = K * math.exp(-r * T) * norm.cdf(-d2) - S * norm.cdf(-d1)
return price
📋 題目二:市場微觀結構
實作訂單簿(Order Book)資料結構。
from collections import defaultdict
import heapq
class OrderBook:
def __init__(self):
self.bids = [] # 最大堆(買單)
self.asks = [] # 最小堆(賣單)
self.orders = {}
def add_order(self, order_id, side, price, quantity):
order = {'id': order_id, 'price': price, 'qty': quantity}
self.orders[order_id] = order
if side == 'buy':
heapq.heappush(self.bids, (-price, order_id))
else:
heapq.heappush(self.asks, (price, order_id))
def cancel_order(self, order_id):
if order_id in self.orders:
del self.orders[order_id]
def get_best_bid(self):
while self.bids and self.bids[0][1] not in self.orders:
heapq.heappop(self.bids)
return -self.bids[0][0] if self.bids else None
def get_best_ask(self):
while self.asks and self.asks[0][1] not in self.orders:
heapq.heappop(self.asks)
return self.asks[0][0] if self.asks else None
📋 題目三:統計套利
計算兩個資產的協整關係。
import numpy as np
def calculate_cointegration(prices1, prices2):
# 計算價差
spread = np.array(prices1) - np.array(prices2)
# 計算均值和標準差
mean_spread = np.mean(spread)
std_spread = np.std(spread)
# Z-score
z_scores = (spread - mean_spread) / std_spread
return z_scores
💼 oavoservice 助力
量化知識 - 金融數學和統計 演算法實作 - 高效能程式碼 資料結構 - 訂單簿和時間序列 面試策略 - 量化崗位準備
聯繫 oavoservice,專業量化 OA 輔助!
標籤: #IMC #量化 #QR #期權定價 #訂單簿 #OA代做 #面試輔助 #一畝三分地
需要面試真題? 立刻聯繫微信 Coding0201,獲得真題。