📊 Limit Rule Template
Limit Rule Template is used by admin user or member to define the exposure on traded for different limit types available in the system like Gross Exposure, Buy Gross Exposure, Sell Gross Exposure, Turnover, Buy Turnover, Sell Turnover, Net Purchase, Net Sale, Net Write, Net Premium and Margin based on Multiplier with different limit inclusions or fixed value.
📋 Limit Types
Member can define the limit rules for following Limit Types:
| Limit Type 📊 | Definition 📝 |
|---|---|
| Gross Exposure | Gross exposure is sum of open Position value |
| Buy Gross Exposure | Buy Gross exposure is sum of Buy open Position value |
| Sell Gross Exposure | Sell Gross exposure is sum of Sell open Position value |
| Turnover | Turnover is sum of total buy order value and total sell order value |
| Buy Turnover | Buy Turnover is sum of total buy Order value |
| Sell Turnover | Sell Turnover is sum of total Sell Order value |
| Net Purchase | Net Purchase is sum of open buy position value |
| Net Sale | Net Sale is sum of open Sell position value |
| Net Position | Net Position is sum of open position value |
| Net Premium | Net Premium is sum of Options contract open buy order value |
| Margin | Margin is the utilization of order value as per margin defined |
| Span Only | Span Only is the utilization of Span value |
Key Configuration Points
- Member can create Limit Rules for above mentioned Limit Type based on Various needed combination on Segment, Instrument & Product
- Member can define limit rule either based on multiplier or fixed value i.e. for single limit type either rule can be defined based on multiplier or fixed value. In case of multiplier member need to select the deposit head
- Member shall not be able to create duplicate rules of same combination. Combination here is Limit Type, Segment, instrument, Product & Deposit Head
⚙️ Template Creation
Limit Inclusion for different limit types should be set across combination of Segment, instrument and Product type with multiplier or value in template format.
System should have a field to create, view and fetch Product Template.
| Control Name 📋 | Control Type ⚙️ | Business Logic 📝 |
|---|---|---|
| Product Template | Entry field + Drop down list | ·System should allow to enter the Template Name ·Numeric, Character, Special Character and Spaces are allowed to create the template Name ·Template Name should not be more than 20 characters · Template Name list should be displayed in ascending order ·Duplicate template name creation should not be allowed ·System should sort the template names from the list on search of name ·System should fetch and display the available records in the limit type gird view as per the template name selected in this field. ·System should allow to create multiple limit rule template with different template name. |
| Save | Button | ·On click of SAVE button, records added for the Template should get saved into the system. ·Popup message should be displayed while on click of SAVE button without entering the template name. Popup String should be like "Template Name should not be blank' |
| Save As | Button | ·"SAVE AS" option is used to create the copy of existing template with new template name with a small modification in the records available in the existing template (or) without any modification. ·"Save As" option should get enable while after selecting the template Name in the "product template" drop-down list ·On Click of "Save As" button- system should popup a child Window with label as: "Product Template" and an entry field to enter the 'New template Name' with "OK" and "CANCEL" options. · If "OK" is selected, then new template should get saved into the system with all limit rules else if "CANCEL" is selected then Child window should get closed without saving the record. ·System should validate the New template name with the existing templates available, if same name is entered, then system should popup an alert message as "Template Name Already Exists" |
📝 Template Configuration Fields
| Control Name 📋 | Business Logic 📝 |
|---|---|
| Template Name |
|
| Save |
|
| Save As |
· "SAVE AS" option is used to create the copy of existing template with new template name with a small modification in the records available in the existing template (or) without any modification. |
🔧 Combination of Selection option to Add records to the Product Template
| Control Name 📋 | Control Type ⚙️ | Business Logic 📝 |
|---|---|---|
| Limit Type | Drop Down List | ·Should display the list of limit types available in the system Note: Refer below table to get the list of limit types |
| Market Segment | Drop Down List | ·Should display the list of Market Segment available in the system based on the license ·If license is update with New Segment, same should display here in the Drop-down list ·"All" option should be available in the drop-down list – "All" refers to clubbing of All the Market Segment available in the system ·"All Equity" option should be available in the drop-down list – "All Equity" refers to clubbing of All Equity Market Segment available in the system ·"All FNO" option should be available in the drop-down list – "All FNO" refers to clubbing of All Derivative Market Segment available in the system ·"All CDS" option should be available in the drop-down list – "All CDS" refers to clubbing of All Currency Market Segments available in the system ·"All COM" option should be available in the Drop-down list – "All COM" refers to clubbing of All Commodity Market Segment available in the system. Base exchange shall also be available in Market Segment drop-down field. |
| Instrument Name | Drop Down List | ·Should display the list of Instruments available in the system ·If New instrument type is added by the member for Limit Rule Template- Same should be displayed here in the dropdown list |
| Product type | Drop Down List | ·Should display the list of Product types available in the system ·If New product type is added by the member for Limit Rule Template- Same should be displayed here in the dropdown list |
| Limit Inclusion | Drop Down + Multi Selection checkbox option | ·Should display the list of Deposit heads available in the system ·If new deposit head is added or Existing deposit head is renamed by the admin user in "Deposit Master" window- Same should be displayed here in the drop-down list ·Check box option should be available against each deposit head available in the drop-down list ·By default, all checkbox should be "Un-Checked" |
| Multiplier | Entry Field | ·Should allow to enter only numeric value. Characters and special characters should not be allowed. ·By default, value should be "1" ·Maximum of 3 digits should be allowed to enter followed by 4 digits after decimal (999.9999) ·If Admin user enters value in "Value" field, then this field should be disable and data entered in this field should be rollback to default. ·If Admin user makes the "Value" field as Blank or 0.0000, then this field should get enable. ·System should allow to enter the multiplier between the range of 0.0001 to 999.9999 ·System should allow to increment/ decrements the values using Up/down arrow key in the keyboard. ·System should not allow to Add the record with Multiplier without selection of data in "Limit Inclusion" drop down list. ·A popup alert message should be displayed while adding record with Multiplier without selecting the deposit head in "Limit Inclusion" drop-down with message string as: "Limit inclusion is not selected" and focus should be on "Limit Inclusion" Drop-down |
| Add | Button | ·On Click of Add button, Selected options in the drop-down list like (limit type, Market Segment, Instrument name, product Type, limit inclusion, Multiplier) should be added to the Limit type grid view ·On Click of "Add", If Same combination record is already available in the system for the template, then system should display an alert toaster message |
📊 Limit Type Grid view
Limit type grid view should display the list of records added in the template by admin user.
Following are the List of columns should display in grid view:
| Column Header 📋 |
|---|
| Limit Type |
| Segment |
| Instrument |
| Product |
| Limit Inclusion |
| Multiplier |
| Delete |
✅ Validation
- System should validate the Limit rules in the templates in priority sequence of segment configured by the member.
- System should validate the Limit rules in the templates in priority sequence of Instrument configured by the member.
- System should validate the calculated exposure against the defined limit in the sequence of:
[Gross Exposure > Buy Gross Exposure > Sell Gross Exposure > Turn over > Buy Turnover > Sell Turnover > Net Purchase > Net Sale > Net Position and Net Write] according to the limit types available in the template.
- System should compute the Exposure on all the available SIP Combination in the mapped template where the scrip falls.
- System should validate only the Limit types which is available in the template mapped to the entity/user of all SIP Combination.
- System should Compute the Exposure only for the Limit rules available in the mapped template of respective User/Entity.
- System should maintain the computed utilization of each Limit Rule for all SIP Combination available in the template.
- System should compute the exposure on all hierarchy level (i.e. Client, Dealer, branch, Zone, Member) if Limit Rule template is mapped to a respective entity.
- Exposure computed for each limit type should get validated against the limit defined for the respective limit type in the limit rule template.
- Limit template for these exposures can be defined either based on multiplier so accordingly RMS System shall validate the calculated exposure against the defined limit for respective exposure (Limit Type) and SIP Combination.
- RMS System shall validate the calculated exposure for each SIP Combination which is mentioned in Limit Rule Template.
- System shall PASS or FAIL these checks accordingly.
- PASS in case calculated value is less than or equal to the defined value for respective Exposure (Limit Type) and SIP Combination. In case of validation is passed then Validation shall be moved to next level of check
- FAIL in case calculated value is greater than from defined value for respective Exposure (Limit Type) and SIP Combination. In case of validation is failed then System shall be rejected such order with rejection reason mentioned in rejection template for respective rejection type.
📐 Computation Logic of Exposure
All type of Exposures should get computed by the system on contract level based on the position available for the user/entity.
Assume following orders are available in the system.
Order Details
| Ord.No. | Segment | B/S | Symbol | Product | Qty | Price | User | Status |
|---|---|---|---|---|---|---|---|---|
| 1 | NSE Equity | Buy | ACC | Margin | 10 | 450 | CLI1 | Partially Traded with 6 Qty |
| 2 | NSE Equity | Sell | ACC | Margin | 6 | 530 | CLI1 | Fully Traded |
Gross Exposure
Gross Exposure is the Sum of Contract level open position.
As per orders placed – Max Buy Net Qty = 4 which is greater than 0
whereas gross exposure is derived as Max (abs (4500 - 3180), abs (4500 – 3180), abs (2700 – 3180), (2700 - 3180)) = Max (1320, 1320, 480, 480) = 1320
Gross Exposure Value = 1320
Buy Gross Exposure
Buy Gross Exposure is the Sum of Contract Level Buy Open position.
As per orders placed – Max Buy Net Qty = 4 which is greater than 0
Whereas buy gross exposure is derived as Max ((4500 - 3180), (4500 – 3180), (2700 – 3180), (2700 - 3180)) = Max (1320, 1320, -480, -480) = 1320
Buy Gross Exposure Value = 1320
Sell Gross Exposure
Sell Gross Exposure is the Sum of Contract Level Sell Open position.
As per orders placed – Max Sell Net Qty = 0
Sell Gross Exposure Value = 0
Net Purchase
Net Purchase computation is the Sum of Open position value across contract if open position is on buy side.
As per orders placed – Max Buy Net Qty = 4 which is greater than 0
Whereas Net-Purchase is derived as Max ((4500 - 3180), (4500 – 3180), (2700 – 3180), (2700 - 3180)) = Max (1320, 1320, -480, -480) = 1320
Net Purchase Value = 1320
Net Sale
Net Sale computation is the Sum of Open position value across contract if open position is on Sell side.
As per orders placed – Max Sell Net Qty = 0 which is not greater than 0, Whereas Net-Sale is derived as '0'
Net Sale Value = 0
Net Position
Net Position computation is the Sum of Open position value across contract.
Max Net Qty = Max (4,4,0,0) = 4 which is not equal to '0' then Max of (1320, 1320, 480, 480) = 1320
Net Position Value = 1320
Turn Over
Turnover computation is Applicable for all available segment in the system other than Mutual Fund and OFS.
| Formula | Calculation |
|---|---|
| Turnover = OBV + OSV | Turnover = 4500 + 3180 |
Turn Over = 7680
Buy Turn Over
Buy Turnover computation is Applicable for all available segment in the system other than Mutual Fund and OFS.
| Formula | Calculation |
|---|---|
| Buy Turnover = Sum of All (OBV) | Buy Turnover = 4500 |
Buy Turn Over = 4500
Sell Turn Over
Sell Turnover computation is Applicable for all available segment in the system other than Mutual Fund and OFS.
Formula:
| Formula | Calculation |
|---|---|
| Sell Turnover = Sum of All (OSV) | Sell Turnover = 3180 |
Sell Turn Over = 3180
Net Premium
User has Daily Buy and Sell Pending Order
Order Placed on Contract: NSEFO_ACC_EXP1_SP:1200_OPTIONTYPE: CE
Daily Buy Price: 100 and Daily Sell Price: 120
| DOBQ | DOBV | DOSQ | DOSV | OBQ-OSQ | OBQ-TSQ | TBQ-OSQ | TBQ-TSQ | OBV-OSV | OBV-TSV | TBV-OSV | TBV-TSV |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 10 | 1000 | 10 | 1200 | 0 | 10 | -10 | 0 | -200 | 1000 | -1200 | 0 |
| Parameter | Computed Value |
|---|---|
| Net Premium | 1000 |
💰 Limit Type Examples
Limit Type- Margin
Example 1: For AllFAO in LRT all scrip / contracts margin rule added with cash deposit tick in LRT with multiplier 1
Lets assume cash deposit is 5 Lakhs
Place 10 lot in nifty buy such that span = 300000 and exposure = 200000 per lot Total span + exposure for the order is 5L ( Span 3L & exposure 2L )
Buy order will be passed as our margin limit is 1 times of cash which is 5 lakhs.
Limit Type- Span Only
Example 1: For AllFAO in LRT all scrip / contracts margin rule added with cash deposit tick in LRT with multiplier 1
Lets assume cash deposit is 5 Lakhs
For AllFAO in LRT all scrip / contracts Span margin rule added with cash deposit tick in LRT with multiplier 0.5
Place 10 lot in nifty buy such that span = 300000 and exposure = 200000 per lot Total span + exposure for the order is 5L ( Span 3L & exposure 2L )
Buy order will be rejected due to span margin shortfall as our span limit is 0.5 times of cash which is only 2.5 Lakhs
🎯 RRT RULE
As per this rule configuration, System should calculate the and validate the exposure
Following are the list of variables for this rule
| Category 📋 | Variable Name 📝 | Variable Type ⚙️ | Variable Value 📊 | Default 🔧 |
|---|---|---|---|---|
| Exposure | Restrict Fresh Order Based on Turnover | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Buy Turnover | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Sell Turnover | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Gross Exposure | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Buy Gross Exposure | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Sell Gross Exposure | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Net Purchase | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Net Sale | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Net Position | Check-Box | Enable / Disable | Disable |
| Exposure | Restrict Order Based on Net Premium | Check-Box | Enable / Disable | Disable |
| Margin | Margin | Check-Box | Enable / Disable | Disable |
Variable Applicable to execute this
| Variable Name 📋 | Variable Type ⚙️ | Variable Value 📝 | Source 📍 | Description 📝 |
|---|---|---|---|---|
| Consider Strike Price in Exposure Calculation for Buy Order | Drop down Multiselect | 1. Turnover 2. Gross Exposure 3. Margin | Master Config --> General --> misc | if this option is enabled then system shall consider strike price in calculation for Buy Order else not |
| Consider Strike Price in Exposure Calculation Sell Order | Drop down Multiselect | 1. Turnover 2. Gross Exposure 3. Margin | Master Config --> General --> Misc | if this option is enabled then system shall consider strike price in calculation for Sell Order else not |
🗺️ LRT Template mapping
LRT Template created here will be allowed to Map to the entities like (Client, Dealer, Branch and Member) as well as for users through "Template Mapping" window.