本文へ移動
cccskills
無料GitHub で公開

cross-market-strategy

Write signal_engine.py for portfolios spanning multiple markets (A-shares + crypto, equity + forex, etc.)

インストール方法を見る

含まれるファイル(2)

  • SKILL.md3.8 KB
  • example_signal_engine.py2.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

When to Use

When the user requests a backtest with codes from different markets — e.g. ["000001.SZ", "BTC-USDT"], ["TD.TO", "PNG.V"], or ["AAPL.US", "EUR/USD", "600519.SH"].

The CompositeEngine handles calendar alignment, shared capital, and market rules automatically. The strategy only needs to output per-symbol signals.

Key Concepts

1. Market Classification in generate()

Group symbols by market type and apply market-specific indicator parameters:

def generate(self, data_map):
    groups = {}
    for code, df in data_map.items():
        market = self._detect_market(code)
        groups.setdefault(market, {})[code] = df

    signals = {}
    for market, market_data in groups.items():
        params = MARKET_PARAMS[market]
        for code, df in market_data.items():
            signals[code] = self._market_signal(df, params)
    return signals

2. Per-Market Parameter Tables

Different markets have very different dynamics. Using the same parameters everywhere produces poor results.

ParameterA-ShareCryptoUS EquityForex
MA fast571010
MA slow20255030
RSI period14101414
Vol lookback20142020
Typical daily vol1-2%3-8%1-2%0.3-0.8%

3. Volatility-Adjusted Weights (Critical)

BTC daily vol ~ 5%, A-share daily vol ~ 1.5%. Without vol-adjustment, crypto eats the entire risk budget.

def _vol_adjust(self, signals, data_map):
    vols = {}
    for code, df in data_map.items():
        ret = df["close"].pct_change(fill_method=None).dropna()
        vols[code] = ret.rolling(20).std().iloc[-1] if len(ret) > 20 else ret.std()

    inv_vols = {c: 1.0 / (v + 1e-10) for c, v in vols.items()}
    total_inv = sum(inv_vols.values())

    adjusted = {}
    for code, sig in signals.items():
        weight = inv_vols[code] / total_inv * len(signals)
        adjusted[code] = (sig * weight).clip(-1.0, 1.0)
    return adjusted

4. Cross-Market Signal Patterns

  1. Momentum spillover: BTC 7-day momentum as overlay for A-share tech sectors
  2. Risk-on/Risk-off: USD/CNH rate + VIX proxy to reduce equity exposure
  3. Hedging: Long A-shares + short crypto delta as tail hedge
  4. Correlation regime: When rolling correlation > 0.6, reduce to single-market exposure; when < 0.2, maximize diversification

5. What the Engine Handles (Don't Worry About)

  • Trading calendar alignment: signals are shifted on each symbol's own calendar, then ffill'd to unified dates
  • Market rules: T+1 for A-shares, funding fees for crypto, swap for forex — all per-symbol
  • Capital allocation: shared pool, strategy just sets target weights via signals
  • Commission/slippage: dispatched to correct sub-engine per symbol

config.json for Cross-Market

{
  "source": "auto",
  "codes": ["000001.SZ", "BTC-USDT"],
  "start_date": "2024-01-01",
  "end_date": "2025-03-31",
  "interval": "1D",
  "initial_cash": 1000000,
  "engine": "daily"
}
  • source must be "auto" for cross-market (routes each symbol to its loader)
  • extra_fields should be null (not all markets support fundamentals)
  • leverage defaults to 1.0 (CompositeEngine inherits from config)

Market Detection Heuristics

PatternMarket
000001.SZ, 600519.SHA-share
AAPL.USUS equity
700.HKHK equity
TD.TO, PNG.VCanada equity (TSX / TSXV)
BTC-USDTCrypto
IF2406.CFFEXChina futures
ESZ4Global futures
EUR/USDForex

Supporting Files

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ADR/H-share/A-share cross-listing premium analysis — track pricing gaps between US-listed ADRs, HK-listed H-shares, and A-shares for arbitrage signals, dual-listing valuation, and delisting risk assessment.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

akshare

無料

AKShare financial data aggregator (18k+ stars). Free, no API key. Covers A-shares, US, HK, futures, macro, forex. Primary fallback for tushare and yfinance.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

alpha-zoo

無料

Browse and bench the bundled alpha zoos — prebuilt cross-sectional factor libraries (Kakushadze 101, GTJA 191, Qlib 158, Fama-French / Carhart). Use when the user asks "which alphas exist", wants metadata on a named alpha, or wants to run IC/IR on a whole zoo over a universe.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

A 股 ST/*ST 风险预测框架 — 基于最新中报/三季报或业绩预告/快报,预测下一财年是否会因营收、利润、净资产、分红不达标而被风险警示,并将新浪监管处罚记录作为独立证据面纳入风险等级。仅适用于 A 股,不预测财务造假。

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

Asset allocation theory and optimizer usage — MPT / Black-Litterman / risk budgeting / all-weather strategy, including guides for 5 optimizers and rebalancing rules.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

Diagnose failed or underperforming backtests, locate the root cause, and fix the issue

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

HKUDS のスキルをすべて見る

このスキルの問題を報告する