Chapter 9: The Hidden Liquidity – The Time-Weighted Average Price Trap

The Monday morning sun crept over the city skyline, painting the glass towers in shades of amber and gold. On the eighteenth floor of the trading firm, the morning ritual was already in full swing—traders arriving with coffee cups, screens flickering to life, the low hum of systems booting up.

Jaya walked through the glass doors at 7:15 AM, her badge swinging against her chest. She moved with a new confidence now, her shoulders straight, her stride purposeful. The past week had transformed her from a nervous junior trader into someone who had faced a predator and won.

She settled into her workstation, the familiar array of three monitors welcoming her like old friends. The central screen displayed her portfolio dashboard, showing a new position awaiting liquidation—4 million units of a different token, with a market value of approximately 180 million units.

The order had come in over the weekend, routed through Marcus. “We need you to handle this one,” his message had read. “Same token family, different asset. The bot is still active. Show us what you’ve learned.”

Jaya had smiled when she read the message. She was ready.

She pulled up her execution toolkit—the VRF randomization system, the VWAP configuration, the dark pool interface. Each tool was calibrated and ready to go. The bot was still out there, still hunting, but Jaya was no longer prey.

At 7:45 AM, Kiran appeared at her desk, a tablet in one hand and a pastry bag in the other. “Morning,” he said, setting the bag in front of her. “I thought you might need sustenance for the battle ahead.”

Jaya opened the bag to find a warm croissant, its surface golden and flaky. “Thanks. You’re becoming my personal chef.”

Kiran smiled. “Someone has to keep you fed. You forget to eat when you’re trading.”

He pulled up a chair and sat down next to her, his tablet displaying the new position details. “Four million units. Market cap is smaller than the last one, so the impact might be larger. We’ll need to be careful.”

Jaya nodded, her eyes scanning the data. “I was thinking about that. The last token had deep liquidity—50 million units in daily volume. This one is smaller—maybe 20 million units. My 4 million position represents 20% of the daily volume, which is significant.”

Kiran nodded approvingly. “Good analysis. That means we need to be even more careful with our execution. We can’t afford to be aggressive.”

“I was planning to use the dark pool for a larger portion this time,” Jaya said. “Maybe 1.5 million units—about 37% of the total. That should hide enough of our volume to confuse the bot’s calculations.”

Kiran studied her for a moment, a knowing smile on his face. “You’re thinking like a pro now. You understand that the dark pool isn’t just a backup—it’s a strategic tool.”

Jaya smiled. “I learned from the best.”


The market opened at 8:00 AM, and Jaya began her execution. She had configured the VRF system to generate random orders between 8,000 and 14,000 units, with intervals ranging from 45 to 150 seconds. The VWAP component ensured that her orders were concentrated during periods of high trading volume, blending into the market’s natural activity.

The first order appeared at 8:02:23, a sell of 11,800 units routed to the public exchange. The order filled cleanly at 42.38 units, with minimal market impact.

The second order appeared at 8:04:51, a sell of 9,400 units also routed to the public exchange. Clean.

The third order, at 8:07:09, was a sell of 13,200 units—but this one was routed to the dark pool. The order executed invisibly, hidden from the public market, its fill price based on the mid-market price of 42.40 units.

Jaya watched her execution dashboard with focused attention. The dark pool trade had completed successfully, with no visible impact on the public market. The bot’s footprint in the order book was minimal—it was still active, but it was confused, unable to identify her pattern.

“You’re doing great,” Kiran said from behind her. “The bot is still trying to find a pattern, but it’s failing. The dark pool volume is completely invisible to it.”

Jaya nodded, her eyes fixed on the screens. “How much volume have we hidden so far?”

Kiran checked his tablet. “About 200,000 units through the dark pool. The bot is still buying on the public exchange, but its position is small. It doesn’t know about the dark pool trades, so it’s underestimating our total volume.”

Jaya smiled. “Good. Let’s keep it that way.”


By 10:30 AM, Jaya had sold 800,000 units total, with 300,000 units routed through the dark pool. The slippage on her public exchange trades was minimal—just 0.10%—and the dark pool trades were executing at the mid-market price, with effectively no slippage at all.

The bot was still active, but its behavior had changed. Instead of aggressively building a position, it was now cautious, buying small amounts and waiting for a pattern that never came.

“Look at that,” Kiran said, pointing to the order book. “The bot is hesitating. It’s not sure what to do.”

Jaya studied the order book, seeing the same pattern. The bot’s buy orders were small and infrequent, a stark contrast to the aggressive buying she had seen during her TWAP execution.

