Introduction
The purpose of this portal is to describe the user interface and CSV (comma separated value) file structure for uploading of ISO scheduling-related data to the APX MarketSuite®. This data may include generator bids and schedules, virtual bids, bilateral trades, resources parameters, and other similar data. This method of data entry is provided to facilitate easy and fast uploading of large amounts of data. The CSV file format is optimized for less-complex transactions, rather than transactions that involve many attributes for a single transaction. The CSV scheduling data files may also be uploaded through MarketSuite™ Web Services.
Scope
This portal explains APX MarketSuite® CSV scheduling support across all US ISOs.
NOTE: The CSV file upload functionality differs slightly for the CAISO and ERCOT regions vs. other regions. There are small differences on format and functionality, which are explained in the appropriate sections of this portal.
Supported Transaction Types
Transaction Types | CAISO | ERCOT | PJM | MISO | ISONE | NYISO | SPP |
---|---|---|---|---|---|---|---|
Virtual Bids | X | X | X | X | X | X | X |
Load Bids/Schedules | X | N/A | X | X | X | X | X |
Bilateral Schedules | X | X | X | X | X | ||
Generator Bids | X | X* | X | X | |||
Intertie/External Transactions | X | N/A | |||||
Resource Paramters | X | X* | X* | X* |
*Not all transactions supported for the category—check details in region-specific sections.
All Transactions are explained in detail in the corresponding regional (ISO) sections of this portal.
Supported Interval Resolutions
APX’s CSV scheduling file supports daily and hourly activity. This file format does not allow for scheduling transactions at a granularity of less than a full hour. If an hourly value is supplied for a transaction that is scheduled in sub-hourly (e.g. 15 Min) intervals at the ISO, the hourly value will be supplied for each of the intervals in the hour.
Data Transfer
Validations:
CSV files submitted to the APX MarketSuite® are subject to a format validation before they are saved in the APX system. If there is any problem with the file format, the entire file will be rejected and no data will be saved. The user will be able to view a message explaining the error in the File Upload user interface.
Content validations will occur after the format is validated and the file is saved in the system. Content validations may differ by region, but in any case, invalid content will not be saved or submitted to the ISO.
Transaction Lifecycle:
Once a file has been successfully submitted, the data may be managed through the APX MarketSuite® manual user interfaces (i.e. Checkout, Bid/Offer, Trade, and Resource applications), or through subsequent file uploads. Within the uploaded file a flag can be turned on that will cause the APX system to submit the included data to the ISO immediately without requiring further user action. If this flag is turned off in the uploaded file the user can submit this data to the ISO via the Checkout application.
Transaction statuses are managed in a variety of ways as supported by the various ISOs. For example, for the CAISO market the APX system periodically checks the status of the submissions by querying the CAISO systems. For ERCOT, the APX system receives and processes asynchronous notifications from the ISO to update transaction statuses. Furthermore, for some ISOs, after the market closes, an automation queries and updates the final data set as it appears in the ISO, as well as bringing in market awards, schedule cuts and mismatched trades.
Maximum File Size:
To preserve system resources and responsiveness, files will be limited in size to between 15,000 and 25,000 rows, depending on the region. Some transactions may take up more than one row (e.g. multi-point bid curves), in which case the limit would be less than 10,000 transactions. This limit may be increased in the future. See ISO specific section for exceptions.
User Interface
Scheduling CSV Files may be uploaded through an APX MarketSuite® user interface. The interface is available through the menu system:
Input Criteria:
- Region – All supported ISOs associated with the user’s login
- Account – All Accounts for the selected Region associated with the user’s login
- Category – For CSV uploads, choose ‘CAISO & ERCOT Scheduling’ or ‘Scheduling’ (for non-CAISO/ERCOT regions)
- File Type – For Scheduling CSV File upload, select “APX Scheduling Data CSV”
- Begin Date – First day for which the file contains data. This is the day that the file will be associated with when querying for files in this interface, or in the APX MarketSuite® File Explorer application. Note: if the file contains no data for this date, it will fail to parse and an error will be returned
- File Path – Browse to find the CSV scheduling file the user wishes to upload
Action Buttons:
- Find Uploaded Files – This button will be enabled when a Region, Account, File Type, and Begin Date have been selected. Clicking this button returns a list of files in the “Uploaded Files” section, according to the criteria selected.
- Upload File – This button will be enabled when all criteria have been selected, including the File Path. Clicking this button will upload the file and refresh the list of Uploaded Files.
Messages Section:
The Messages section will populate whenever a file is uploaded. There will be a timestamp in the user’s local time, as well as a message indicating success or failure. Any failure will result in the entire file being rejected and no data saved to the APX system.
A success message will indicate the number of new rows affected. This will include canceled rows and updated rows, and will reflect the number of intervals affected, which may include intervals of less than one hour. The number of rows affected may not reflect he number of data rows in the file.
There are two types of validations that can cause a failure:
- Format validations will cause a failure and the message that says: “Upload for File 'temp.csv' Failed! Please verify the file format and resubmit.”
- Content validations will check the specific columns and ensure that the values are allowed and the data can be saved. A content validation failure should results in an error message with specific information about the failed validation.
Specific Content Validations:
There are many specific validations performed on the incoming data, which may include the following, depending on the region:
- No Data for Begin Date – (CAISO/ERCOT only) The file does not contain any data for the Begin Date selected in the Interface.
- Bad Date – The format/content of the Date column is incorrect for at least one row in any section.
- Bad Hour – A value in the Hour column is invalid. Allowable values are 1-24 (whole numbers only) and 2x (for the Daylight Saving Time duplicate hour)
- Bad Transaction Name – A Transaction name does not match a valid transaction for the Region and MarketStage.
- Bad Location – A Location name does not match a valid location for that Region and Transaction. Note: if you believe that a Location is missing from the APX MarketSuiteTM, please contact APX Operations or your account manager.
- Bad MW – A value in the MW column is not valid for the Transaction.
- Bad Price – A value in the price column is not valid for the Transaction.
- Bad Reference Code – A value in the ReferenceCode column is invalid for the Transaction.
- No Reference Code When Reference Code is Required – A Transaction requires a value in the ReferenceCode column, but no value has been provided (such as for CAISO Physical Trades).
- Bad Attribute Name – An attribute name in the Attribute column does not refer to a valid attribute for that Transaction.
- Bad Attribute Value – An attribute value in the Attribute column is not valid for that attribute and Transaction.
- Region Does Not Match Region Selected – The Region in the file does not match the Region selected in the Interface.
- MarketParticipant Does Not Match Account Selected – (CAISO/ERCOT only, other regions allow multiple participants in the file) The MarketParticipant in the file does not match the Account selected in the Interface.
- Market Stage Does Not Exist – (CAISO/ERCOT only) The MarketStage in the file is invalid for the Region.
- Bad Parameter Name – A Parameter (in the ResourceParameter section of the file) does not match a valid parameter for the Region.
- File Size Exceeds Limit – Number of rows in the file exceeds the set limit of 15,000-25,000 rows.
Header:
Column Name | Data Type | Description | Required |
---|---|---|---|
Version | Integer | CSV format version. "1" is the latest | N |
SourceSystem | String | The system of origin | Y |
CreateDate | Datetime | Datetime supplied by user. Not validated. | Y |
SubmitToISO | boolean | A flag that indicates that the bids/offers should be sent automatically to the ISO. ‘False’ means that the bids/offers will need to be reviewed and submitted interactively using the APX MarketSuite® Checkout application. | Y |
Region | string | ISO for which the transactions are being submitted Available values: MRTU, TX, PJM, MISO, ISONE, NYISO, SPP | Y |
MarketParticipant | string | The ISO assigned participant code | Y |
MarketStage | string | The market stage for which the transactions are being submitted. Possible values vary by region. See region-specific sections of this portal | Y |
BidsOffers:
Column Name | Data Type | Description | Required |
---|---|---|---|
Date | date | Trade date for the transaction. Example: 8/20/2015 | Y |
Hour | string | Hour of the day, in “Hour Ending” (1-24). Use “2x” for the duplicate hour on the Daylight Saving Time long day | Y |
Transaction | string | The type of transaction. Possible values vary by region. See region-specific sections of this portal. | Y |
Location | string | Name or number of the ISO location. In the case of transactions that are point-to-point, this is the source location. | Y |
SinkLocation | string | Name or number of the ISO sink location. This is only used for point-to-point transactions. | N* |
MW | decimal | MW value | Y |
Price | decimal | Price for the transaction. If a multi-point bid curve is being submitted, the price will correspond to the MW point in the same row. Please see "multi-point bids" section for more information. | N* |
ReferenceCode | string | Identifier used in some transactions, often for transmission contract or bid name. See ISO-specific sections for more information | N* |
Attributes | string | Pipe-separated name/value pairs for attributes specific to the transaction being submitted. See "BidOffer and Trade Attributes" section for more information. Available attributes for a transaction are listed in the region-specific sections of this portal. | N* |
*May be required for some transaction types
BilateralSchedule15m:
Column Name | Data Type | Description | Required |
---|---|---|---|
Date | date | Trade date for the transaction. Example: 8/20/2015 | Y |
Hour | string | Hour of the day | Y |
Transaction | string | The type of transaction. Possible values vary by region. See region-specific sections of this portal. | Y |
Location | string | Name or number of the ISO location. In the case of transactions that are point-to-point, this is the source location. | Y |
SinkLocation | string | Name or number of the ISO sink location. This is only used for point-to-point transactions. | N* |
CounterParty | string | ISO code for the trade counterparty. | Y |
MW | decimal | MW value | N* |
ReferenceCode | string | Identifier used in some trades, such as for the ISO contract code or Trade Name. See region-specific sections of this portal | N* |
Attributes | string | Pipe-separated name/value pairs for attributes specific to the transaction being submitted. See "BidOffer and Trade Attributes" section for more information. Available attributes for a transaction are listed in the region-specific sections of this portal. | N |
ResourceParameters
Column Name | Data Type | Description | Required |
---|---|---|---|
Date | date | Trade date for the transaction. Example: 8/20/2015 | Y |
Hour | string | Hour of the day, in “Hour Ending” (1-24). Use “2x” for the duplicate hour on the Daylight-Saving long day. Use “1” for Daily-level resource parameters. | Y |
Parameter | string | Name of the parameter. Possible values vary by region. See region-specific sections of this portal. | Y |
Location | string | Name or number of the ISO location. | Y |
Value | string | Numeric or text value for the parameter | N* |
TableValue | string | Pipe-separated name/value or X/Y pairs. Used for submitting ramp rate curves and other complex parameters. See “Resource Parameter Table Values” section for more information. | N* |
ReferenceCode | string | Used for Schedule ID in PJM and ISONE, where many parameters are entered for a discrete "Schedule ID" | N* |
*required for some transactions
Multi-Point Bids
Multi-point bids—such as generator offer curves or virtual bids—are entered with one row per bid point. With the exception of the MW and Price columns, all other data should be the same. There will be no validation to ensure that the multi-point bid set conforms to the particular ISO rules for that transaction, the points will be saved in the MarketSuite® in the order that they appear in the CSV file and sent to the ISO (upon user submittal) for validation.
BidOffer and Trade Attributes
BidOffer and Trade transactions may have optional or required attributes. Oftentimes these attributes will have default values and the user will only need to supply a value when it differs from the default. The specific attributes available for each transaction, along with the default for that attribute, are listed in the ISO-specific sections. When multiple attributes are submitted for a single transaction, the name/values are pipe-separated (i.e. “|”).