---
title: "Scheduling a valuation"
slug: "scheduling-a-valuation"
updated: 2025-12-18T11:11:51Z
published: 2025-12-18T11:11:51Z
canonical: "support.lusid.com/scheduling-a-valuation"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduling a valuation

You can perform an impromptu valuation at any time, but you can also schedule the operation to occur at a cadence, for example every weekday at a particular time, or every business day between a range of dates, or at EOD on the 15th of every month.

> **Note**: The dates and times you choose impact the quantity and quality of market data required. [More information](/v1/docs/what-market-data-does-my-valuation-require).

To perform an impromptu valuation, set the `effectiveAt` field in the [valuation schedule](/v1/docs/how-do-i-perform-a-valuation#using-the-lusid-api) to a specific date and time, for example 31 January 2024 at 5pm UTC. Note if you omit the time component, valuation occurs at midnight (00:00:00) at the start of that day:

```json
"valuationSchedule": {
  "effectiveAt": "2024-01-31T17:00:00Z"
}
```

To schedule valuations across a range of dates, set the `effectiveFrom` field to the start date and `effectiveAt` to the end date. By default, valuation occurs every day in the range [except Saturdays and Sundays](/v1/docs/scheduling-a-valuation#performing-a-valuation-at-the-weekend). For example, to value every weekday at 5pm UTC between 1 January and 31 January 2024 inclusive:

```json
"valuationSchedule": {
  "effectiveFrom": "2024-01-01T17:00:00Z", 
  "effectiveAt": "2024-01-31T17:00:00Z" 
}
```

Other fields enable you to set up a more sophisticated schedule. Consider the following example:

```json
"valuationSchedule": {
  "effectiveFrom": "2024-01-01T17:00:00Z",
  "effectiveAt": "2024-12-31T17:00:00Z",
  "tenor": "1M",
  "rollConvention": "15",
  "holidayCalendars": ["USD", "GBP"],
  "businessDayConvention": "P"
}
```

Note the following:

- The tenor of `1M`(onth) overrides the default of `1D`(ay) to perform the valuation once a month between January and December 2024, instead of every weekday. [More about tenors](/v1/docs/specifying-tenors-in-lusid).
- Since the tenor is `1M` or longer, the `rollConvention` of `15` overrides the default of `None` to perform the valuation on the 15th of the month instead of the start day in the range (which in this case is the 1st). An alternative might be `EndOfMonth` to value on the last day of the month. [More about roll conventions](/v1/docs/roll-conventions-and-business-day-conventions).
- The `holidayCalendar` codes of `USD` and `GBP` incorporate US and UK market holiday data in order to only perform the valuation on the 15th if it is a good business day in both jurisdictions. Note these are holiday calendar *codes*, and that the *scope* is defined in the recipe. Note also that these calendars only impact valuation scheduling; cashflows are determined by calendars specified on instruments. [More about holiday calendars](/v1/docs/using-calendars-in-lusid).
- The `businessDayConvention` of `P`(revious) overrides the default of `F`(ollowing) to value on the previous business day if the 15th is a holiday, instead of the next business day. [More about business day conventions](/v1/docs/roll-conventions-and-business-day-conventions).

## Performing a valuation at the weekend

By default, LUSID does not perform valuations on Saturdays and Sundays. To change this (and assuming suitable market data is available at the weekend):

1. Create a new (or edit an existing) calendar to have no weekend mask. For example, the following call to the [CreateCalendar](https://www.lusid.com/docs/api/lusid/endpoints/calendars/CreateCalendar/) API creates an empty calendar with `"weekendMask.days": []` to consider every day of the year a good business day:

```json
curl -X POST 'https://<your-domain>.lusid.com/api/api/calendars/generic'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
  "calendarId": {
    "scope": "CoppClarkHolidayCalendars",
    "code": "AllDays"
  },
  "calendarType": "Holiday",
  "weekendMask": {
    "days": [],
    "timeZone": "UTC"
  },
  "sourceProvider": "Hand-crafted-calendar"
}'
```
2. Specify the code of the calendar in the valuation request (note the scope of the calendar is defined in the recipe):

```json
"valuationSchedule": {
  "effectiveFrom": "2022-03-07T00:00:00Z",
  "effectiveAt": "2022-03-13T00:00:00Z",
  "holidayCalendars": ["AllDays"],
}
```
3. Perform the valuation, for example: ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-COLS86TG.png)
