Import from Composer or QuantMage
You can bring a strategy you already have from Composer or QuantMage. It opens as a private draft in the builder, with its backtest ready, and from there it's an ordinary Tactfolio strategy: edit it, save revisions, trade it on paper, or publish it.
An import either reads the same as the original or says where it doesn't. When a strategy uses something the builder can't express yet, nothing is saved and every such part is listed, so you know exactly what is missing.
From Composer#
- Open the symphony in Composer and use Copy Symphony JSON.
- In Tactfolio, open the builder, paste it into Import from Composer or QuantMage, and choose Import. If you saved the JSON as a file, choose Upload a file instead.
Tactfolio reads only the JSON you give it. It never fetches a strategy from Composer, so a share link can't be imported on its own.
From QuantMage#
- Open the spell in QuantMage's Grimoire and choose Export. It saves a
.jsonfile. - In Tactfolio, choose Upload a file under Import from Composer or QuantMage, or paste the file's contents.
A QuantMage link can't be imported on its own either; the export carries the spell.
How the blocks carry over#
| Composer | QuantMage | Tactfolio |
|---|---|---|
| Weight: equal, specified, inverse volatility | Weighted: Equal, Custom, Inverse Volatility | Weight with the same weighting |
| If / Else, including Else If | IfElse | If; combined all and any conditions become nested Ifs |
| Filter | Filtered | Rank |
| Group | (a named block) | Group |
| Switch | Ifs that count how many conditions hold (at least) | |
| Enter/Exit | Enter / Exit | |
| Threshold rebalancing | Threshold trading | A daily check with a drift band of the same width |
An empty branch in QuantMage holds cash here too. Composer's percentages are
converted: a cumulative return above 5 becomes 0.05, and a daily standard
deviation of return becomes the builder's annualized volatility, so each
condition keeps its meaning. The builder's
indicators cover price, moving averages, EMA, RSI, cumulative
and mean returns, volatility, price standard deviation, maximum drawdown, the
momentum scores, Ultimate Smoother, Trend Clarity, and Aroon-Up.
Where an import reads differently#
The import lists these as notes before the strategy opens.
- Rebalance day. Weekly, monthly, quarterly, and yearly strategies trade on the last trading day of each period here. Composer and QuantMage trade on the first trading day of the next, one session later.
- Enter/Exit. When both triggers fire on the same day, Tactfolio stays in; QuantMage exits. Tactfolio also keeps tracking the triggers while a branch above skips the block, where QuantMage starts over.
- Empty branches in an equal split. When one branch of a QuantMage equal split holds nothing on a given day, QuantMage hands its share to the others; Tactfolio holds that share in cash.
Costs follow the source: Composer imports keep its 1 basis point of slippage, and QuantMage spells keep their own setting.
Prices come from a different data source than Composer's or QuantMage's, so a backtest of the same rules can differ slightly, most often around splits and dividends.
What can't be imported yet#
- Composer's percentage price oscillator, and conditions that compare readings in different units, such as a price with a return.
- QuantMage's Mixed blocks, month-of-year conditions, readings from days ago, a
bias added to a condition, conditions on a branch's own performance
(
Subspell "Then"), and the Drawdown, Aroon Down, Aroon, MACD, and percentage price oscillator indicators. - Economic series the builder doesn't carry, and anything that isn't a US-listed stock or fund.
Your AI assistant can import too: see import_strategy in
AI assistants.