← 返回部落格列表 BlackRock OA 題型全梳理|投資組合 + SQL + Python 真題 OA輔助 2026
BlackRock

BlackRock OA 題型全梳理|投資組合 + SQL + Python 真題 OA輔助 2026

2026-05-23

BlackRock 2026 春招 / 暑期招聘的 OA 主要由 HirePro / HackerRank 投放,崗位差異決定題型權重。本篇按 Investment Analyst / Quant / Aladdin Engineer 三檔崗位匯總題型分布,配上真題級 Python / SQL 解法,最後給出 OA輔助 的接入方式。

BlackRock OA 概覽(2026)

維度 詳情
投放平台 HirePro(Investment)/ HackerRank(Aladdin)
時長 60–90 分鐘
題量 3–5 題(含 1 道情境題)
主考方向 投資組合、SQL、Python、機率
評分 自動評分 + 部分主觀打分
通過率 社區反饋約 35%

主線一:Portfolio Analytics 真題

題目描述

給定一個組合每日收益序列 returns[]、無風險收益率 rf。計算 Sharpe RatioMax DrawdownInformation Ratio(相對基準 bench[])。

Python 解法

import math

def portfolio_metrics(returns, bench, rf=0.0):
    n = len(returns)
    avg = sum(returns) / n
    var = sum((r - avg) ** 2 for r in returns) / (n - 1)
    sd = math.sqrt(var)
    sharpe = (avg - rf) / sd * math.sqrt(252)

    peak = -float('inf')
    cum = 1.0
    mdd = 0.0
    for r in returns:
        cum *= (1 + r)
        peak = max(peak, cum)
        mdd = max(mdd, (peak - cum) / peak)

    active = [a - b for a, b in zip(returns, bench)]
    avg_a = sum(active) / n
    sd_a = math.sqrt(sum((x - avg_a) ** 2 for x in active) / (n - 1))
    ir = avg_a / sd_a * math.sqrt(252) if sd_a else 0
    return sharpe, mdd, ir

複雜度:O(n)。隱藏 case 常考「單點收益 = -1」造成 cum=0 的除零陷阱。

主線二:投資組合 SQL

題目描述

給定 holdings(account_id, asset_id, weight)prices(asset_id, date, close)。計算每個帳戶 每日組合價值 + 過去 30 天波動率

SQL 解法(CTE + 視窗)

WITH port_value AS (
  SELECT h.account_id, p.date,
         SUM(h.weight * p.close) AS value
  FROM holdings h
  JOIN prices p ON h.asset_id = p.asset_id
  GROUP BY h.account_id, p.date
),
daily AS (
  SELECT account_id, date,
         value,
         (value / LAG(value) OVER (PARTITION BY account_id ORDER BY date)) - 1 AS ret
  FROM port_value
)
SELECT account_id, date,
       STDDEV_SAMP(ret) OVER (
         PARTITION BY account_id ORDER BY date
         ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
       ) * SQRT(252) AS vol_30d
FROM daily
ORDER BY account_id, date;

注意點:HirePro SQL 引擎對 STDDEV_SAMPLAG 支援完整,但部分版本要求顯式 ORDER BY 子句,社區反饋這是最常見錯答原因。

主線三:Python 資料清洗

題目描述

讀入一份 trades.csv,剔除 quantity ≤ 0price 為空、timestamp 不在交易時段(9:30–16:00 ET)的紀錄,並按 symbol 聚合 VWAP

Python 解法

import csv
from collections import defaultdict

def vwap(rows):
    bucket = defaultdict(lambda: [0.0, 0])
    for r in rows:
        try:
            q = int(r['quantity'])
            p = float(r['price']) if r['price'] else None
            ts = r['timestamp']
        except Exception:
            continue
        if q <= 0 or p is None:
            continue
        hh, mm = int(ts[11:13]), int(ts[14:16])
        if (hh, mm) < (9, 30) or (hh, mm) > (16, 0):
            continue
        bucket[r['symbol']][0] += p * q
        bucket[r['symbol']][1] += q
    return {s: pv / vol for s, (pv, vol) in bucket.items() if vol}

複雜度:O(n)。社區反饋常被卡的 case:9:30:00.001 這種帶毫秒的 timestamp、跨日期邊界的紀錄。

BlackRock OA 題型分布表(2026)

題型 出現率 主要崗位 備註
Portfolio Analytics ★★★★★ Investment Analyst / Quant 必考
SQL 投資組合 ★★★★ Aladdin Engineer / Risk 視窗函數
Python 資料清洗 ★★★★ Risk / Data Engineer csv / pandas
蒙地卡羅模擬 ★★★ Quant 機率 + 收斂
行為情境題 ★★ 所有崗位 多選 + 短回答

OA輔助 實戰路徑

oavoservice 的 OA輔助 服務

一份 HirePro 平台「踩坑清單」

我們內部維護了一份 HirePro 平台踩坑清單:包含 STDDEV_POP vs STDDEV_SAMP 差異、LAG 在 partition 邊界的行為、Python 沙箱缺少 pandas 時如何用純 stdlib 實作 rolling 等共 14 項。OA輔助 學員可以直接拿到這份清單。

具體方案與報價,加微信 Coding0201 溝通。


FAQ

BlackRock OA 用 pandas 嗎?

HirePro 平台預設不帶 pandas,要麼用 numpy / 純 stdlib,要麼自己寫 rolling。HackerRank 渠道的 Aladdin OA 允許 pandas。

OA 通過後多久面試?

社區反饋通常 7–14 天發 phone screen;Investment 崗會先有 HR 30 分鐘,再進 hiring manager。

BlackRock 全球各辦公室題庫一致嗎?

Investment Analyst 題庫 90% 共享,本地化只在情境題中體現;Aladdin Engineer 各 office 題庫差異較大,倫敦 / 紐約 / 蘇州各自維護一套。

OA 沒過冷卻期多久?

12 個月,跨崗位另算池子。


正在準備 BlackRock OA / VO?

oavoservice 長期追蹤 BlackRock / Citadel / Bridgewater / Two Sigma / Vanguard 這類資產管理與對沖基金的 OA + VO 真題。mentor 來自一線 PM / Quant / Risk 團隊,可以提供 崗位題庫客製、HirePro 平台模擬、SQL 與 Python 即時 OA輔助、case interview 劇本 等 OA輔助 / VO輔助 服務。

👉 立即添加微信:Coding0201獲取 BlackRock 高頻題與 OA輔助 方案


聯絡方式

Email: [email protected]
Telegram: @OAVOProxy