-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EPIC] Make $ trading across 500 tokens; 5m; trade rarely per token. Sim, and live #1712
Comments
Hypothesis: "without the following model req'ts, model has no hope":
If I can make $ without needing all of these, this hyp is wrong |
Results: 0 fees. Making $I'm making money; convergence curve is excellent. It did this without the model req'ts of prev comment. (Thereby invalidating the prev comment's hypothesis.) Biggest factors: very small SL/TP thr, and much larger autoregressive_n. Reasoning behind each param is below. Convergence curve. It's excellent: steady up. From $1000 in, made $325 in 90d. APY = (1+325/90/1000)^365-1 = 2.272 = 227% All key params, and the reasoning behind each param (important!).
Full settings file:my_ppss.yaml.txt Further resultsInteresting: predictoors don't do that well. And the model itself isn't great. See below. But I've tuned parameters for trading (only trade when model is confident; bound the wins & losses), and that's what made all the difference. |
On feesQ: OK, we've shown we can make $ with no fees. What's the next step? A: Test with realistic trading fee. Info: maker/taker spot fees are based on 30d trade volume. Maker = sets limit order, taker = uses market price. Analysis below is on taker fees. Our expected trade volumesWhat 30d vol can I realistically expect, when going "full bore"?
More conservative numbers:
Binance spot fees
Ref. Analysis:
Binance futures fees
Ref. Analysis:
Hyperliquid fees
Analysis:
|
Results on nonzero fees; rest the sameSetup: like comment 2, 2 except - different fee. Includes these params:
Like before: 90d run. $1000 in. APY = (1+$MADE/90/1000)^365-1 = FOO = BAR%. Convergence curve shown for each. Terminate early if obviously doing badly. Results: 0.1% fee. Lost $Results: 0.025% fee. Lost $Results: 0.01% fee. Made $102, APY = 51.1%This is a lower bound asking "is it possible to make $ at all, with current setup, under any fees". But note that these fees are 2x lower than Binance or HL lowest-possible fees. |
Results on 0.025% feeQ: on 0.025% fees (HL moderate rate), make $ when params tuned? Baseline setup from prev comment, where fee = 0.025%. Tests at: (conf=75%, 90%) x (SL/TP=0.1%, 0.15%, 0.2%)
Like before: 90d run. $1000 in. APY = (1+$MADE/90/1000)^365-1 = FOO = BAR%. conf=75%, SL/TP=0.10%. Lost $conf=75%, SL/TP=0.15%. Lost $conf=75%, SL/TP=0.2%. Lost $conf=90%, SL/TP=0.10%. Made $26.68, APY = 11.42%conf=90%, SL/TP=0.15%. Made $33.72, APY = 14.65%conf=90%, SL/TP=0.20%. Made $46.09, APY = 20.55%conf=95%, SL/TP=0.20%. Made $31.97, APY = 13.84%ConclusionI can now make $ on 0.025% fee, from mild tuning (conf=95%, SL/TP=0.20%). Yay! Full settings: my_ppss.yaml
Possible next steps:
Appendix: baseline results for standardized datesOn conf=90%, SL/TP=0.20%: made $46.09, APY = 20.54% Detailed settings: (the same as performance profiling below; on newly tdr-focused code, this commit)
|
Performance profiling, test ensemblesExplores:
Settings:
Usage: Calc runtime / profile, on shorter sim:
Calc profit, on longer sim:
Results: Perf profiling Q: Can I speed things up? A: not much
Results: test ensembles Q: Can I make more $ with different ensemble params? A: not much
|
Try idea: Center model on most recently seen priceThe problem: model spends too much modeling effort true/false for different close prices. It would have a simpler modeling task if the "close price" to model was always zero; and then it just needs to output a value > 0 ("up") or < 0 ("down"). How: make output y to be an "amt of change wrt prev close" (can be a %, or absolute difference) To prototype: I implemented this in sim_engine.py. Here's the diff, and the updated sim_engine.py. Result: Init runsI tried some quick experiments with linear models. Basically random. Then I tried GPM classifier. Maybe good, but super-slow. Then I tried xgboost. Slower than lin, much faster than GPM, I moved forward with it. The results below are xgboost. Result: xgboost, fees=0. Made $963.01Summary: Made $963.01, APY = 4766% (!). Calc: (1+963.01/90/1000)^365-1 = 47.657
Detailed settings:
Full log: out_1738066991328.txt Result: xgboost, fees=0.025%, conf=0, SL/TP=0.2%, max_n_train=5700 (20d). Lost $439 after 1.7K ep, $2.7K after 12K epOther settings like ^.
Result: xgboost, fees=0.025%, conf=75%, SL/TP=0.2%, max_n_train=5700 (20d). Lost $405 after 2K epOther settings like ^. Result: xgboost, fees=0.025%, conf=95%, SL/TP=0.2%, max_n_train=5700 (20d). Lost $335 after 3.3K epOther settings like ^. Result: xgboost, fees=0.025%, conf=95%, SL/TP=0.2%, max_n_train=8850 (30d). Lost $587 after 8.6K epOther settings like ^. |
Current status:
But, I will pause this for now to spend time on yiedl bot. Benefits could flow both ways:
|
Background / motivation
Make $ trading on 5m, a timescale good enough for agent evolution. (And more fun in general:)
How:
Phases / tasks
(completed phases are farther below)
Phase: build / improve until "make $ on 0.035% fees (HL starter rate), on BTC, 3mo sim
Phase: like ^, but now 2y sim
Phase: like ^, but now make $ on 8 of top-10 tokens
Phase: a single run trades on 500 tokens at once
Completed phases / tasks
Phase: init experiments
Phase: reduce complexity & speed runtime
Appendix: things to add, only if we need, to make $
Appendix: Fees
Binance & HL fee schedules
The text was updated successfully, but these errors were encountered: