StratCraft and the Physics of Quant: Keeping the Render Layer Away from the Core
This is Part 3 of a 3-part series. Part 1: Your Brain Is a Rendering Engine. So Is Every LLM. explored why LLMs and human brains invite the same rendering analogy. Part 2: More Compute Won't Wake It Up argued that scaling compute doesn't cross the consciousness boundary. This final part asks: what happens when you bring a render layer into a domain that punishes distortion? I have a friend who trades. Not professionally. He has a day job, a brokerage account, and strong opinions about charts. One evening he pulled up a stock chart and pointed at a formation near the top. "Head and shoulders," he said. "Classic reversal pattern. I'm getting out." I looked at the same chart. I saw price going up and then going down. I didn't see a head. I didn't see shoulders. I saw a line. He wasn't wrong, exactly. Head-and-shoulders is a real pattern that real traders have used for decades. But he looked at a time series of prices and his brain rendered it into a human body part. And then he made a financial decision based on the body part, not the numbers. Somewhere between the data and the decision, anatomy got involved. That is the render layer at work. And markets are the worst possible place to let it run unchecked. What a trader actually sees When a discretionary trader looks at a chart, their brain is doing what Part 1 described: taking raw input (price as a function of time) and collapsing it into a rendered scene. The scene comes pre-loaded with pattern names, emotional associations, and memories of the last time something "looked like this." The chart didn't change. The candles are the candles. What changed is how that particular brain rendered it. A trader who got burned on the last head-and-shoulders sees danger. A trader who made money on one sees opportunity. Same vibration, different render. Same sunset from Part 1, different feeling. This is not a minor problem. This is the entire problem. Human trading is emotional trading. Not because traders are undisciplined. Because the hardware doesn't have an off switch. The render layer attaches feelings, memories, and pattern-matched associations to every data point before you get to look at it. You can follow rules. You can journal your trades. The render layer was already done with the data before your rules showed up. What a machine actually does Most people have never looked inside an ML model, so here is the secret: it is boring. Take XGBoost. One of the most widely used algorithms in quantitative finance. What it does is, at its core, embarrassingly simple. You give it a table. Each row is a moment in time. Each column is a number: price change over the last 5 minutes, ratio of buy volume to sell volume, distance from the 20-day moving average, volatility of volatility, whatever you want. The last column is what happened next: did the price go up or down? XGBoost looks at this table and asks one question at a time. "Is the 5-minute price change greater than 0.3%?" If yes, go left. If no, go right. Then it asks another question. And another. Each question splits the data into groups that are slightly more similar in their outcomes. It builds a small tree of these splits. Then it looks at where the tree got it wrong, and builds another tree that focuses specifically on the mistakes. And another. And another. Hundreds of small, dumb trees, each one correcting the errors of the ones before it. The final prediction is all of them voting together. That is it. No feelings. No head-and-shoulders. No "this reminds me of last March." Given these 97 numerical features at this moment, what do 500 decision trees vote? Nobody in the ensemble had a bad morning. XGBoost has no render layer. It never "sees" a chart. It never "recognizes" a pattern the way a human does, where recognition means mapping visual input onto a stored emotional template and then pretending the emotion was the data. It takes numbers in and puts a number out. This is the distinction Part 2 set up. The human brain is a render layer: raw signal in, rendered scene out, emotions included at no extra charge. An ML model is a mathematical function: vectors in, vectors out. It does not render the market into a scene. It does not need to. It has no childhood. The deeper point If the universe operates on math (vibrations, frequencies, probability distributions, differential equations), then a tool that processes math directly is closer to the source than a tool that first renders math into feelings and then makes decisions based on the feelings. A human trader takes market data โ renders it through decades of emotional training history โ sees "head and shoulders" โ feels fear or greed โ acts. An ML model takes market data โ applies a mathematical function โ outputs a number โ acts. The ML model is not smarter. It is not conscious. It has no opinions about the Fed. But it skips the render layer entirely. It touches the math without passing through a distortion filter that was trained on childhood memories and yesterday's argument with a coworker. In a domain where the signal is weak and the noise is enormous, inserting a distortion layer between you and the signal is the most expensive thing you can do. More expensive than bad data. More expensive than slow execution. Because you will not notice it happening. ML as physics in practice A spreadsheet is a human invention. We designed it to organize numbers the way we like to see them. Gradient descent is a different animal. Gradient descent (the way most ML models learn) is a mathematical process that finds the lowest point of a surface by following the slope downward. It is calculus. The same math that describes how water flows downhill, how heat dissipates, how physical systems find equilibrium. Nobody designed it. Somebody noticed it. When an ML model trains on market data, it is not "learning the market" the way a human learns the market (by building an emotional render of it). It is finding the mathematical surface that best describes the statistical regularities in the data. Same principles that govern physical systems. No feelings were consulted. There is a real gap between "uses calculus" and "is physics." But the direction matters. ML-based trading is mathematical trading. It is objective in a way that human trading structurally cannot be, for the simple reason that the human brain cannot turn off its render layer. You cannot uninstall the software that ships with the hardware. The architecture that follows If any of this lands, it changes how you design a trading system. The render layer (human intent, LLM interface) belongs at the boundary: human question -> LLM translates to formal task -> ML model processes market data -> tested execution core -> market The human says what they want to research. The LLM helps translate that into a specification. The ML pipeline and the backtesting engine handle the actual signal evaluation. The execution layer handles the actual trading. At no point does a feeling enter the computation. At no point does someone look at a chart and say "that looks bearish." The render layer is contained. The math runs clean. Here is what that looks like in code. import xgboost as xgb # features: bid_vol, ask_vol, spread, vwap_deviation, ... # no column called "vibes" dtrain = xgb.DMatrix(X_train, label=y_train) params = { 'objective': 'binary:logistic', 'max_depth': 4, # shallow trees. each one is basically an intern 'eta': 0.05, # learns slow so it doesn't memorize one semester 'subsample': 0.7, # only shows it 70% of the data each round 'colsample_bytree': 0.6 # and only 60% of the features. tough love } # 200 rounds of "where did the last tree screw up?" # each new tree exists solely to clean up the previous tree's mess. # none of them are smart. together they outvote your gut feeling. model = xgb.train(params, dtrain, num_boost_round=200) # # ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ๐ฒ # ^ 200 of these. not one of them went to business school or got RLHF'd. Numbers in, number out. The model doesn't render the market into a story first and then decide based on how the story felt. It just finds thresholds in a matrix of features. Boring, auditable, and completely disconnected from whatever rendering engine fed it instructions. What this does not mean ML models are not always right. They overfit, underfit, find patterns that are noise, and fail catastrophically on regime changes. But when an ML model fails, it fails mathematically. You can audit it. You can trace back which features drove the decision, which trees voted which way, where the training data was thin. The failure has an address. When a human trader fails, the failure is invisible to the person failing. It looks and feels like a legitimate decision. "I saw the head and shoulders. It was obvious." The render layer does not announce itself as a render layer. It announces itself as reality. That is the one feature you really do not want in a trading system. Final essay in the series. The argument across all three parts: human brains and LLMs are both render layers. Render layers produce useful output but distort what they touch. In high-stakes domains, keep the render layer at the boundary and let the math carry the load. The math does not care what you feel about the market. That is the point. Find me on StratCraft | GitHub Top comments (0)
Comments
No comments yet. Start the discussion.