Use daily open as perp-hedge entry and toggle buy-straddle vs perp overlays.
Amp-stats now prices premium from each day's open, and the form switches mutually between straddle and perpetual-options对照. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -103,7 +103,11 @@ def create_amp_stats_router() -> APIRouter:
|
||||
"timeframe": "1H",
|
||||
"metric_note": "振幅与距离均为点数:振幅=最高-最低=(开→高)+(开→低)",
|
||||
"straddle_note": "买跨:越过权利金用>;止盈≥触达用止盈点否则|涨跌|;收益=有效波动-权利金",
|
||||
"perp_hedge_note": "永期对冲:永续多1币+买期权;比例默认1:2;达标与组合盈亏见文档",
|
||||
"perp_hedge_note": "永期对冲:永续多1币+买期权;入场按日开盘;比例默认1:2;与买跨二选一对照",
|
||||
"overlay_modes": [
|
||||
{"key": "straddle", "label": "买跨双边"},
|
||||
{"key": "perp", "label": "永期对冲"},
|
||||
],
|
||||
}
|
||||
|
||||
@router.post("/compute")
|
||||
@@ -198,7 +202,6 @@ def create_amp_stats_router() -> APIRouter:
|
||||
hedge_ct_mult: float = Query(default=0.01),
|
||||
):
|
||||
hedge_q = {
|
||||
"spot": hedge_spot,
|
||||
"target_profit_u": hedge_target,
|
||||
"perp_leverage": hedge_perp_lev,
|
||||
"option_leverage": hedge_opt_lev,
|
||||
@@ -206,13 +209,14 @@ def create_amp_stats_router() -> APIRouter:
|
||||
"ratio_opt": hedge_ratio_opt,
|
||||
"ct_mult": hedge_ct_mult,
|
||||
}
|
||||
hedge_q_ready = hedge_target is not None and hedge_perp_lev is not None and hedge_opt_lev is not None
|
||||
if (history_id or "").strip():
|
||||
item = get_history(history_id.strip())
|
||||
if not item:
|
||||
raise HTTPException(status_code=404, detail="历史不存在")
|
||||
rows_all = item.get("rows_all") or item.get("rows") or []
|
||||
item_hedge = item.get("perp_hedge") if isinstance(item.get("perp_hedge"), dict) else None
|
||||
use_hedge = hedge_q if hedge_spot is not None else item_hedge
|
||||
use_hedge = hedge_q if hedge_q_ready else item_hedge
|
||||
try:
|
||||
payload = reframe_amp_stats(
|
||||
rows_all=rows_all,
|
||||
@@ -246,7 +250,7 @@ def create_amp_stats_router() -> APIRouter:
|
||||
straddle_premium=straddle_premium,
|
||||
take_profit=take_profit,
|
||||
weekend_filter=weekend_filter,
|
||||
perp_hedge=hedge_q,
|
||||
perp_hedge=hedge_q if hedge_q_ready else None,
|
||||
)
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=400, detail=str(exc)) from exc
|
||||
|
||||
Reference in New Issue
Block a user