“The dark pool is working,” she said, a note of satisfaction in her voice. “The bot can’t see our hidden volume, so it can’t build an accurate model of our position.”

Kiran nodded. “This is exactly what I was hoping would happen. The bot is operating in the dark, and it’s making mistakes.”


The morning continued smoothly, with Jaya executing her position in a steady rhythm. The VRF system generated random orders, some routed to the public exchange and others to the dark pool. The VWAP component ensured that her trades aligned with the market’s natural activity, making them even harder to detect.

By 1:00 PM, Jaya had sold 1.8 million units total, with 600,000 units routed through the dark pool. Her average slippage was 0.09%—an exceptional result.

But at 1:15 PM, something caught her attention.

“Kiran, look at this,” she said, pointing to her screen. “The dark pool is showing a sudden drop in liquidity. My last order only filled partially.”

Kiran leaned closer, studying the data. “That’s interesting. The dark pool might be experiencing a liquidity shortage. There aren’t enough counterparties to match your orders.”

Jaya frowned. “What does that mean for our execution?”

Kiran thought for a moment. “It means we need to be careful. The dark pool is still useful, but we can’t rely on it exclusively. We might need to route some of the remaining volume back to the public exchange.”

Jaya nodded, her mind already working through the options. “I’ll reduce the dark pool allocation to 25% of the remaining volume. That should give us enough hidden liquidity while keeping the public exchange trades manageable.”

Kiran nodded approvingly. “Good adjustment. You’re thinking on your feet.”


The afternoon was a careful balancing act. Jaya continued executing her position, routing some volume to the dark pool and the rest to the public exchange. The bot was still active, but its activity was minimal—it couldn’t detect her pattern, and it was operating in the dark.

By 4:00 PM, Jaya had sold 3.2 million units total, with 900,000 units routed through the dark pool. Her average slippage was just 0.08%—even better than the morning.

But as she prepared to execute her final orders, something unexpected happened.

“Jaya, look at this,” Kiran said, his voice suddenly tense. “The dark pool is showing a massive order inbound. Someone is trying to buy a large position.”

Jaya’s eyes snapped to the screen. The dark pool’s internal order book showed a buy order for 500,000 units, significantly larger than any of the other orders in the pool.

“Who is that?” she asked. “Is it the bot?”

Kiran shook his head. “I don’t think so. The bot doesn’t use dark pools—it operates exclusively on public exchanges. This is someone else—maybe another institutional trader.”

Jaya studied the order, her mind racing. “What should we do? If we fill that order, we’ll complete our liquidation faster. But it might also reveal our position to the bot.”

Kiran considered the options. “I think we should take it. The order is large enough to hide our remaining volume, and it will complete our liquidation sooner. But we need to be careful—if we fill the order too aggressively, it might attract attention.”

Jaya nodded, a plan forming in her mind. “I’ll fill the order gradually, matching the size of our dark pool trades. That way, the buy order will absorb our volume without creating a visible pattern.”

She executed the plan, filling the large buy order over the next forty-five minutes. Each of her dark pool trades was matched against the inbound order, completing her liquidation in a steady, controlled manner.

By 5:00 PM, Jaya had completed her liquidation. The final result was exceptional—total slippage of just 0.07%, with 1.2 million units routed through the dark pool.

She sat back in her chair, a sense of accomplishment washing over her. The bot had been defeated, her liquidation had been completed, and she had done it all with a level of sophistication that would have been unimaginable just a week ago.

“You did it,” Kiran said, a smile spreading across his face. “You beat the bot again.”

Jaya shook her head. “We beat the bot. I couldn’t have done it without you.”

Kiran shrugged modestly. “I just pointed you in the right direction. You did the hard work—the execution, the adaptation, the constant vigilance.”

He paused, his expression growing serious. “But I want to show you something. Something I discovered while you were executing.”

He pulled up a new screen on his tablet, showing a detailed analysis of the bot’s activity over the past few days.

“The bot has been tracking you,” he said. “Not just your trades, but your behavior—the times you log in, the patterns of your activity, the way you interact with the market.”

Jaya felt a chill run down her spine. “It’s profiling me?”

Kiran nodded. “The bot is building a model of your behavior. It’s trying to understand how you think, how you trade, how you respond to different conditions. It’s not just a front-running algorithm anymore—it’s a learning system.”

Jaya stared at the data, the implications sinking in. The bot was more sophisticated than she had ever imagined. It wasn’t just reacting to patterns—it was learning her habits, anticipating her moves, trying to understand her as a trader.

“How do we fight something like that?” she asked, her voice barely above a whisper.

