Build an equity strategy
build_equity_strategyBuild a single-stock equity strategy, or rewrite one, and return its weights. Writes.
``strategy_id`` edits that strategy (only one this client owns). An edit replaces
the whole definition: omitted arguments revert to their defaults, so restate the
rest from ``get_strategy_definition``; ``name`` may be omitted to keep it. An edit
to a strategy with a track record rebuilds it in the background (``backtest_key``).
The universe is screened at every rebalance, so a backtest holds what the screen
picked on each date; ``regions`` is required. A screen or weighting is saved by
its ``request`` plus a name. ``asset_ids`` instead fixes the universe for the whole
history (other universe arguments go inert): a list the client brings. Ids copied
from a screen, a weighting or today's holdings give a backtest hindsight bias.
- ``sizes`` — 'large', 'mid', 'small', 'micro'; default large and mid.
- ``sectors`` / ``industries`` — GICS sectors, or GICS codes of 4, 6 or 8 digits
from ``find_gics``; a code inside a named sector narrows it, else adds to it.
- ``esg_filter`` — 'exclude_worst' drops the exclusion list and the worst ESG
decile; 'positive_tilt' drops the list and keeps the best three quarters.
- ``themes`` — maintained theme codes ('artificial_intelligence', 'defence', ...);
several keep the members of any of them.
A lone theme or sector the catalogue carries returns its rows instead of building
(``build_anyway=True`` builds anyway); with a region, ESG screen, tilt or
non-default weighting it builds, and reports the rows beside it.
``fundamentals`` ranks the survivors on factor axes, each by default at its
usual end (cheap, high momentum, low debt, profitable, small, low volatility,
high yield, high growth). Valuation high is EXPENSIVE; 'quality' splits its
share between profitability and leverage. It keeps the top
``fundamentals_percentage_select`` (25% default); ~0.10 is a deep tilt, above
~0.50 a quality screen. ``min_dividend_yield`` then floors the yield.
``maximum_number_of_assets`` (default 100, at most 500) keeps the largest by
market cap, or under a tilt the top scores, ties larger first. The largest N are
this cap with no tilt, not a size tilt.
``company_exclude`` (names, exact, all listings) and ``theme_exclude`` (theme
codes) drop those companies, ``asset_ids`` included; matches are reported.
``construction``: 'market_cap' (by size, within the caps), 'equal' (ignores per-stock risk),
'min_risk' (lowest volatility) or 'risk_parity' (default). Caps bind every method.
``max_stock_weight`` is 10% by default; N names need 1/N, so a thin theme needs
more (1: no cap). Relaxed caps and unbuilt dates: ``notes`` (backtest's for past ones).
The weights are one solve for today. ``backtest=True`` also queues the history
backtest, which writes the ledger; follow ``backtest_key``.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "build_equity_strategy"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| sizes | No | ||
| themes | No | ||
| regions | No | ISO-3 country codes ('SWE'), country names ('Sweden') or the groups 'global', 'nordics', 'europe' (which includes the Nordics) and 'north_america'. Where a company is LISTED, not where it is based: a foreign company with a local listing counts in that country. | |
| sectors | No | ||
| backtest | No | ||
| asset_ids | No | ||
| esg_filter | No | ||
| industries | No | ||
| strategy_id | No | ||
| build_anyway | No | ||
| construction | No | risk_parity | |
| fundamentals | No | ||
| gics_exclude | No | GICS codes whose companies are dropped, at any level: 2-digit sectors, or 4-, 6- and 8-digit codes from find_gics. | |
| history_years | No | ||
| theme_exclude | No | ||
| assumed_aum_usd | No | ||
| company_exclude | No | ||
| max_stock_weight | No | ||
| max_sector_weight | No | ||
| max_country_weight | No | ||
| min_dividend_yield | No | Keep only companies whose trailing 12-month dividend yield is at least this, e.g. 0.03 for 3%. Applied after a tilt: the tilt keeps its share (fundamentals_percentage_select) of the screened universe, then the floor keeps the yielders among those. | |
| rebalance_frequency | No | quarterly | |
| max_adv_participation | No | Largest share of a stock's one-month average daily volume one position may equal. The volume is the primary listing's alone, not consolidated across venues and dark pools, so the limit is conservative. | |
| maximum_number_of_assets | No | At most 500; empty means 500. | |
| fundamentals_percentage_select | No |