The first round results were decent. In Round 2, two new products were introduced – let’s call them C and PC. Looking at their price movements, they showed high correlation, which was confirmed by calculating their price change correlation. This strongly suggested pair trading potential.

I analyzed historical trading data to estimate theoretical market making profits across all four products using:
PnL = abs(trade_price – mid_price) * quantity
The results showed significantly lower profits for the new products compared to the original ones. Additionally, the average bid-ask spread for the new products was only around 2.x, much tighter than the previous 4.x spreads, making market making both more difficult and less profitable. With limited time, I decided to focus solely on taking strategies for the new products.

For the pair trading approach:
⦁ C’s reference price was 8000
⦁ PC’s reference price was 15000
So I set:
⦁ C’s fair price = (midPrc_C + midPrc_PC * 8/15)/2
⦁ PC’s fair price = (midPrc_C * 15/8 + midPrc_PC)/2
As a taking strategy, I determined target positions based on existing edge (fair_price – mid_price). For example:
⦁ If I wanted 100% position when C’s edge = 20
⦁ Then PC would need -100% position at edge = -20*15/8
So if C’s edge was 10 with current positions at 40% (C) and -35% (PC), I would buy 10% C while selling -15% PC, potentially splitting the 10% into multiple transactions.
For execution, I adapted Strategy V3’s approach with additional dynamic constraints:
⦁ Added maximum trade size limits to prevent exceeding target positions
⦁ Used aggressive taking orders when edge > x
⦁ Used passive orders to capture best bid/ask when edge < x
This became Strategy V4.
Final results:
⦁ New products (pair trading): ~4k profit
⦁ Original products (market making): maintained ~3k profit