Kiran smiled. “We fight it by being unpredictable. We change our habits, our patterns, our routines. We make ourselves impossible to profile.”

Jaya nodded slowly, the pieces falling into place. It wasn’t just about the algorithms anymore—it was about her. Her behavior, her patterns, her predictability. The bot was watching her, learning her, anticipating her moves.

But she could change. She could adapt. She could be unpredictable.

“Show me how,” she said.

Kiran spent the next hour teaching her about behavioral unpredictability—how to vary her patterns, how to break her routines, how to make herself impossible to profile. Jaya absorbed every word, her mind already planning how she would apply these lessons.

By the end of the day, she had a new set of strategies. She would change her trading times, vary her order sizes, use different venues, and most importantly, she would never, ever be predictable again.


The next morning, Jaya arrived at work with a new sense of purpose. Her liquidation was complete, but her education was just beginning. She had learned so much in the past weeks, and she was hungry for more.

She settled into her workstation and began her day, her mind already working through the new strategies she had learned. The bot was still out there, still learning, still adapting. But now, she was ready.

At 9:00 AM, Kiran appeared at her desk. “I have something to show you,” he said, his voice filled with excitement.

Jaya looked up, curious. “What is it?”

Kiran pulled up a new screen on his tablet, showing a detailed analysis of the dark pool’s activity over the past week. “I’ve been studying the dark pool data, and I found something interesting. The large buy order that completed your liquidation—it wasn’t random. It was placed by another trader who was also trying to avoid the bot.”

Jaya leaned forward, her interest piqued. “Another trader? Who?”

Kiran shook his head. “I don’t know the identity. Dark pools are anonymous. But I’ve analyzed the pattern of their trades, and it’s clear—they were using the same strategy we were. Randomization, dark pools, volume-weighting. They were fighting the bot, just like us.”

Jaya felt a surge of connection, a sense of solidarity with this unknown trader. They were both fighting the same enemy, using the same tools, facing the same challenges.

“We’re not alone,” she said softly.

Kiran smiled. “No, you’re not. There are others out there—traders who have learned to fight back, who have adapted and evolved. The bot is powerful, but it’s not invincible.”

He paused, his expression growing serious. “And that’s why I wanted to show you this. We’re part of a larger movement—a community of traders who are fighting back against predatory algorithms. We share our knowledge, our strategies, our discoveries. We make each other stronger.”

Jaya felt a new sense of purpose fill her. She wasn’t just fighting for herself anymore—she was fighting for a community, for a market that was fair and transparent for everyone.

“I want to be part of that community,” she said. “I want to share what I’ve learned, help other traders fight back.”

Kiran nodded approvingly. “I was hoping you’d say that. I’ve already created a forum where traders can share their experiences and strategies. I’d like you to be one of the moderators.”

Jaya felt a surge of pride. “I’d be honored.”


The weeks that followed were a transformation. Jaya became a leader in the trading community, sharing her experiences and strategies with other traders. She wrote articles about the TWAP trap, about front-running bots, about dark pools and randomization. She mentored junior traders, teaching them the lessons she had learned the hard way.

And the bot? It was still out there, still hunting, still looking for victims. But its effectiveness was diminishing. More and more traders were learning to fight back, using the strategies that Jaya and Kiran had developed.

On a Friday evening, as the market closed and the trading floor began to empty, Jaya stood at the window, looking out at the city skyline. The lights of the city twinkled below, a sea of possibility and opportunity.

Kiran appeared beside her, his tablet tucked under his arm. “What are you thinking about?” he asked.

Jaya was quiet for a moment. “I’m thinking about how far I’ve come. A few weeks ago, I was a naive junior trader, thinking a TWAP was the answer to everything. Now I’m fighting back against predatory algorithms, helping other traders, making a difference.”

Kiran nodded. “That’s what this is all about. Not just surviving—but thriving. Building a better market for everyone.”

Jaya turned to look at him, a new fire in her eyes. “What’s next? What else can we do?”

Kiran smiled. “I have a few ideas. Let’s talk about them over dinner.”

Table of contents:
Introduction
Chapter 1: The Large Order
Chapter 2: A Slippage Problem
Chapter 3: The TWAP Solution
Chapter 4: The Predictable Pattern
Chapter 5: The Front-Running TWAP
Chapter 6: The Chunking Attack
Chapter 7: The Randomization Fix
Chapter 8: The Volume-Weighted Alternative
Chapter 9: The Hidden Liquidity
Chapter 10: Trading Smart, Not Predictable <<< NEXT

Loading



Dear reader, love our creation? Support us moving forward