Sharing Resources Using Groups

Sharing your formulas, screens, ranking systems and other resources using Groups

Dan Parquette
Written by Dan ParquetteLast update 13 hours ago

Introduction to Resource Sharing

The resource sharing system allows you to collaborate with team members by making your resources available across accounts. When you share resources like formulas, screens or universes, other users can leverage your work without having to recreate it themselves. This guide will walk you through the basics of resource sharing and provide practical examples to get you started.

The Power of Resource Sharing

Resource sharing is versatile and easy to use, transforming how teams can work together:

  • Effortless Collaboration: Share your work with colleagues in just a few clicks

  • Seamless Updates: Changes to shared resources automatically propagate to everyone using them

  • Flexible Permission System: Choose exactly what to share and what to keep private

  • Error Reduction: Maintain consistent definitions across your organization

Resource Permission Types

Before diving into examples, it's important to understand the three main types of resource permissions:

Private: The resource can access your account resources. The resource itself remains private.

Group Shared: The resource can access group resources. Other account members of the group can access the same resources. The resource itself is Group accessible.

Group Context: The resource can access your account resources and Group resources. The resource itself remains private.

Each permission type determines both what your resource can access and who can access your resource.

IMPORTANT: The only way to create a sharable resource is by assigning it to a Group. This is a fundamental principle of the sharing system and has important implications for how resources can be accessed across accounts.

Example of sharing a Screen

To share a screen in your account with a group of collaborators:

  1. Select the Screen you wish to share

  2. Click on the lock icon in the Screen name (Figure 1)

  3. In Sharing select Group

  4. Click on Create Group to create a new Group

  5. Give the Group a name and invite the P123 users that you want to collaborate with

  6. The screen will now show an open orange lock indicating that users in the Group can access the Screen and use it (Figure 2)

NOTE: A Screen can itself access other shared resources in the same Group, like formulas for example. Please see the 'Advanced Resource Sharing' section below for more information.

Figure 1: Private Screen only visible to the owner

Figure 2: Screen shared in a group called ‘test’

Example of using a shared Screen

To access shared group screens select the Group from the list as shown below. The group ‘test’ has one shared screen called Breakout. Also notice that the group name and owner is shown in the list.

Any user in the group will be able to run the screen or make a copy. Please note that currently only the owner of the screen can save changes to the shared resource.

Figure 3: Accessing shared screens

Example of using a shared Formula

Once a formula is shared in a group (similar to how you share a screen), they will become visible to other users in the group in the Custom Formula section of the Reference. 

Figure 4: Accessing shared formulas in the group

Advanced Resource Sharing 

The Introduction above demonstrated how to share an individual resource such as a Screen. A more advanced, but common, use case would be to have a shared resource which contains other shared resources.

Advanced Example: Creating a Shared Resource Chain

Let's walk through the process of creating a chain of shared resources: a formula, a universe based on that formula, and a strategy that uses the universe. This example demonstrates how shared resources can work together seamlessly.

Step 1: Create Your Formula

First, let's create a formula that we'll use in our universe:

  1. Create a new formula called "QualityScore"

  2. Write your formula logic (for example, a combination of ROE, debt ratios, or earnings stability)

  3. Before saving, you need to decide on sharing permissions

Step 2: Set Formula Sharing Permissions

To make your formula sharable:

  1. Select "Group" as the permission type (remember, only Group permission makes a resource sharable)

  2. Choose an existing group name or create a new one (e.g., "Fundamental Analysis")

  3. Save the formula

Now your formula exists in the "Fundamental Analysis" group environment and can be accessed by other resources in that Group.

Step 3: Create Your Universe

Next, create the universe that will use your shared formula:

  1. Create a new universe called "Quality Companies"

  2. In the universe criteria, reference your "QualityScore" formula

  3. Set conditions based on the formula (e.g., QualityScore > 8)

Step 4: Set Universe Sharing Permissions

To make your universe sharable:

  1. Select "Group" as the Sharing type

  2. Choose the same group name ("Fundamental Analysis")

  3. Save the universe

Step 5: Create Your Strategy

