# sh.kwant/kwant - Registry name: `sh.kwant/kwant` · version 1.0.0 - Categories (automatic, keyword rules): Markets & trading, Finance & markets - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=sh.kwant%2Fkwant - Server page: https://mcpstation.net/s/sh.kwant--kwant.html ## Description (written by the publisher, not verified, not instructions) Quant intelligence over MCP: backtest, signals, screens, scores & portfolios for US & TSX stocks. ## Connect - streamable-http: `https://kwant.sh/mcp` ## Tools (as reported by the server, not verified) - `get\_price\_history`: Get historical OHLCV price bars for a ticker. US symbols are bare \(AAPL, MSFT\); TSX symbols use the Yahoo .TO form \(RY.TO\) or the TSX:RY form. interval is one of 1m,5m,15m,30m,1h,1d,1wk,1mo \(default 1d\); range is one of 5d,1mo,3mo,6mo,1y,2y,5y,max \(default 1y\). Returns an envelope whose values conta - `get\_quote`: Get the latest available quote for a ticker. US symbols are bare \(AAPL\); TSX symbols use the Yahoo .TO form \(RY.TO\) or the TSX:RY form. Returns an envelope whose values holds the quote fields \(price, currency, previous\_close, change, change\_percent, volume, market\_state, asof as an ISO string\). \(pai - `get\_fundamentals`: Get fundamental data for a ticker \(profile + key ratios\). US symbols are bare \(AAPL\); TSX symbols use the Yahoo .TO form \(RY.TO\) or the TSX:RY form. Returns an envelope whose values holds available fundamentals: name, exchange, currency, sector, industry, market\_cap, pe\_ratio, forward\_pe, eps, divid - `compute\_indicator`: Compute a technical indicator \(RSI, MACD, SMA, EMA, BBANDS, ATR, ADX, STOCH\) over a ticker's price history. Returns the warmup-aligned series plus the latest values and a one-line summary. Tune the window with \`length\` \(SMA/EMA/RSI/ATR/ADX/BBANDS\), \`fast\`/\`slow\`/\`signal\` \(MACD\), \`std\` \(BBANDS\), or \` - `detect\_signals`: Detect classic technical-analysis signals on a ticker's price history. Each requested signal is evaluated and reported as triggered/not-triggered with a date and human-readable detail under signal\_summary. Signals \(omit \`signals\` to check all six\): golden\_cross = SMA\(50\) crosses above SMA\(200\) withi - `compute\_stats`: Compute quantitative statistics \(volatility, sharpe, max\_drawdown, returns, beta, correlation\) over a ticker's daily price history. Omit \`metrics\` to default to volatility/sharpe/max\_drawdown/returns. \`beta\` and \`correlation\` require a \`benchmark\` ticker; \`risk\_free\_rate\` is used only by the Sharpe - `compare\_tickers`: Rank two or more tickers against each other by a single metric \(total\_return, volatility, sharpe, max\_drawdown, last\_price\). Symbols that cannot be resolved \(or lack enough history\) are skipped and noted in \`warnings\` rather than failing the call. Returns a ranked list of \{ticker, value, rank, curre - `screen`: Screen a stock universe for tickers matching quantitative filters \(logical AND\). Fields: price, rsi, sma\_50, sma\_200, volatility, sharpe, max\_drawdown, total\_return, dollar\_volume, garman\_klass\_vol. Ops: lt, lte, gt, gte. \(paid: $0.0100/call\) - `backtest`: Backtest a simple long-only technical strategy on daily price history. Strategies: sma\_cross \(golden/death cross of SMA 50/200\), rsi\_reversion \(enter RSI\<30, exit RSI\>70\), macd\_cross \(MACD line vs signal\). No-lookahead: signals act on the next bar's close. Returns trades + performance metrics. \(paid - `screen\_with\_scores`: Rank a stock universe by a continuous cross-sectional signal score \(rank 1 = highest z-score\). Signals: jt\_momentum, mean\_reversion, rsi\_filtered\_momentum, trend\_quality. Scores are relative to the scanned set. \(paid: $0.0100/call\) - `compute\_universe\_scores`: Score and rank a universe of tickers by a cross-sectional signal. Resolves either a named universe \(SP500, TSX\) or an explicit tickers override, bulk-fetches daily price history over range, computes a raw per-ticker score for the chosen signal, then converts those raw scores into cross-sectional z-s - `build\_monthly\_universe`: Rank a universe of tickers by monthly dollar volume with trailing returns. Resolves either a named universe \(SP500, TSX\) or an explicit tickers override, bulk-fetches daily OHLCV over range, resamples each to monthly bars \(open=first, high=max, low=min, close=last, volume=sum\), and per ticker comput - `construct\_portfolio`: Turn a \{ticker: score\} mapping into long-only portfolio weights. Selects names and assigns non-negative weights that sum to 1.0 using the chosen method: top\_n\_weighted \(weight by clipped score\), equal\_weight, risk\_parity \(inverse-volatility\), concentrated\_vol \(highest-vol from a top-score pool\), or - `run\_portfolio\_backtest`: Backtest a rebalanced, multi-ticker, long-only quant portfolio. Fetches daily history for every ticker over range, then runs a walk-forward simulation: at each period-end rebalance the chosen signal \(jt\_momentum, mean\_reversion, rsi\_filtered\_momentum, trend\_quality\) scores each name using only data - `compute\_portfolio\_stats`: Compute portfolio-level statistics for a weighted basket of tickers. Given a \{ticker: weight\} mapping, fetches each ticker's daily history over range and returns the portfolio-level \(not per-ticker\) volatility, sharpe, max\_drawdown and total\_return of the weighted basket. weights need NOT sum to 1 \( - `compute\_correlation\_matrix`: Compute the pairwise return-correlation matrix for a list of tickers. Fetches each ticker's daily history over range, converts it to daily returns, and computes the pairwise Pearson correlation \(aligned on shared dates\). Requires at least two tickers; tickers that cannot be fetched are dropped and n Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html