Skip to main content

Market data in your terminal, shaped for humans and agents.

Project description

OpenTrade

Market data in your terminal, shaped for humans and agents.

Search instruments, inspect quotes, review history, export datasets, and read indicator-rich observation output from one consistent command tree.

Python 3.10+ PyPI package Backend akshare Backend efinance Backend yfinance

Installation · Agent Skills · Quick start · Command tree · Output and defaults · Indicator support · More docs

English | 简体中文 | 繁體中文

Installation

Install the published PyPI package opentrade. The package exposes both opentrade and optr.

uv add -U opentrade
opentrade --help
pip install -U opentrade
opentrade --help

Python 3.10+ is required.

Agent Skills

OpenTrade also provides agent skills for automated investment research workflows.

When you want Codex, Claude Code, or another coding agent to install them, just say:

Please install skills from vortezwohl/OpenTrade, and place them in my global user skill directory.

These skills are designed for automated research across stocks, funds, bonds, futures, and broader market workflows.

Quick Start

1. Search

opentrade search --query AAPL --market US_stock --result-count 5 --format json

Use this when you only know a ticker, keyword, or company name.

2. Latest quote

opentrade quote price latest --symbols AAPL --format json

Use shared quote commands when you want a cross-backend symbol or ticker workflow.

3. History

opentrade quote price history --symbols AAPL --market us_stock --start-date 20250501 --end-date 20250601 --format json

Use history commands when you need candles, backfill, indicators, or exports.

Command Tree

Command Role Typical use
search Keyword-based discovery Find candidates before you know the exact identifier
resolve Identifier resolution Turn a symbol into a provider-specific quote ID when needed
quote Cross-asset shared queries Shared latest, history, and profile access
stock Stock-specific workflows Price, snapshot, flow, holders, profile
fund Fund-specific workflows NAV history, estimates, allocation, managers, reports
bond Bond-specific workflows Price, profile, trades, flows
futures Futures-specific workflows Catalog, history, live quotes, trades
market Market-level queries Live scans and mapping-style lookups
watch Refresh wrapper Repeat a supported command on an interval

Output and Defaults

Current real defaults for shared commands:

  • --format table
  • --indicator-level advanced
  • --view observation
  • --trace-window 32
  • omitted --backend resolves to auto

Practical notes:

  • observation is the default public-facing view.
  • Use --view raw when you want the unwrapped payload shape.
  • json is usually the best target for scripts and agents.
  • full gives richer indicator context than advanced, but it costs more backfill and computation.

Indicator Support

Indicator enrichment is a core part of opentrade and remains available on compatible commands.

Level What it gives you in practice
basic Core trend and momentum coverage such as MA, EMA, MACD, RSI, KDJ, BOLL, ATR, and OBV
advanced Broader trend-strength, channel, and money-flow coverage such as ADX, Donchian, Keltner, SuperTrend, MFI, PVT, CMF, VWAP, VR, and PSY
full Richer structure and market-context layers such as Ichimoku, SAR, Mass Index, Pivot Points, Fibonacci Retracement, support/resistance, Chaikin Oscillator, Chaikin Volatility, and EMV

Representative indicator families:

  • Moving averages and base transforms
  • Trend and channel indicators
  • Momentum indicators
  • Volume and money-flow indicators
  • Volatility indicators
  • Price-structure indicators
  • Common Chinese-market technical indicators

See docs/indicator-coverage.md for the fuller list and grouping.

Backend Notes

  • Shared commands default to auto, and auto may fall back when an earlier backend candidate fails.
  • Shared symbols are not Eastmoney quote_id values.
  • yfinance intraday history has strict window limits and is mostly single-symbol oriented in this project.
  • A command that succeeds under auto may still have lost enriched observation fields after a failed history backfill on the chosen backend.

See docs/backend-notes.md for deeper backend-specific constraints and troubleshooting notes.

Common Tasks

Search and inspect

opentrade search --query NVDA --market US_stock
opentrade quote price latest --symbols NVDA

Review history

opentrade stock price history --symbols AAPL --market us_stock --start-date 20250501 --end-date 20250601 --format json

Watch quotes

opentrade watch --interval 5 --count 3 quote price latest --symbols AAPL --format json

Export data

opentrade quote price history --symbols AAPL --market us_stock --start-date 20250501 --end-date 20250601 --format csv --output aapl-history.csv

More Docs

License

MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentrade-1.0.1.tar.gz (127.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opentrade-1.0.1-py3-none-any.whl (101.4 kB view details)

Uploaded Python 3

File details

Details for the file opentrade-1.0.1.tar.gz.

File metadata

  • Download URL: opentrade-1.0.1.tar.gz
  • Upload date:
  • Size: 127.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for opentrade-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0354d12fdf279f534df628c16d4a902d57aa8915b4de873a0b219ffd882cbce6
MD5 283a349b717bab9d451039e025aead37
BLAKE2b-256 61cf459026e6468bdc6652888b64a697cb473a6bc728020bf8282e36d933f2cc

See more details on using hashes here.

File details

Details for the file opentrade-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: opentrade-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 101.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for opentrade-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2974c6d938ea7712ef0ac38ecca7f3d56f990b8ee3f2087e63d7cae20874dd04
MD5 b2a4be05d3241ca2c44e8feb4243485c
BLAKE2b-256 587ac409a1df3f9bc354cce06cd232c5fd7961bab539cde82d938bc45e197463

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page