/** * dsh-quant-indicators 插件:给模型一组纯计算技术指标工具。 * * 结构遵循官方工具包约定(见 packages/AGENTS.md): * - 函数插件:named-export name / inject / apply,无 default export * - 每个工具用 defineTool:统一 schema DSL + canonical output + render * - 注册是可逆 effect(ctx.tools.register 返回 disposer,fiber 释放即注销) * * 契约要点(defineTool 铁律,见 notes/03-tool-system.md): * - 参数由 defineTool 校验(类型/必填/整数),DSL 表达不了的约束在 execute 手检 * - execute 只返回 canonical 值;错误抛错 → registry 转 isError 结果 * - 非有限数在 registry 的 lossless-JSON 参数快照层已被拒绝(模型 JSON 边界) * - isConcurrencySafe: true(纯函数、无共享状态、可并行) */ import type { Context } from '@deepseek-ai/cordis'; export { adx, atr, bollinger, cci, ema, kdj, macd, obv, roc, rsi, sma, williamsR } from './dsh-alpha/indicators.js'; export { backtestBollingerBreakout, backtestGrid, backtestMaCross, backtestPortfolio, backtestRsiReversion } from './dsh-ml/backtest.js'; export { portfolioOptimize } from './dsh-ml/optimizer.js'; export { layeredBacktest } from './dsh-ml/layered.js'; export { attribution } from './dsh-ml/attribution.js'; export { factorCorrelation } from './dsh-ml/factor-corr.js'; export { deflatedSharpe } from './dsh-ml/deflated-sharpe.js'; export { parameterSensitivity } from './dsh-ml/sensitivity.js'; export { rebalanceSchedule } from './dsh-ml/rebalance.js'; export { fetchKlines, parseKlines, parseOkxKlines, parseBybitKlines, parseSinaKlines, parseTencentKlines, parseYahooChart, INTERVALS, MARKET_PROVIDERS } from './dsh-data/market.js'; export { DATA_CHANNELS, accessReadiness, adviseChannels, channelAccessGuide, compareChannels, findChannel, searchChannels } from './dsh-data/data-guide.js'; export { annotateSeries, candlesCheck, seriesQuality, seriesStats } from './dsh-data/stats.js'; export { channelReliability, dataQualityReport, pitCheck, survivorshipCheck } from './dsh-data/quality.js'; export { combineFactors, factorEvaluate, factorNeutralize } from './dsh-alpha/factor.js'; export { icDecayAnalysis } from './dsh-alpha/decay.js'; export { tradeQuality } from './dsh-execution/trade-quality.js'; export { stressTest } from './dsh-risk/stress.js'; export { tradingCost } from './dsh-execution/trading-cost.js'; export { chartAnnotate, chartBacktest, chartCandles, chartSeries } from './dsh-execution/chart.js'; export { equityMetrics, tradeMetrics, METRIC_CATALOG } from './dsh-ml/metrics.js'; export { kupiecTest, riskMetrics } from './dsh-risk/risk.js'; export { resampleCandles } from './dsh-data/resample.js'; export { fetchRepoStats, parseRepoStats } from './dsh-community/github.js'; export { fetchNpmStats, parseNpmStats } from './dsh-community/npm.js'; export { ossPulse } from './dsh-community/pulse.js'; export { walkForward } from './dsh-ml/walkforward.js'; export { evaluatePredictions, fitLinearModel, predictLinearModel } from './dsh-ml/linear.js'; export { drawdownAnalysis } from './dsh-risk/drawdown.js'; export { bondAnalytics, priceFromYield, yieldFromPrice } from './dsh-risk/bond.js'; export { bsPrice, impliedVolatility, optionAnalytics } from './dsh-risk/options.js'; export { realizedVolatility } from './dsh-risk/volatility.js'; export { executeSimulate } from './dsh-execution/execute.js'; export { researchPipeline, researchMultiAsset } from './dsh-execution/pipeline.js'; export { factorEvaluateCrossSection } from './dsh-alpha/cross-section.js'; export { backtestTargetWeights, backtestSingle, buyCostRate, sellCostRate, DEFAULT_COST, maxDrawdown, annualizedReturn, sharpeRatio, downsideDeviation, simpleReturns, barClose, barOpen, equalWeightBenchmark, } from './dsh-strategy/engine.js'; export { sma as smaSeries, rollingStd as rollingStdSeries } from './dsh-strategy/engine.js'; export type { Bar, CostModel, BacktestOptions, BacktestResult } from './dsh-strategy/engine.js'; export { ALL_STRATEGIES, findStrategy, runStrategy, maCross, volTarget, crossMomentum, momentumStop, lowVolCircuit, shortReversal, equalWeightIndex, drawdownFromHigh, } from './dsh-strategy/strategies.js'; export type { Strategy, StrategyContext } from './dsh-strategy/strategies.js'; export { fetchIndexConstituents, fetchIndexUniverse, toSymbol, toCode, INDEX_CODES } from './dsh-strategy/sources.js'; export { normCdf, normInv, meanSeNW, pValue, power, requiredSampleSize, centralTCdf, tQuantile, noncentralTCdf, incompleteBeta, deflatedSharpe as deflatedSharpeStrategy, } from './dsh-strategy/stats.js'; export { validateStrategy } from './dsh-strategy/validate.js'; export type { ValidationReport, GateResult, ValidateOptions } from './dsh-strategy/validate.js'; export { fetchIndustries, industryStats } from './dsh-strategy/industry.js'; export type { IndustryMap } from './dsh-strategy/industry.js'; export { dailyExcessTest, autocorr } from './dsh-strategy/dailytest.js'; export type { DailyTestResult } from './dsh-strategy/dailytest.js'; export { marketBoard, isMainBoard, priceLimitPct, boardBreakdown, filterByBoard } from './dsh-strategy/boards.js'; export type { MarketBoard, BoardBreakdown } from './dsh-strategy/boards.js'; export { detectHiddenLeverage, detectOutlierDependence, detectSurvivorshipBias, detectGapDependence, detectAdverseSelection, auditBacktest, } from './dsh-strategy/traps.js'; export type { TrapFinding, TrapReport } from './dsh-strategy/traps.js'; export { scoreSectorReversal, riskParityWeights, shouldExit, canAddSector, SECTOR_REVERSAL_META, } from './dsh-strategy/sector-reversal.js'; export type { SectorReversalContext, CrossFeatures } from './dsh-strategy/sector-reversal.js'; export type { DailyBars } from './dsh-strategy/sources.js'; export declare const name = "dsh-quant"; export declare const inject: readonly ["tools"]; export declare function apply(ctx: Context): void;