Browse documentation

Data object templates

Start a data object from one of SPARK's 50 ready-made templates, from funds and share classes to NAVs, trades and analytics signals, on the Data page or by asking an agent.

A template is a ready-made data object: its name and icon, its attributes, the links to the objects it relates to, and how its records are named and kept unique. SPARK ships 50 of them for investment operations, from funds, sub-funds and share classes to NAVs, positions, trades and the results of NGT's analytics. Starting from one saves you building a common structure by hand, and keeps related objects consistent with each other. You can create from a template on the Data page, or ask an agent to do it.

Create from a template

  1. Open the Data page: in the sidebar's Ecosystem tab (⌘⇧E), click Data (if it is folded away, click More first). The same list is in Settings › Features › Data Objects.
  2. Click the arrow beside New (its tooltip reads More ways to create), then Create from template.
  3. Choose data object templates opens on its Templates step, with the templates in their groups. To find one, type in the search field above the list: it matches names and descriptions.
  4. Tick the checkbox of each template you want. Click a template's name to preview it on the right (below).
  5. Click Next. On the Dependencies step, decide what happens to each object your templates link to, and if you need to, to single fields. Change selection or Back takes you back to your selection.
  6. Click Create N data objects. The button counts the objects it will create, and the footer adds how many it links to objects you already have.
Choose data object templates1Templates2DependenciesSearch...Reference DataBalance AccountDelegateFee ParameterFundInvestment ProductSub FundMandate RulePersonShare ClassHoldingsBalanceCompany RiskFeeNAV RecordPortfolio PositionTradeShare Class NavTransactionsShare Class NavDaily NAV timeseries per share class and sub-fund, including subscriptions,redemptions and dividends.DependenciesDelegateFundSub FundShare ClassAttributes (17)DatedateBusiness date of the NAV record.Sub FundSub FundSub-fund of the NAV record.Share ClassShare ClassShare class of the NAV record.Official NAVbooleanTrue when this is the official published NAV.Outstanding SharesnumberNumber of shares outstanding for the share class.Nav Amount Share ClassnumberTotal NAV of the share class in local currency.Nav Amount Sub FundnumberTotal NAV of the sub-fund in local currency.Nav Per SharenumberNAV per share in local currency.Valuation CurrencystringISO code of the currency the NAV is valued in.2 templates selected.CancelNext
Tick the templates you want; the one you click is previewed on the right.

You can pick several templates at once, and each becomes its own data object. A group folds when you click its name, and the button beside the search folds them all (Collapse all) or opens them again (Expand all). A search opens every group it finds something in.

What the preview shows

Clicking a template's name shows it on the right without ticking it:

  • what the template holds, in a sentence or two;
  • Dependencies: every template it links to, directly or through another one. The next step asks what to do about each;
  • Attributes, with each one's type and what it means. An attribute that links to another template shows that template's name instead of a type.
A template that depends on other objects does not create them blindly. You decide what happens to each dependency before anything is created, which is the next step.

Choose what happens to each dependency

The Dependencies step keeps your selection at the top, then lists every object your templates link to. Open the selector beside each and pick one:

  • Create new, named after the dependency (for example Create new Share Class): creates it from its own template, alongside the ones you picked. A dependency your workspace has nothing for starts here.
  • Link to a data object you already have (for example Link to Funds): the template's links point at that object instead of a second copy of it. A dependency your workspace already has an object of, made from the same template, starts on linking to it, so adding one template to a workspace that is already set up creates just that template. You can pick any data object, including one you built yourself; one with no attributes is listed with the reason and can't be picked. Once the workspace has more than 15 data objects, the list has a search field.
  • Don’t create, keep as text: creates nothing for it. The attributes that would have linked to it become plain text fields, so their values still arrive, linked to nothing. You can't follow that relationship in views, filters and canvas widgets, so choose it only when you don't need the related object.

Linking or skipping a dependency also takes out what only it needed. Link Sub Fund to an object you already have, and Fund and Delegate, which only Sub Fund needed, are no longer created: their rows stay in the list, greyed, and come back if you switch Sub Fund back to creating.

Choose data object templatesTemplates2Dependencies2 templates selectedChange selectionNAV RecordShare Class NavDependencies4Create them, link data objects you already have, or keep the reference as text.DelegateCreate new DelegateFundCreate new FundSub FundLink to FundsShare ClassCreate new Share ClassFieldsOptional. Point one field at a data object of its own, or turn a plain text field into a relationship by linking it.NAV Record3 fieldsNAV DatedateKeep as dateNAV Valuedouble precisionKeep as double precisionSub FundSub FundFollow Sub Fund aboveShare Class17 fieldsShare Class Nav17 fields3 data objects will be created, 1 linked to existing data object.BackCreate 3 data objects
Sub Fund linked to the workspace's own Funds: Fund and Delegate drop out, greyed, and three objects are left to create.

Override where a field points

