***Options theory
Solid understanding of greeks
***Stochastic calculus
Personal derivation of itô's calculus using Maclaurin
***Market Making Engine
Deployed live on @baysemarkets
Solid understanding of risk mgmt techniques in market making
GitHub projects @ay007008
Linear Algebra✓
Numerical methods✓
Scripting language✓
Version control✓
Python✓
Python DSA (weak)✓
Python data visualization libraries ✓
C++ software design and Derivative pricing (project going on)
Mathematical finance(can do a lot of derivations)✓
Mql5 language ✓
@sudox7 Compilers do this reciprocal strength reduction automatically in most cases. The real win is when you control the loop and data layout yourself.
You've built a market making engine right ?
If you were designing a new struct for your market maker's rolling vol window, a fixed array of the last 100 prices.
What single property would you want it to have in memory and why?
If OrderHot struct is 24 bytes, and your order book has 10000 resting orders, roughly how many cache line does the matching loop need to touch to scan the entire book?
Me: Sighs in codeforce 😐
Built an order book implementing hashmaps in the data structure, only to find out that professional orderbooks are not hashmaps or tree maps.
They're flat arrays with binary search,or ring buffers keyed by price tick.
Are you still a 10x engineer or you want to change your name?
Real quant developers think about struct layer before thinking about algorithms
I wonder what Jane street be setting in their interview these days
What do I know a decent rating on codeforce lands me the role anyway
@0xLoris Seen this trap in my MM engine Spent weeks on fancy orderbook heatmap that looked sick in backtest
Switched to raw feed handler+simple in-memory state table
Real edge showed in my P&L
True work is in the execution thread,dynamic quoting,& handling shared state once multi-threaded
A data race occurs when two or more threads access a shared memory location concurrently
Example can be seen when the pricing feed and the execution feed try to run in the shared memory locations in an order book,which in turn leads to read/write conflict
C/C++ are absurdly flexible languages because:
- Combine them with memory management, you get systems.
- Add sockets & protocol handling, you've networks programming.
- Add OS primitives & now you're thinking as a kernel dev.
- Push in some allocators & DSA, you're into runtimes.
No doubt they're used still with a massive ecosystem of different ways you can use them!
So my Python SortedDict allocates objects on the heap, goes through the interpreter, uses reference counting. While C++ std::map sits in contiguous memory, compiles to direct CPU instructions, has zero interpreter overhead.
But i'll have to sit longer looking for scrutiny Laye!