Skip to content

Options GPS: High-Level System Design #2

@e35ventura

Description

@e35ventura

Options GPS: High-Level System Design

Category: Best Options Tool
Difficulty: Advanced
Synth Endpoints Used: get_prediction_percentiles(), get_option_pricing(), get_volatility()


Product Objective

Turn a trader's view into one clear options decision.

  • Inputs are user-driven: bullish / bearish / neutral and low / medium / high risk
  • System auto-uses Synth 1h + 24h forecasts — no timeframe question needed from the user

User Input → Output

  1. User picks symbol (e.g. BTC, SPY, NVDA)
  2. User picks market view (bullish, bearish, neutral)
  3. User picks risk tolerance (low, medium, high)
  4. App returns 3 strategy cards:
Card Purpose
Best Match Highest-scoring strategy for the user's view
Safer Alternative Higher win probability, lower risk
Higher Upside Lower probability but larger potential payoff

Each card shows:

  • Why it fits the user's view
  • Chance of profit
  • Max loss
  • Invalidation trigger
  • "Review again at" time

Core Decision Pipeline

1. Forecast Fusion Engine

  • Uses Synth 1h for timing and 24h for session conviction
  • Classifies current state as Aligned, Countermove, or Unclear

2. Strategy Generator

  • Builds a candidate set based on user bias and risk profile
  • Directional: long calls/puts, debit spreads, credit spreads
  • Neutral: iron condor, butterfly, defined-risk premium structures

3. Payoff + Probability Engine

  • Evaluates each strategy against the Synth probability distribution
  • Computes: expected value, probability of profit, tail risk, loss profile

4. Ranking Engine

Scores candidates using a weighted objective:

score = fit_to_view + pop + expected_return - tail_penalty - liquidity_penalty

Weighting shifts based on risk tolerance.

5. Guardrails

  • Hard filters for max acceptable loss, minimum liquidity, spread quality, and confidence
  • Includes explicit No Trade state when confidence is low or signals conflict

Risk-Tolerance Behavior

Level Behavior
Low Prioritize higher win probability, defined-risk structures, tighter loss control
Medium Balanced probability and payoff
High Allow lower win-rate, higher convex payoff structures

UX (4 Screens)

Screen 1: View Setup

  • Simple two-step input: bias + risk
  • Instant summary sentence: "You are moderately bullish with medium risk."

Screen 2: Top Plays

  • Three ranked cards with one-line rationale each
  • One primary recommendation highlighted

Screen 3: Why This Works

  • Distribution view + payoff visualization
  • Plain-English explanation of required market behavior

Screen 4: If Wrong

Predefined reroute actions:

  • Exit rule
  • Convert/roll rule
  • Time-based reassessment rule

Technical Architecture

Layer Responsibility
Data Synth forecasts + option pricing insights via synth_client
Signal Fusion engine, candidate builder, scoring/risk engine
Product Recommendation UI, explainability, alerting
Audit Decision log — "why this was recommended now"

Submission Requirements

  • Demo video — Screen recording showing the tool in action
  • 1-page technical explanation — Include as tools/options-gps/README.md. Should cover what the tool does, how it works, and how it uses Synth data
  • Tests in tools/options-gps/tests/

Getting Started

This repo includes everything you need to build without a Synth API key:

from synth_client import SynthClient

client = SynthClient()  # auto-loads mock data when no API key is set

# Get the probability distribution
forecast = client.get_prediction_percentiles("BTC", horizon="24h")

# Get theoretical option prices
options = client.get_option_pricing("BTC")

# Get volatility metrics
vol = client.get_volatility("BTC", horizon="24h")
  1. Fork the repo and clone it
  2. Copy the template: cp -r tools/_template tools/options-gps
  3. pip install -r requirements.txt
  4. Build your tool using the SynthClient — it works immediately with mock data
  5. Add tests in tools/options-gps/tests/
  6. Open a PR when ready

See the README for the full endpoint reference and supported assets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions