Tiger Brokers (TigerOpen) — US/HK/A-share stocks. Account, positions, orders, quotes, history, and order placement (paper + live). Use when the user wants to check or trade a Tiger / 老虎证券 account (e.g. "Tiger account assets", "buy 100 700.HK on Tiger", "my Tiger positions"). Cloud API via the official tigeropen SDK, runs in the container.

GitHub
安装命令
npx skhub add starchild-ai-agent/tiger
Markdown
SKILL.md

What this is

☁️ Cloud broker — runs directly in the container via the official tigeropen SDK. Covers US, HK, and A-share markets.

Auth is RSA-signed static key: a tiger_id + a local PKCS#1 private key (PEM) + your account number. No OAuth, no token refresh.

Paper/live guard: a Tiger paper (sandbox) account number is exactly 17 numeric digits (e.g. 20191106192858300); standard/global accounts are not. The chosen --profile must match the account format or the command fails closed. Live placement additionally requires --confirm-live. Note: paper accounts don't support GTC, so it's auto-forced to DAY.

Get your credentials

  1. Open a Tiger account and apply for API access at the Tiger Open Platform (登录 → 开发者 / API).
  2. Generate an RSA key pair (the platform requires PKCS#1). On any machine:
    openssl genrsa -out tiger_private_key.pem 2048      # PKCS#1 private key
    openssl rsa -in tiger_private_key.pem -pubout -out tiger_public_key.pem
    
  3. On the Open Platform, paste the public key content (between the BEGIN/END lines) to bind it. Note your tiger_id (developer id) shown there.
  4. Find your account number: paper account from the sandbox/模拟 section (17 digits); live/standard account from your real account page.
  5. Keep the private key safe — it never leaves your machine. Provide either its file path or paste the PEM contents via secure input.

Configure (.env)

Request via secure input — never paste keys/PEM in chat.

VariableRequiredNotes
TIGER_IDyesdeveloper tiger_id
TIGER_PRIVATE_KEY_PATHone of thesepath to the PKCS#1 PEM file
TIGER_PRIVATE_KEYone of theseinline PEM (use \n for newlines); written to ~/.tiger_private_key.pem (0600)
TIGER_PAPER_ACCOUNTfor paper17-digit sandbox account (or set TIGER_ACCOUNT)
TIGER_LIVE_ACCOUNTfor livereal account number (or set TIGER_ACCOUNT)

TIGER_ACCOUNT is a fallback used by whichever profile if the profile-specific var isn't set.

Usage

pip install tigeropen (first run; already present in this workspace). JSON output. Default profile paper.

python skills/tiger/scripts/tiger_cli.py status
python skills/tiger/scripts/tiger_cli.py account
python skills/tiger/scripts/tiger_cli.py positions
python skills/tiger/scripts/tiger_cli.py orders [--executions]
python skills/tiger/scripts/tiger_cli.py quote --symbol AAPL
python skills/tiger/scripts/tiger_cli.py history --symbol AAPL --period 1d --limit 90
# place (paper): qty in units only; market or limit; --currency default USD
python skills/tiger/scripts/tiger_cli.py place --symbol AAPL --side buy --qty 1 --type market
python skills/tiger/scripts/tiger_cli.py place --symbol AAPL --side buy --qty 1 --type limit --limit-price 180 --tif day
python skills/tiger/scripts/tiger_cli.py cancel --order-id <id>
# live:
python skills/tiger/scripts/tiger_cli.py --profile live --confirm-live place --symbol AAPL --side buy --qty 1

Periods: 1m 5m 15m 30m 1h 1d 1w 1M (note: 1m=minute, 1M=month, case-sensitive). Symbols are bare tickers (AAPL, 00700) — set --currency (USD/HKD/...) for non-USD.

Gotchas

  • Tiger has no notional path for stocks — always use --qty (units), never --notional.
  • status validates the profile/account match (17-digit guard) and pings assets. Run it first.
  • If you bound the public key but get auth errors, confirm the key is PKCS#1 (the openssl genrsa output), not PKCS#8.
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

未指定

源路径

tiger

默认分支

main

最新提交

cce29fd

Tree SHA

baca3ec