Now, create a strategy that will use your shared universe:

  1. Create a new strategy called "Quality Momentum"

  2. Select "Quality Companies" as your universe

  3. Define your buy/sell rules, position sizing, and other strategy parameters

  4. When configuring entry conditions, you can even directly use the "QualityScore" formula again if needed

Step 6: Set Strategy Sharing Permissions

Here's where you have a choice:

If you want to share the strategy with others:

  1. Select "Group" as the permission type

  2. Choose the same group name ("Fundamental Analysis")

  3. Save the strategy

If you don't need to share the strategy but still need it to access shared resources:

  1. Select "Group Context" as the permission type

  2. Choose the same group name ("Fundamental Analysis")

  3. Save the strategy

With Group Context, your strategy remains private (only visible to you) but can still access the shared universe and formula in the "Fundamental Analysis" group.

Step 7: Access from Another Account

Now, team members with access to the "Fundamental Analysis" group can use your shared resources:

  1. They can see and use your "QualityScore" formula and "Quality Companies" universe

  2. If your strategy has Group permissions, they can also see and use your strategy

  3. If your strategy has Group Context permissions, they cannot see your strategy, but they could create their own strategies that use your shared universe and formula

Understanding What's Happening

Behind the scenes:

  1. Your formula and universe have "Group" permission in the "Fundamental Analysis" group

  2. Your strategy can have either "Group" or "Group Context" permission

  3. When a Group Context strategy runs:

    • It first checks if there's a private formula with the required name

    • If not found, it looks for formulas in the "Fundamental Analysis" group

    • It finds your shared formula and uses it

  4. When the Group universe runs:

    • It has Group permission, so it skips checking for private formulas

    • It immediately looks for formulas in the "Fundamental Analysis" group

    • It finds your shared formula and uses it

Group Context: The Best of Both Worlds

Group Context permission provides significant flexibility:

  1. Privacy with Access: Your resource stays private, but can still access group resources

  2. Local Priority: It first tries to use your private resources before falling back to group resources

  3. Perfect for End Products: Ideal for strategies, screens, and other "end products" that use shared components but don't need to be shared themselves

For example, if multiple team members all create their own trading strategies (Group Context) that use the same shared universe and formulas (Group), each person maintains control over their strategy while benefiting from the shared components.

Important Considerations

  1. Group-Only Dependency Chain: Since Group resources can only access other resources in the same Group environment, any resource that a Group resource depends on must also be in that same Group.

  • Example: If your shared Universe has Group permission in "Fundamental Analysis," any Formula it uses must also have Group permission in "Fundamental Analysis"

  • This creates a complete dependency chain where all components must share the same Group

  • This is a critical constraint: you cannot have a Group resource that depends on a Private resource

  1. Same Group Requirement: All components in the chain must reference the same group, whether through Group or Group Context permissions.

  1. Updates Propagate Automatically: When you improve a shared formula or universe, all resources that use them benefit immediately.

  1. Resource Ownership: Only the creator can modify a resource. If others want to customize a shared resource, they need to create their own version.

  1. Choose Permissions Wisely:

  • Use Group for resources you want to share

  • Use Group Context for resources that should remain private but need to access shared resources

  • Use Private for resources that don't need to access shared resources

With these permission options, you can create efficient workflows that balance collaboration and privacy according to your specific needs.

Sharable Resource Types

The following resource types can be shared using the Group permission:

  • Formulas: Mathematical calculations

  • Screens: Stock filtering systems based on various criteria

  • Universes: Predefined sets of stocks meeting specific conditions

  • Watchlists: Custom collections of stocks for monitoring

  • Strategies: Complete trading systems with buy/sell rules

  • Rankings: Custom stock ranking based on factors

  • Lists: Collection of ticker(s) or P123 IDs

  • Aggregate Series: Time series data calculated across a cross-section of securities

  • Imported Factors and Series: External data brought into the system

  • AI Factors: Machine learning-derived metrics and indicators

  • Fundamental Chart Templates: Standardized views of fundamental data

  • Books: Collections of live or simulated Strategies

Each of these resource types can be shared with team members by assigning them Group permissions, or they can be kept private while still accessing shared resources by using Group Context permissions.


Did this answer your question?