[Dev Log] 2026-07-13
Initiation of the Data Era and Market Signal Snapshot Construction
I spent the last two days working non-stop from design and implementation to testing and live validation. In this process, the collaboration workflow where Sonnet implements the code and I verify the design has become quite seamless. I completed the live validation of the market signal snapshot collection feature while proceeding with migration tasks. During this process, I discovered errors in handling default values for Naver Finance trading dates and a bug where snapshot columns were being overwritten during the backfill of daily futures data; I urgently patched the code using a COALESCE upsert approach. Backfilling for supply/demand data and futures investor positions was also completed. With the KRX derivatives API approval finalized, I supplemented the actual field names and added new filtering logic for the night session. This successfully resolved doubts regarding basis contamination, revealing that the market was actually in a normal contango state. However, as the short-selling API is currently unavailable, it remains a task for future implementation.
Establishing an Operational Constitution through Core-Satellite Separation
To balance the aggressive side of my investment profile with the stability of my total assets, I decided to separate my assets into Core and Satellite portfolios. To achieve this, I analyzed 15 years of historical ledger data and established specific constants: a 30% weight for Satellite assets, a 15% limit per single ticker, and a prohibition on further "averaging down" if these limits are exceeded. While I previously dreamed of a 20% annual return, I have reclassified that as a goal for the Satellite portion, resetting the system's official Core target to capital preservation and returns exceeding standard savings rates. I subdivided the execution phase into multiple steps, from post-measurement to gate setting, to prevent unexpected accidents caused by automated orders.
Ledger Automation and Live Operation of the Sleeve NAV Mirror
I implemented a promotion converter to resolve data connection issues in the Kiwoom API synchronization ledger that had been neglected. During verification, I manually smoothed out minor bugs involving ticker misclassification, trading symbol handling, and foreign currency notation. I also removed the heuristic approach for classifying transaction records in my Mirae Asset account, significantly reducing the false-positive rate. By applying the sleeve NAV and rule engine scripts, I launched a daily monitoring mirror; seeing the rule violations displayed honestly gave me the feeling that the system is finally taking shape.
Infrastructure Independence from LLM Scheduled Sessions
To prevent data loss caused by external factors such as LLM session expiration, which previously interrupted daily loading tasks, I fully decoupled the infrastructure based on macOS launchd. Now, at 5:50 AM, launchd independently executes credit rating crawling, market signal collection, and DB backups, while the existing 6:05 AM scheduled task has been reduced to a simple monitoring role that logs checks. Additionally, I fine-tuned Amphetamine settings to prevent the MacBook from entering sleep mode and disrupting backups, and organized DB read permissions to successfully establish a remote automated backup environment.
LEAN Backtest Engine Preparation and Kiwoom API IP Issues
I completed the local CLI configuration for the QuantConnect LEAN backtest engine and verified normal operation with a simple smoke test. Moving forward, I plan to use quick exploration for factor research and only run validated hypothesis-based strategy simulations through the LEAN engine. However, I encountered a "designated terminal authentication failure" error while obtaining the Kiwoom API token, which blocked the access_token issuance. This appears to require a manual re-registration of the terminal in my account settings, so I have put full automation on hold for now. It is quite exhausting that I can only work with the Kiwoom API from home, especially since I do much of my work remotely these days; I need to find a different approach.
Thoughts for the Day
I am now at a stage where I need to start merging several projects, and it is getting complex. I am seeing minor errors due to mistakes or misremembering how previous components worked, so I need to implement safeguards for this phase.