79 lines
2.7 KiB
Text
79 lines
2.7 KiB
Text
|
|
;; llm_balanced.push3 — Balanced Adaptive Optimizer
|
||
|
|
;;
|
||
|
|
;; Strategy: "steady hand, no extreme positions."
|
||
|
|
;;
|
||
|
|
;; Philosophy:
|
||
|
|
;; All outputs stay in a balanced mid-range and scale gradually with inputs.
|
||
|
|
;; No hard branches, no extreme allocations — "good enough at everything."
|
||
|
|
;;
|
||
|
|
;; anchorShare = 40% + percentageStaked * 20% / 1e18 (40%..60%)
|
||
|
|
;; anchorWidth = 10 + taxRate * 190 / 1e18 (10..200 ticks)
|
||
|
|
;; discoveryDepth = 30% + percentageStaked * 20% / 1e18 (30%..50%)
|
||
|
|
;; ci = 0
|
||
|
|
;;
|
||
|
|
;; Inputs on DYADIC stack (slot 0 on top, slot 7 at bottom):
|
||
|
|
;; [0] percentageStaked (0..1e18, where 1e18 = 100%)
|
||
|
|
;; [1] averageTaxRate (0..1e18)
|
||
|
|
;; [2-7] reserved/future (0 if unavailable)
|
||
|
|
;;
|
||
|
|
;; Outputs (DYADIC stack at termination, bottom to top):
|
||
|
|
;; discoveryDepth (bottom)
|
||
|
|
;; anchorWidth
|
||
|
|
;; anchorShare
|
||
|
|
;; ci (top)
|
||
|
|
;;
|
||
|
|
;; Example values:
|
||
|
|
;; 0% staked, 0% tax: DD=30%, AW=10, AS=40%, CI=0
|
||
|
|
;; 50% staked, 50% tax: DD=40%, AW=105, AS=50%, CI=0
|
||
|
|
;; 100% staked, 100% tax: DD=50%, AW=200, AS=60%, CI=0
|
||
|
|
;;
|
||
|
|
;; Notes:
|
||
|
|
;; - Floor always gets 40-60% of ETH (complement of anchorShare).
|
||
|
|
;; - No EXEC.IF used — all transitions are arithmetic-only.
|
||
|
|
|
||
|
|
(
|
||
|
|
;; Step 1: Bind slot 0 (percentageStaked) and slot 1 (averageTaxRate).
|
||
|
|
PERCENTAGESTAKED DYADIC.DEFINE
|
||
|
|
;; Stack: [slot7, slot6, slot5, slot4, slot3, slot2, slot1]
|
||
|
|
TAXRATE DYADIC.DEFINE
|
||
|
|
;; Stack: [slot7, slot6, slot5, slot4, slot3, slot2]
|
||
|
|
|
||
|
|
;; Step 2: Discard unused inputs (slots 2-7) — 6 pops.
|
||
|
|
DYADIC.POP
|
||
|
|
DYADIC.POP
|
||
|
|
DYADIC.POP
|
||
|
|
DYADIC.POP
|
||
|
|
DYADIC.POP
|
||
|
|
DYADIC.POP
|
||
|
|
;; Stack: []
|
||
|
|
|
||
|
|
;; Step 3: Push discoveryDepth = 300000000000000000 + percentageStaked * 200000000000000000 / 1e18
|
||
|
|
;; Moderate exposure: ranges 30%..50%. Always some upside, never speculative excess.
|
||
|
|
PERCENTAGESTAKED
|
||
|
|
200000000000000000 DYADIC.*
|
||
|
|
1000000000000000000 DYADIC./
|
||
|
|
300000000000000000 DYADIC.+
|
||
|
|
;; Stack: [discoveryDepth]
|
||
|
|
|
||
|
|
;; Step 4: Push anchorWidth = 10 + taxRate * 190 / 1e18 (ticks: 10..200)
|
||
|
|
;; Low tax (stable market) → tight anchor bands (10 ticks).
|
||
|
|
;; High tax (volatile market) → wide anchor bands (200 ticks).
|
||
|
|
TAXRATE
|
||
|
|
190 DYADIC.*
|
||
|
|
1000000000000000000 DYADIC./
|
||
|
|
10 DYADIC.+
|
||
|
|
;; Stack: [discoveryDepth, anchorWidth]
|
||
|
|
|
||
|
|
;; Step 5: Push anchorShare = 400000000000000000 + percentageStaked * 200000000000000000 / 1e18
|
||
|
|
;; Balanced: ranges 40%..60%. Floor always gets the complement (40%..60%).
|
||
|
|
PERCENTAGESTAKED
|
||
|
|
200000000000000000 DYADIC.*
|
||
|
|
1000000000000000000 DYADIC./
|
||
|
|
400000000000000000 DYADIC.+
|
||
|
|
;; Stack: [discoveryDepth, anchorWidth, anchorShare]
|
||
|
|
|
||
|
|
;; Step 6: Push ci = 0 (no VWAP bias on floor placement).
|
||
|
|
0
|
||
|
|
;; Stack: [discoveryDepth, anchorWidth, anchorShare, ci=0]
|
||
|
|
)
|