Park, Sim and Choi (2019) train a DQN on discrete buy/hold/sell lots with a mapping for infeasible trades. LSTM encoder + all-feasible-action replay. Plain-language intro. Not investment advice.
Takeaway. Skip continuous portfolio weights. This paper uses discrete actions: for each asset, buy, hold, or sell a fixed lot (encoded −1 / 0 / +1). A mapping function turns cash-short or inventory-short orders into the nearest feasible neighbour so the agent does not flip from “sell both” to “buy both.”
An intelligent financial portfolio trading strategy using deep Q-learning (Hyungjun Park, Min Kyu Sim, Dong Gu Choi, 2019; arXiv:1907.03665). Long-only cash + three assets; US ETFs (SPY / Russell 1000 Value / microcap) and Korean KOSPI size indices; 0.25% fees; 2017 test year.
Fit for learners: Discrete DQN portfolio actions — approachable RL starter if continuous PPO feels heavy.
This Hub note is a plain-language intro. Not investment advice.
Most DRL trading papers either trade one name or output target weights. Weights are not an order ticket: you still decide how to get there, and unbounded Δw can explode turnover. Discrete lots look “less optimal” on paper, but they cap daily size the way many real desks already do.
A research back-test—not a live book.
You meet discrete action combinatorics, feasibility, and why fees + turnover belong in the design, not a footnote. Continuous PPO can wait until this loop is clear.
Tiny evening exercise: two assets, δ = 1, cash = 0.5, holdings = (0.3, 0.2). Which of the nine (−1/0/+1)² actions are infeasible? List them. Learning only.
Landing: arXiv abs
Not investment advice. This Hub note is educational only. Park–Sim–Choi is academic DQN on 2017 index/ETF prints—not a recommendation to run a discrete-lot agent with real capital.
Single course CTA: SoloQuant Academy’s Introduction to Python Programming—nested loops over three choices per asset is how you enumerate a discrete action grid.