joungmin
6b2c962ed8
refactor: reorganize project structure into tests/, data/, logs/
...
- Move all backtest/simulation scripts to tests/
- Add sys.path.insert to each script for correct import resolution
- Move pkl cache files to data/ (git-ignored)
- Move log files to logs/ (git-ignored)
- Update main.py: trading.log path → logs/trading.log
- Add ecosystem.config.js: pm2 log paths → logs/pm2*.log
- Update .gitignore: ignore data/ and logs/ instead of *.pkl/*.log
- core/fng.py: increase cache TTL 3600→86400s (API updates daily at KST 09:00)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-03 16:08:50 +09:00
joungmin
324d69dde0
feat: volume-lead strategy with compounding, WF filter, and DB-backed simulation
...
- core/strategy.py: replace trend strategy with volume-lead accumulation
(vol spike + 2h quiet → signal, +4.8% rise → entry)
- core/trader.py: compound budget adjusts on both profit and loss (floor 30%)
- core/notify.py: add accumulation signal telegram notification
- ohlcv_db.py: Oracle ADB OHLCV cache (insert, load, incremental update)
- sim_365.py: 365-day compounding simulation loading from DB
- krw_sim.py: KRW-based simulation with MAX_POSITIONS constraint
- ticker_sim.py: ticker count expansion comparison
- STRATEGY.md: full strategy documentation
- .gitignore: exclude *.pkl cache files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-02 01:46:03 +09:00
joungmin
83bd51117f
feat: initial upbit auto-trader implementation
...
Strategy C: volatility breakout (Larry Williams K=0.5) AND momentum
(MA20 + 2x volume surge) must both trigger for a buy signal.
Hard rules:
- Trailing stop: sell when price drops -10% from peak
- Max budget: 1,000,000 KRW total, up to 3 positions (333,333 KRW each)
- Scan top 20 KRW tickers by 24h trading volume every 60s
- Monitor positions every 10s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 10:20:02 +09:00