arena_dip_decision
ActiveTool of Backtesting Arena
Buy now or wait for the dip? Decision-math over the user's OWN assumptions (target/dip prices, probabilities, capital). Two modes: "compare" = expected value of Buy-Now vs Wait vs Split + the breakeven dip probability (prices as MULTIPLES of today); "allocate" = the risk-adjusted (Kelly / risk-aversion γ) optimal fraction to deploy now vs reserve for the dip (ABSOLUTE prices). Ask the user for the missing inputs, then call. Returns scenario numbers and which option wins on expected value — NOT a buy/sell recommendation. For the full interactive version (incl. leverage & Elliott-wave planning) point the user to https://tradingstrategies.work/analyse/dip-decision. [Free tier]
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"context"
],
"properties": {
"mode": {
"enum": [
"compare",
"allocate"
],
"type": "string",
"default": "compare",
"description": "'compare' (default): EV of buy-now vs wait vs split + breakeven dip probability. 'allocate': risk-adjusted optimal deploy-now fraction under γ."
},
"compare": {
"type": "object",
"required": [
"target_mult",
"dip_mult",
"dip_probability",
"target_probability",
"capital"
],
"properties": {
"capital": {
"type": "number",
"description": "Total capital for the position.",
"exclusiveMinimum": 0
},
"dip_mult": {
"type": "number",
"description": "Dip price as × today, below 1 (e.g. 0.5 = wait for a 50% drop).",
"exclusiveMinimum": 0
},
"target_mult": {
"type": "number",
"description": "Target price as × today (e.g. 2.0 = a doubling).",
"exclusiveMinimum": 0
},
"failure_mult": {
"type": "number",
"default": 1,
"minimum": 0,
"description": "Price if the target is never hit, as × today. Default 1.0."
},
"split_now_pct": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 0,
"description": "Split scenario: share deployed now, percent. Default 50."
},
"dip_probability": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "P(dip is actually reached), percent."
},
"target_probability": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Unconditional P(target is eventually hit), percent."
}
},
"description": "Required when mode='compare'.",
"additionalProperties": false
},
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
},
"allocate": {
"type": "object",
"required": [
"capital",
"current_price",
"dip_price",
"target_price",
"dip_then_target_probability",
"straight_up_probability"
],
"properties": {
"capital": {
"type": "number",
"description": "Total budget for the position.",
"exclusiveMinimum": 0
},
"dip_price": {
"type": "number",
"description": "Dip price (absolute, must be below current).",
"exclusiveMinimum": 0
},
"target_price": {
"type": "number",
"description": "Target price (absolute, must be above current).",
"exclusiveMinimum": 0
},
"current_price": {
"type": "number",
"description": "Current price (absolute).",
"exclusiveMinimum": 0
},
"risk_aversion": {
"type": "number",
"default": 1,
"description": "Risk aversion γ. 1 = growth-optimal Kelly (default).",
"exclusiveMinimum": 0
},
"straight_up_probability": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "P(goes straight up to target, no dip), percent."
},
"dip_then_target_probability": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "P(dips first, THEN recovers to target), percent."
}
},
"description": "Required when mode='allocate'.",
"additionalProperties": false
}
}
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
Backtesting Arena
https://github.com/Schoasch/skill-backtesting-arena
2/7 registries