Dependencies are decided as a whole, but a single field doesn't have to follow. The Fields card below them is optional: it lists each data object about to be created, folded, with its number of fields. Open one to see every field, its type, and what it will be:

  • A field that links to a dependency shows Follow and the dependency's name (for example Follow Sub Fund above): it points wherever you sent that dependency. Pick a data object to point this one field somewhere of its own. That matters when a template links to the same object for several reasons: a Fund's auditor, depositary, administrator and its other service providers all link to Delegate, and each can point at an object of its own.
  • A plain field shows Keep as and its type (for example Keep as varchar). Pick a data object to turn it into a link the template didn't declare, such as an Investment Product's Currency pointing at your own object of currencies.

The types here are the template's own: varchar and text are text, double precision and the integers are numbers. The card's title counts the fields you have linked.

After creation

When you confirm, everything is created in one go: if one object can't be made, none is, and a dependency two templates share is created once. A message confirms how many objects were created (for example 3 data objects created from template), and you stay on the list of data objects, where the new ones appear in a group named after their template's group, such as Reference Data or Holdings. From there you can rename attributes, add your own and start adding records. See Create a data object and Add, edit & import records.

An object made from a template shows it on its General settings, in a Source row. Creating from the same template again gives you a second object: its slug, the name APIs use, ends with the date and time it was made.

Ask an agent to create one

Since v0.36.1, agents can create data objects from templates too. In a thread, ask an agent that can create data objects, such as the built-in Spark, for what you need ("a table for our share class NAVs") or name the template ("create the Event object from its template"). The agent:

  1. Looks for an object your workspace already has for it, and uses that one rather than proposing it again.
  2. Looks for a fitting template, and asks whether to create from it or from scratch.
  3. Reads the template and shows you, in one answer: its columns; what it links to, directly and through another object; which of your objects each link will point at; and, for each related object your workspace lacks, the choice: create it too, link to another object you have, or not relate it at all, so its link columns stay plain text. If you already have an object from that template, it says so and asks whether you want a second one.
  4. Ends that answer with one question, and never creates in the same turn.
  5. Creates the object on your reply, exactly as the template is, then makes any change you asked for, such as a renamed column or a plain column turned into a link. Required and unique fields, constraints, display settings, the group and the reference display are yours to change in the object's settings.

When you name the object and give its columns yourself, the agent builds it as you asked, and mentions a fitting template in a line at most.

The template catalogue

SPARK's 50 templates, in their nine groups, in the order the picker lists them. Links to names the templates each one links to directly; the picker's preview also lists the ones those link to in turn.

Reference Data

The static data everything else links to: funds, sub-funds and share classes, the instruments they hold, the firms that service them and the terms that apply.

TemplateWhat it holdsLinks to
Balance AccountAccounting balance accounts and how they are classifiedNone
DelegateService providers and counterparties: administrators, investment managers, depositaries, auditors, custodians, limited partnersNone
Fee ParameterThe fee schedule of a sub-fund or share class: management, performance, distribution and other fees, with their rates and payment frequencyFund, Sub Fund, Share Class
FundFunds as umbrellas or legal vehicles, with their service providersDelegate
Investment ProductTradable instruments: identifiers, classification and termsShare Class
Sub FundPortfolios however they are run: sub-funds, funds held directly, managed accounts, mandates; with strategy, currency and leverageFund, Delegate
Mandate RuleInvestment and regulatory limits for compliance monitoring: concentration limits, exposure caps, UCITS and AIFMD ratiosNone
PersonA founder, executive or key contact at a companyCompany
Share ClassThe share classes of a sub-fund, with currency, hedging and distributionSub Fund

Holdings

Day by day, what the funds hold and what it is worth, and the risks tracked on a company.

TemplateWhat it holdsLinks to
BalanceDaily accounting balances per sub-fund, share class and balance accountSub Fund, Share Class, Balance Account
Company RiskA risk identified on a company, by hand or by a workflow, tracked to mitigationCompany
FeeDaily fee accruals per sub-fund and share classSub Fund, Share Class, Fee Parameter
NAV RecordA sub-fund's NAV on each valuation date, in its base currencySub Fund
Portfolio PositionA sub-fund's holding of an instrument on a date: quantity, market value, price, FX rate, unrealized P&LSub Fund, Investment Product
TradeTrades per sub-fund and instrumentSub Fund, Investment Product, Delegate
Share Class NavDaily NAV per share class, with subscriptions, redemptions and dividendsSub Fund, Share Class

Transactions

Investors' commitments to private-markets funds.

TemplateWhat it holdsLinks to
Capital CommitmentA limited partner's commitment to a private-markets sub-fund: amount, capital called, distributions, vintage and statusSub Fund, Delegate

Analytics

Where the analytics of NGT Tools write their results, one signal object each, and the Event that the Exception Framework raises from them.

