Phase 17 Exam
Quant Programming & Research Engineering - Phase Exam
18 interleaved questions drawn from every lesson in this phase. Interleaving mixes topics on purpose - that difficulty is what builds durable, transferable understanding. Aim for 70%+ before advancing; below that, revisit the flagged lessons.
How this exam teaches
Questions are shuffled across lessons (not blocked by topic) so you practice choosing the right idea. Missed questions are added to your review queue automatically.
Q1 Easy
The main reason
a*b on two NumPy float arrays beats a Python loop is that:Q2 Easy
Why do you assert
abs(a-b)<tol instead of a==b for computed reals?Q3 Easy
Which set of things must be pinned for a Monte Carlo result to be reproducible?
Q4 Easy
The DRY principle is best stated as:
Q5 Medium
The hot path of your program is 25% of runtime. The best possible overall speedup from optimizing only it is:
Q6 Medium
In SQL,
WHERE and HAVING differ because:Q7 Medium
You subtract two pandas Series with different date indices and get many NaNs. The cause is:
Q8 Medium
Put–call parity is an especially strong test because it is:
Q9 Medium
Why prefer a local
rng = np.random.default_rng(seed) over the global np.random.seed?Q10 Medium
Your signal module imports the broker API, so switching brokers changes your signals. This violates:
Q11 Medium
A C++ numeric inner loop typically beats the Python equivalent mainly because:
Q12 Medium
Building a backtest universe from today’s index constituents causes:
Q13 Medium
To subtract per-column means from a (T,N) matrix by broadcasting, the mean must have shape:
Q14 Medium
A Monte Carlo price estimate from 10,000 paths should be tested by:
Q15 Medium
Reproducibility and robustness differ because:
Q16 Medium
A tracer bullet differs from a prototype in that it is:
Q17 Easy
Before optimizing quant research code, the correct first step is to:
Q18 Medium
The key data guarantee that prevents look-ahead bias is: