AI Auto-Trading Experiment
Roughly β©10M live-account experiment running an AI-assisted automated trading system
This project is not investment advice and makes no claims about returns. It is a documented experiment in designing, validating, and operating an automated trading system in collaboration with AI. All investment decisions and their consequences are the sole responsibility of each individual.
What you'll find here
- The complete process of building a rule-based trading system with AI β from zero code to live account
- How real orders get made, and where the system broke down
- The reasoning behind every strategy decision β why that choice, not another
- How to debug a system that's running on real money
Current Status
As of May 28, 2026, the auto-trading program is running in live operation and has moved into a two-week observation stage. I confirmed look-ahead bias and universe bias in the backtest, then compared candidate RS rules and MA20 deviation ceilings. The conclusion was not to change live parameters immediately, but to keep the current rules and collect decision-quality logs.
Completed on 2026-05-28
- Backtest harness built - separated from live code, with historical data collection, CSV caching, and rule_engine pure-function reuse
- Look-ahead bias removed - confirmed that the original backtest used information unavailable at the live trading moment, then changed same-day close execution to T+1 open execution
- Universe bias identified - confirmed that applying today's 40-stock universe to past years creates bias, so the backtest is treated as a relative comparison tool, not a return forecast
- RS rules and MA20 deviation ceilings compared - compared old-15 (stricter RS rule), loosen-30 (relaxed RS rule), and 8% / 12% / 15% MA20 deviation ceilings without switching immediately
- Live logs strengthened - each buy signal now records RS, excess RS, MA20 deviation, signal time, and buy price
- shadow_report prepared - an observation record for comparing candidate-rule outcomes against live trades without changing real orders
Current decision
- RS rule: keep loosen-30
- MA20 deviation ceiling: keep 8%
- Stop-loss, trailing stop, RSI, exclusion rules, and order execution: unchanged
- old-15 and 12% MA20 deviation ceiling: observe through shadow_report
Next actions
- Accumulate two weeks of live logs and shadow_report data
- Track cumulative results using pnl_net after fees and taxes
- Review whether repeatedly losing tickers need separate filters
- Later consider consolidating duplicated universe definitions into config.py or universe.py
2026-05-28 Operations Log β Related Insight β Previous RS Validation Log β
The Problem Being Solved
Can a non-coder build and operate a real automated trading system by collaborating with AI?
The operator handles judgment. AI handles execution. The question is whether this division of roles holds up when real capital is on the line. The current β©10M-level structure is the answer in progress.
The goal is not profit. The goal is the experience of building a system where AI operates real capital β by hand, from scratch.
Structure and How It Works
Three roles. The operator (μ² λΆμ§) sets strategy direction and makes final calls. GPT (λ©νμ² λΆμ§) handles strategy design and research. Claude Code handles code analysis and modification. KIS API (Korea Investment Securities) executes orders on the live account.
Buy decisions run through a rule engine. RSI momentum, MA20 deviation, market regime (5-condition scoring), RS filter, and sector overlap limits are checked before candidates are sorted by strength and scanned 3 times per day (10:00 / 13:00 / 14:00). The current stop-loss baseline is -2.5%, the target profit baseline is +5.0%, and trailing stop activation is based on +4%.
Key Achievements
- MVP to live account in 20 days (2026-04-07 β 2026-04-20)
- 1-week paper trade result: +β©45,060 (+0.58%) β used as the basis for evaluating the live switch
- First live order: 2026-04-14 Kakao 20 shares @ β©48,350
- Current operating structure: total-asset-ratio-based allocation at roughly the β©10M seed level
- Strategy engine first refinement: -2.5% stop-loss, +5.0% target profit, 20% cash buffer, sector overlap limit, profit-risk analysis log placement
- Strategy shift: "fill all slots" β "hold only strong candidates, keep cash otherwise" (RS filter)
Recent Updates
- 2026-05-28 Β· Backtest validation and observation mode Confirmed look-ahead bias and universe bias in the backtest, then changed execution to T+1 open. Compared old-15, loosen-30, and MA20 deviation ceilings of 8%, 12%, and 15%, but kept current live parameters. Strengthened live logs and prepared shadow_report for two weeks of observation. β Operations Log Insight
- 2026-05-22 Β· RS Filter Validation Structure Live mode ran normally with four scans and zero orders. Six BUY signals fired, but none passed RS. Compared ETF, universe simple average, market-cap weighted, and candidate-weighted benchmarks; held off on changing the benchmark. Built D+1/D+3/D+5 tracking for RS-rejected stocks. β Operations Log Insight
- 2026-05-11 Β· Regime Detection Upgrade KOSPI 5-day return regime detection introduced. MA20 deviation ceiling switches by regime: BULL 8% / NEUTRAL 5% / BEAR 3%. Universe expanded 20β40, BULL-only 11:00 cycle, pullback filter, RSI ceiling 65β70, partial profit-taking (+6% 50% exit), tiered trailing, daily buy limit raised to 3.
- 2026-05-08 Β· Strategy Engine Refinement Refined the strategy engine based on live-account operating data: capital structure, stop-loss, target profit, cash buffer, sector overlap limits, and RSI momentum. Moved profit-risk analysis logs to the beginning of candidate review. The DRY RUN produced zero buys, interpreted as normal defensive behavior under the MA20 deviation filter.
- 2026-05-04 Β· v2.0 First trading day after the weekend upgrade β applied total-asset-ratio-based allocation for the β©10M seed expansion. LG Electronics trailing sell +β©12,000, new buys 0. RS and MA20 conditions were not relaxed, and stocks that failed the conditions remained blocked.
- 2026-05-01 Β· v2.0 v2.0 upgrade direction defined β ratio-based capital allocation, high-priced stock exceptions, market-strength entry count, 7 items total. Vibe coding collaboration: expert AI + Claude Code. Code implementation and DRY RUN validation next.
- 2026-04-29~30 Β· Week 1 Week 1 live recap β trailing stop 3 consecutive wins (zero stop-losses), position rotation confirmed in live trading. Weekly realized P&L: +β©40,658.
- 2026-04-29 Β· STEP 14 First live buys after RS filter overhaul β 2 trailing stop auto-sells (+β©31,004), 3 new buys executed, 2 bugs fixed
- 2026-04-27 Β· v1.5 RS filter added, forced slot-filling removed, BUY_DRY_RUN flag introduced β validation in progress
- 2026-04-24 Β· v1.4 5 bugs fixed (wrong cash field, 18 duplicate KT sell reservations), regime detection switched to 5-condition scoring
Featured Logs β 5 entries to understand this project
- I Did Not Fix the Auto-Trader Right Away. I Added Instrumentation Before Trusting the Backtest A record of finding backtest bias and adding live logs plus shadow_report before changing conditions.
- Stock Auto-Trading Program β Strategy Engine First Refinement The latest operations record organizing capital structure, stop-loss, target profit, and log placement based on live-account data.
- Korean Stock Auto-Trading Program β First Trading Day After the Weekend Upgrade The record confirming the shift toward a structure that can buy, but chooses not to when conditions are not met.
- 1-Week Paper Trade Complete β Decision to Switch to Live Account What was validated in the paper trade and what that meant for the live switch decision.
- Live Account Day 1 β 2 Bugs Fixed, 5 Positions Opened Live-account troubleshooting. Bugs that didn't appear in paper trading showed up in live.
Featured Insights β key observations
- Why a Good-Looking Backtest Is Not Enough Reason to Change Strategy An operating insight on why bias checks and observation structure come before strategy changes.
- In Auto-Trading, Rejection Reasons Matter More Than Buy Signals An operating insight for interpreting zero buys as traceable defensive behavior rather than failure.
- Instead of Writing Code, I'm Designing an Auto-Trading System with AI In vibe coding, the human's role is asking the right questions, not typing the code. Confirmed through the v2.0 upgrade process.
- What I Didn't Know When I Started Building an AI Trading System The things that only became visible after starting. The real problems that emerged from building.
- I Didn't Tell AI to Fix the Code β I Changed the Structure The essence of AI collaboration isn't fixing code β it's restructuring problems.
- The System Sold on Its Own β Trailing Stop in Live Trading The moment the rules worked. A decision was made without me making it.
- The Days the System Said No Doing nothing is a strategy. A record of the days when the right move was not to buy.