TemplateWhat it holdsLinks to
Contribution Analysis SignalContribution analysis results per instrument, leg and dateSub Fund, Investment Product
EventOne exception-framework rule firing on one signal row: a breach, an off-terms period, a model or data-quality findingSub Fund, Share Class, Fees Analytics Signal, Performance Fees Signal, Share Class Evolution Signal
Fees Analytics SignalEach fee's expected and reported accrual per NAV date, and the deviation between themFee Parameter, Sub Fund, Share Class
Independent Price Valuation SignalIndependent price checks per position and dateSub Fund, Portfolio Position
Nowcasting SignalProjected prices or returns and their bound breaches, per sub-fund and dateSub Fund
Peer Benchmark SignalWhere a sub-fund's fees, returns, exposures and size sit in its peer groupSub Fund
Peer GroupThe peer funds selected for each sub-fund on each date, and how closely each matchesSub Fund
Peers Analytics SignalPeer-group return comparison per sub-fund and dateSub Fund
Performance Fees SignalThe reported performance fee accrual against the bounds it should sit in, per share class and dateShare Class, Fee Parameter
Performance MetricDaily returns and risk measures from the NAV series: volatility, drawdowns, Sharpe, Sortino, VaRSub Fund
Proxy Analytics SignalProxy-based NAV estimates and how closely they track, per sub-fund and dateSub Fund
Share Class Evolution SignalNAV-per-share return bounds and breaches, per share class and dateShare Class
Share Class FX Hedging SignalFX hedging analysis per share class and dateSub Fund, Share Class Nav
Sub Fund Accounting SignalAccount P&L and NAV movements per sub-fund and dateSub Fund, Balance
TER Analytics SignalEach share class's total expense ratio on each NAV date. See TERSub Fund, Share Class

Deal Flow

A private-markets pipeline, from the companies you look at to the investment committee.

TemplateWhat it holdsLinks to
CompanyA company the fund evaluates and backs: sector, stage and team, then ownership, valuation and health once backedNone
DealAn opportunity tracked from inbound to term sheet or passCompany
Investment MemoThe investment committee memo for a deal: recommendation, proposed check size and key risksDeal

Metrics & Scores

What portfolio companies report, and how deals score.

TemplateWhat it holdsLinks to
Company KPIA periodic KPI snapshot a company reports, for health monitoring, runway analysis and risk detectionCompany
Investment ScoreA deal's scores out of 10 for team, market, product and traction, with an overall score and a recommendationDeal

Investor Relations

The limited partners in a fund, and what is reported to them.

TemplateWhat it holdsLinks to
Capital AccountAn LP's periodic capital account statement: commitment, called, distributed, NAV and multiplesLP
LPA limited partner committed to a fund, with its commitment and primary contactFund
Portfolio ValuationA periodic fair-value mark on a fund's position in a portfolio company, with its approval statusFund

Productivity

Day-to-day work, each item tracked to its end.

TemplateWhat it holdsLinks to
EmailEmails saved by the Save Emails step or an agent: who sent each to whom and when, its text, and its attachments, kept in FilesNone
InitiativeA workstream tracked to completion, such as a due-diligence project or a value-creation initiativeNone
MeetingA meeting or call with a company, from a founder's first call to a board meetingCompany
Reconciliation BreakOpen and closed breaks across custody, administrator and prime-broker streams, with classification, age and ownerSub Fund, Investment Product
Reporting PackageA quarterly LP reporting package and its production status, with its approval trailFund
RequestAn inbound question or data request, with its priority and due dateNone

Extractions

What reading documents writes: the values and entities read from files.

TemplateWhat it holdsLinks to
Document entityEntities read from a document extraction, one value per rowDocument extraction
Document extractionValues read from files, one table cell or text block per row, with where it sits in the file and how sure the reader wasNone
Parsed entityThe entities an AI parse read from a whole file, one per rowNone
Parsed table valueThe table values an AI parse read from a whole file, one per rowNone

The picker is always the source of truth: the set of templates grows over time.

Template versions

Each template carries a version, though the picker doesn't show it, and a template can change between releases as its analytics does. Recent ones:

TemplateVersionWhat changed
Fees Analytics Signal2.2.1Expected, observed and deviation columns per fee; the accrual deviation is a fraction of NAV
TER Analytics Signal1.0.1Each share class's total expense ratio (new in 1.0.0; see TER). 1.0.1 corrects two descriptions; the columns are unchanged
Performance Fees Signal4.0.0Bounds named <column>_lower_bound / _upper_bound, a breach flag, a carried balance
Share Class Evolution Signal1.0.1One row per share class and date; 1.0.1 adds Return distance outside bounds, how far a breaching NAV-per-share return is outside its range
Peer Group and Peer Benchmark Signal1.0.0New: a fund's peer roster, and where it sits among its peers
Event2.0.2New: one exception-framework rule firing on one signal row
Fee Parameter4.0.0Performance fee contract terms, including Fee Crystallization Frequency

An object you created from an earlier version keeps the columns it was created with. To pick up a new version's columns, add them yourself on the object's Attributes tab, or create a fresh object from the template.

Where to go next