Set allocation or custom factor limits in the app for an account, model, or firm.
Use Factor exposure bounds in Constraints to limit an optimized portfolio’s exposure to an asset-class type or a custom factor. You can set these bounds in the app for an account, model, or firm. An exposure bound controls the weighted exposure across holdings; an asset bound controls one ticker’s weight.
Custom-factor upload is in development. You can configure bounds for built-in factors and custom factors already configured for your organization. Contact the Tilt team to request a new custom factor.
On a client page, select a named account rather than All accounts to see Setup. Scroll to Factor exposure bounds in the Constraints editor.Check the inherited values before editing. A non-empty account factor-bound list replaces the model or firm’s list as a whole. A model list replaces the firm’s list. Keep the factors you still need when creating a more specific list.
Click Add factor bound and enter the exact factor name in Factor. For equity exposure, use asset_allocation_equity.Tilt also supplies allocation factors for fixed income, commodity, currency, alternative, cash, private equity, crypto, and unknown exposure. The built-in factor reference lists their exact names and data requirements.Enter a number in each of the four bound fields. This illustrative equity range allows 50% to 70% absolute exposure and a difference of −3 to +3 percentage points from the optimization benchmark:
Field
Enter
Meaning
Min
0.50
At least 50% equity exposure.
Max
0.70
At most 70% equity exposure.
Min active
-0.03
At most 3 percentage points below the benchmark’s equity exposure.
Max active
0.03
At most 3 percentage points above the benchmark’s equity exposure.
Factor-bound fields use the factor’s units as entered. For allocation factors, enter fractions such as 0.50 for 50%. For an existing custom score, enter values on its configured loadings’ scale.
Both ranges apply together. With 60% benchmark equity exposure, the illustrative active range permits 57% to 63% equity exposure, which also falls within the absolute range. Choose ranges that fit your mandate and the account’s other constraints.Use the optimization benchmark for the active comparison. A monitoring policy can use a different benchmark; Models and benchmarks explains the references.
Enter the exact name of a custom factor already configured for your organization. Confirm its availability, loading scale, and direction with the Tilt team before setting bounds. Adding its name in this editor does not create the factor or its asset loadings.Custom-factor upload is in development. The API guide documents the upload format and replacement behavior for that work. Contact the team to request a factor while self-service upload is in development.Monitoring’s Size factor does not establish optimizer compatibility. Large-cap, mid-cap, and small-cap buckets require defined custom loadings; the built-in allocation factors do not include those buckets. A continuous Size score and a percentage allocation to a bucket measure different things. See Size and capitalization buckets.Contact the Tilt team for another Tilt-supplied factor or help defining custom loadings. Include the exposure definition, units, asset universe, intended ranges, and active benchmark. Request a new factor lists the details to send.
For an account or model, click Queue changes to close the editor. Firm edits queue as you make valid changes. Open Queued changes, check the target scope and complete factor-bound list, then click Apply to save or Discard all to abandon the draft.Reopen Constraints after saving and confirm the factor names and bounds. On an account or model, use Use the inherited bounds to return to the broader scope’s list, then queue and apply that change. Removing the last local factor row also restores inheritance; check the resulting list before applying.
After applying account changes, open the account’s Optimization tab and run Optimize. Saving bounds changes optimization inputs. It does not run optimization or place trades.Inspect the proposed holdings and factor exposures against both ranges. If the run is infeasible, review the absolute and active limits together with cash requirements, position limits, and trading restrictions. How optimization makes tradeoffs explains their interaction; Review a rebalance covers reviewing the resulting proposal.For exposure alerts and oversight policies, use Manage monitoring policies.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tilt","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/tilt/CmDCDxwb3XgHwxNS/logo/tilt-logo-black.svg?fit=max\u0026auto=format\u0026n=CmDCDxwb3XgHwxNS\u0026q=85\u0026s=c712cd24d8c9812d3728e6b503fd56aa","dark":"https://mintcdn.com/tilt/CmDCDxwb3XgHwxNS/logo/tilt-logo-white.svg?fit=max\u0026auto=format\u0026n=CmDCDxwb3XgHwxNS\u0026q=85\u0026s=efb8bcdbe259904ba562c178ab70be50"},"favicon":"https://mintcdn.com/tilt/J3pxSIYjdOBRrTOF/favicon.png?fit=max\u0026auto=format\u0026n=J3pxSIYjdOBRrTOF\u0026q=85\u0026s=1d43655803c0b4d4f0bc9d321f854c15","api":{"mdx":{"server":"https://api.tilt.now"}},"navbar":{"links":[{"href":"mailto:contact@tilt.now","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://tilt.io"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/ridethetilt","x":"https://x.com/ridethetilt","instagram":"https://www.instagram.com/ridethetilt"}},"seo":{"metatags":{"canonical":"https://docs.tilt.io"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tilt","hasAudioNarration":false,"actualSubdomain":"tilt","customDomains":["docs.tilt.now"],"gitSource":{"type":"github","owner":"delphia","repo":"tilt","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3c644f7fb2cc77b53ce7b","collectionId":"6d8b206e-a1c0-444d-97f3-fa3d79a47bf2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3c644f7fb2cc77b53ce7b"},"entitlements":{},"buildId":"6ae3c7e032fdfe8182ae205b","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Portfolio Optimization","count":52},{"language":"default","tag":"Advisor","count":31},{"language":"default","tag":"Index Construction","count":21},{"language":"default","tag":"Tilt Agent","count":17},{"language":"default","tag":"Pulse","count":14},{"language":"default","tag":"REST API (design preview)","count":14},{"language":"default","tag":"Marketplace","count":11},{"language":"default","tag":"Getting started","count":10},{"language":"default","tag":"Metrics \u0026 Reporting","count":8},{"language":"default","tag":"Monitor your book","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"advisor/set-factor-exposure-bounds","slug":"/advisor/set-factor-exposure-bounds","pageMetadata":{"title":"Set factor exposure bounds","description":"Set allocation or custom factor limits in the app for an account, model, or firm.","href":"/advisor/set-factor-exposure-bounds"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Set allocation or custom factor limits in the app for an account, model, or firm.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`Factor exposure bounds`}),` in `,_jsx(_components.strong,{children:`Constraints`}),` to limit an optimized portfolio’s exposure to an asset-class type or a custom factor. You can set these bounds in the app for an account, model, or firm. An exposure bound controls the weighted exposure across holdings; an asset bound controls one ticker’s weight.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Custom-factor upload is in development. You can configure bounds for built-in factors and custom factors already configured for your organization. Contact the `,_jsx(_components.a,{href:`mailto:contact@tilt.now`,children:`Tilt team`}),` to request a new custom factor.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`1-open-constraints-at-the-intended-scope`,children:`1. Open Constraints at the intended scope`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Location`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`One account`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Clients → client → named account → Setup → Settings → Constraints`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Model`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Models → model → Setup → Constraints`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Firm defaults`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Firm → Setup → Constraints`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`On a client page, select a named account rather than `,_jsx(_components.strong,{children:`All accounts`}),` to see `,_jsx(_components.strong,{children:`Setup`}),`. Scroll to `,_jsx(_components.strong,{children:`Factor exposure bounds`}),` in the Constraints editor.`]}),`\n`,_jsx(_components.p,{children:`Check the inherited values before editing. A non-empty account factor-bound list replaces the model or firm’s list as a whole. A model list replaces the firm’s list. Keep the factors you still need when creating a more specific list.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-add-a-factor-and-its-bounds`,children:`2. Add a factor and its bounds`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add factor bound`}),` and enter the exact factor name in `,_jsx(_components.strong,{children:`Factor`}),`. For equity exposure, use `,_jsx(_components.code,{children:`asset_allocation_equity`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Tilt also supplies allocation factors for fixed income, commodity, currency, alternative, cash, private equity, crypto, and unknown exposure. The `,_jsx(_components.a,{href:`/customization/factor-bounds#built-in-allocation-factors`,children:`built-in factor reference`}),` lists their exact names and data requirements.`]}),`\n`,_jsx(_components.p,{children:`Enter a number in each of the four bound fields. This illustrative equity range allows 50% to 70% absolute exposure and a difference of −3 to +3 percentage points from the optimization benchmark:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Enter`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Min`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0.50`})}),_jsx(_components.td,{children:`At least 50% equity exposure.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Max`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0.70`})}),_jsx(_components.td,{children:`At most 70% equity exposure.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Min active`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`-0.03`})}),_jsx(_components.td,{children:`At most 3 percentage points below the benchmark’s equity exposure.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Max active`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`0.03`})}),_jsx(_components.td,{children:`At most 3 percentage points above the benchmark’s equity exposure.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Factor-bound fields use the factor’s units as entered. For allocation factors, enter fractions such as `,_jsx(_components.code,{children:`0.50`}),` for 50%. For an existing custom score, enter values on its configured loadings’ scale.`]})}),`\n`,_jsx(_components.p,{children:`Both ranges apply together. With 60% benchmark equity exposure, the illustrative active range permits 57% to 63% equity exposure, which also falls within the absolute range. Choose ranges that fit your mandate and the account’s other constraints.`}),`\n`,_jsxs(_components.p,{children:[`Use the optimization benchmark for the active comparison. A monitoring policy can use a different benchmark; `,_jsx(_components.a,{href:`/advisor/models-and-benchmarks`,children:`Models and benchmarks`}),` explains the references.`]}),`\n`,_jsx(Heading,{level:`3`,id:`use-an-existing-custom-factor`,children:`Use an existing custom factor`}),`\n`,_jsx(_components.p,{children:`Enter the exact name of a custom factor already configured for your organization. Confirm its availability, loading scale, and direction with the Tilt team before setting bounds. Adding its name in this editor does not create the factor or its asset loadings.`}),`\n`,_jsxs(_components.p,{children:[`Custom-factor upload is in development. The `,_jsx(_components.a,{href:`/customization/configure-factor-bounds#custom-factor-uploads-in-development`,children:`API guide`}),` documents the upload format and replacement behavior for that work. Contact the team to request a factor while self-service upload is in development.`]}),`\n`,_jsxs(_components.p,{children:[`Monitoring’s `,_jsx(_components.strong,{children:`Size`}),` factor does not establish optimizer compatibility. Large-cap, mid-cap, and small-cap buckets require defined custom loadings; the built-in allocation factors do not include those buckets. A continuous Size score and a percentage allocation to a bucket measure different things. See `,_jsx(_components.a,{href:`/customization/factor-bounds#size-and-capitalization-buckets`,children:`Size and capitalization buckets`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Contact the `,_jsx(_components.a,{href:`mailto:contact@tilt.now`,children:`Tilt team`}),` for another Tilt-supplied factor or help defining custom loadings. Include the exposure definition, units, asset universe, intended ranges, and active benchmark. `,_jsx(_components.a,{href:`/customization/factor-bounds#request-a-new-factor`,children:`Request a new factor`}),` lists the details to send.`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-review-and-apply-the-change`,children:`3. Review and apply the change`}),`\n`,_jsxs(_components.p,{children:[`For an account or model, click `,_jsx(_components.strong,{children:`Queue changes`}),` to close the editor. Firm edits queue as you make valid changes. Open `,_jsx(_components.strong,{children:`Queued changes`}),`, check the target scope and complete factor-bound list, then click `,_jsx(_components.strong,{children:`Apply`}),` to save or `,_jsx(_components.strong,{children:`Discard all`}),` to abandon the draft.`]}),`\n`,_jsxs(_components.p,{children:[`Reopen `,_jsx(_components.strong,{children:`Constraints`}),` after saving and confirm the factor names and bounds. On an account or model, use `,_jsx(_components.strong,{children:`Use the inherited bounds`}),` to return to the broader scope’s list, then queue and apply that change. Removing the last local factor row also restores inheritance; check the resulting list before applying.`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-optimize-and-inspect-the-proposal`,children:`4. Optimize and inspect the proposal`}),`\n`,_jsxs(_components.p,{children:[`After applying account changes, open the account’s `,_jsx(_components.strong,{children:`Optimization`}),` tab and run `,_jsx(_components.strong,{children:`Optimize`}),`. Saving bounds changes optimization inputs. It does not run optimization or place trades.`]}),`\n`,_jsxs(_components.p,{children:[`Inspect the proposed holdings and factor exposures against both ranges. If the run is infeasible, review the absolute and active limits together with cash requirements, position limits, and trading restrictions. `,_jsx(_components.a,{href:`/advisor/optimization-explained`,children:`How optimization makes tradeoffs`}),` explains their interaction; `,_jsx(_components.a,{href:`/advisor/review-rebalance`,children:`Review a rebalance`}),` covers reviewing the resulting proposal.`]}),`\n`,_jsxs(_components.p,{children:[`For exposure alerts and oversight policies, use `,_jsx(_components.a,{href:`/advisor/monitoring-policies`,children:`Manage monitoring policies`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Set factor exposure bounds","description":"Set allocation or custom factor limits in the app for an account, model, or firm.","href":"/advisor/set-factor-exposure-bounds"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Open Constraints at the intended scope","slug":"1-open-constraints-at-the-intended-scope","depth":2,"children":[]},{"title":"2. Add a factor and its bounds","slug":"2-add-a-factor-and-its-bounds","depth":2,"children":[{"title":"Use an existing custom factor","slug":"use-an-existing-custom-factor","depth":3,"children":[]}]},{"title":"3. Review and apply the change","slug":"3-review-and-apply-the-change","depth":2,"children":[]},{"title":"4. Optimize and inspect the proposal","slug":"4-optimize-and-inspect-the-proposal","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tilt","siteName":"Tilt","title":"Set factor exposure bounds - Tilt","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T17:04:30.177Z","originalFileLocation":"advisor/set-factor-exposure-bounds.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Set allocation or custom factor limits in the app for an account, model, or firm.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tilt\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set factor exposure bounds - Tilt\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set allocation or custom factor limits in the app for an account, model, or firm.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tilt\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tilt.io/advisor/set-factor-exposure-bounds\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tilt.mintlify.app/_mintlify/api/og/v2?division=Build+models\u0026amp;title=Set+factor+exposure+bounds\u0026amp;description=Set+allocation+or+custom+factor+limits+in+the+app+for+an+account%2C+model%2C+or+firm.\u0026amp;theme=3ba79756f8550f1bcc8240bd\u0026amp;signature=60a4c0811fd5340ce22fc9d1aecf91d105e894c94fb8647e9cbc5ea736013f99\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Set factor exposure bounds - Tilt\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set allocation or custom factor limits in the app for an account, model, or firm.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tilt.mintlify.app/_mintlify/api/og/v2?division=Build+models\u0026amp;title=Set+factor+exposure+bounds\u0026amp;description=Set+allocation+or+custom+factor+limits+in+the+app+for+an+account%2C+model%2C+or+firm.\u0026amp;theme=3ba79756f8550f1bcc8240bd\u0026amp;signature=60a4c0811fd5340ce22fc9d1aecf91d105e894c94fb8647e9cbc5ea736013f99\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tilt/ll1NQKfwX50eMlxC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tilt\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tilt.io/advisor/set-factor-exposure-bounds\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/advisor/set-factor-exposure-bounds.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tilt.io/#organization\",\"name\":\"Tilt\",\"url\":\"https://docs.tilt.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tilt/CmDCDxwb3XgHwxNS/logo/tilt-logo-black.svg?fit=max\u0026auto=format\u0026n=CmDCDxwb3XgHwxNS\u0026q=85\u0026s=c712cd24d8c9812d3728e6b503fd56aa\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tilt.io#website\",\"name\":\"Tilt\",\"url\":\"https://docs.tilt.io\",\"publisher\":{\"@id\":\"https://docs.tilt.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds#webpage\",\"url\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds\",\"name\":\"Set factor exposure bounds\",\"description\":\"Set allocation or custom factor limits in the app for an account, model, or firm.\",\"dateModified\":\"2026-10-29T17:04:30.177Z\",\"isPartOf\":{\"@id\":\"https://docs.tilt.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Build models\",\"item\":\"https://docs.tilt.io/advisor/build-model-portfolio\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set factor exposure bounds\",\"item\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds#article\",\"headline\":\"Set factor exposure bounds\",\"name\":\"Set factor exposure bounds\",\"description\":\"Set allocation or custom factor limits in the app for an account, model, or firm.\",\"url\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tilt.io/advisor/set-factor-exposure-bounds#webpage\"},\"dateModified\":\"2026-10-29T17:04:30.177Z\",\"publisher\":{\"@id\":\"https://docs.tilt.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tilt.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tilt\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tilt","nav":{"global":null,"tabs":[{"tab":"Tilt Agent","pages":[{"title":"Tilt Agent","href":"/tilt-agent/overview"}]},{"tab":"Advisor","groups":[{"group":"Getting started","pages":[{"title":"Advisor workflows","href":"/advisor/overview"}]},{"group":"Onboard clients","pages":[{"title":"Onboard a client","href":"/advisor/onboard-client"},{"title":"Tailor a client account","href":"/advisor/tailor-account"},{"title":"Transition legacy holdings into a sleeve","sidebarTitle":"Legacy holdings","href":"/advisor/transition-legacy-holdings"}]},{"group":"Build models","pages":[{"title":"Build a model portfolio","href":"/advisor/build-model-portfolio"},{"title":"Compare a model's account configurations","sidebarTitle":"Account configurations","href":"/advisor/compare-account-configurations"},{"title":"Set conditional rules and preview their effect","sidebarTitle":"Settings and rules","description":"Add rules to an account, model, or organization, then preview account changes before saving.","href":"/advisor/configuration-and-rules"},{"title":"Set factor exposure bounds","href":"/advisor/set-factor-exposure-bounds"},{"title":"Models, sleeves, and benchmarks","description":"Understand target allocations, composite sleeves, account customizations, configurations, implementations, and asset-class exposure.","href":"/advisor/models-and-benchmarks"},{"title":"Configure optimization for the proposal you need","sidebarTitle":"Optimization configuration","href":"/advisor/optimization-configuration"}]},{"group":"Monitor your book","pages":[{"title":"Daily briefing","href":"/advisor/daily-briefing"},{"title":"Review the whole firm on the Firm page","sidebarTitle":"Review the firm","href":"/advisor/review-the-firm"},{"title":"Read an account's Overview","sidebarTitle":"Account Overview","href":"/advisor/account-overview"},{"title":"See how an account or household actually performed","sidebarTitle":"Account performance","href":"/advisor/account-performance"},{"title":"Work with your advisor book in chat","sidebarTitle":"Advisor chats","href":"/advisor/advisor-chats"},{"title":"Manage monitoring policies","href":"/advisor/monitoring-policies"},{"title":"How monitoring policies work","sidebarTitle":"Monitoring explained","href":"/advisor/monitoring-explained"}]},{"group":"Review proposals","pages":[{"title":"Review a rebalance","href":"/advisor/review-rebalance"},{"title":"Read proposal reports and account backtests","href":"/advisor/reports-and-backtests"},{"title":"Configure trade release rules","href":"/advisor/trade-release-rules"},{"title":"Configure automatic corporate-action restrictions","sidebarTitle":"Corporate-action restrictions","href":"/advisor/corporate-action-restrictions"},{"title":"Trade release conditions","href":"/advisor/trade-release-conditions"},{"title":"How optimization makes tradeoffs","href":"/advisor/optimization-explained"},{"title":"Tax-aware portfolio management","href":"/advisor/tax-aware-management"}]},{"group":"Trade at your custodian","pages":[{"title":"Connect and manage your firm's Alpaca custodian","sidebarTitle":"Connect your custodian","href":"/advisor/connect-custodian"}]},{"group":"Records and history","pages":[{"title":"See who changed an account and why","sidebarTitle":"Review History","href":"/advisor/see-who-changed-an-account"},{"title":"History coverage","href":"/advisor/history-coverage"}]},{"group":"Secure your firm","pages":[{"title":"Set an inactivity logout for your firm","sidebarTitle":"Inactivity logout","href":"/advisor/inactivity-logout"},{"title":"Require a passkey or two-step sign-in for your firm","sidebarTitle":"Passkey and two-step rules","href":"/advisor/require-passkey-or-two-step-sign-in"},{"title":"Sign in to a firm that requires a passkey or two-step sign-in","sidebarTitle":"Set up your sign-in methods","href":"/advisor/sign-in-with-passkey-or-two-step"}]},{"group":"Updates","pages":[{"title":"Advisor changelog","mode":"wide","href":"/advisor/changelog"}]}]},{"tab":"Index Construction","pages":[{"title":"Index Construction","href":"/index-construction/overview"}]},{"tab":"Portfolio Optimization","pages":[{"title":"Portfolio Optimization","href":"/customization/guide"}]},{"tab":"Pulse","pages":[{"title":"Pulse","href":"/backchannel/introduction"}]},{"tab":"Marketplace","pages":[{"title":"Marketplace","href":"/introduction"}]}]},"title":"Set factor exposure bounds - Tilt","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}