RbiSearchHeader

Press escape key to go back

Past Searches

Template ப்ராஸஸிங் செய்யும்போது பிழை ஏற்பட்டது.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 27024:
Encountered "SecondLevelLink", but was expecting one of:
    "."
    ".."
    <DOT_DOT_LESS>
    "..*"
    "?"
    "??"
    "!"
    ","
    "["
    "("
    "}"
    <TERMINATING_EXCLAM>
---end-message---

The failing expression:
==> completeJson?eval  [in template "20099#20125#25189027" at line 18, column 56]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #list completeJson?eval as jsonKey, j...  [in template "20099#20125#25189027" at line 18, column 49]
----
1<#assign completeJson = content.getData()?remove_beginning("<p>")?remove_ending("</p>") , 
2				 isVariableString = completeJson?is_string 
3/> 
4 
5 
6<#assign theme_display = themeDisplay /> 
7<#assign images_folder = theme_display.getPathThemeImages() /> 
8<#assign tabindexNum ="" /> 
9 
10<!-- <div class="desktop-primary-navigation-wrapper full-width">--> 
11	<nav class="container pl-0 pr-0" tabindex="0"  aria-label="Primary Navigation Use tab keys to access menu items and Press enter key to activate."> 
12    <div class="rbi-header-wrap full-width"> 
13        <div class="container-fluid rbi-header"> 
14            <div data-title="Primary Navigation" id="primary-navigation" data-intro="Smart navigation with clear segregations" class="rbi-primary-navigation"> 
15                <ul class="nav navbar-site" role="menu"> 
16                    <!--Menu Level 1 start--> 
17                    <#if (content.getData())??> 
18						<#list completeJson?eval as jsonKey, jsonValue> 
19						<#list jsonValue as singleJsonValue> 
20						<li class="nav top-level-menu ${singleJsonValue.ListInfo}" role="menuitem" aria-label="${singleJsonValue.FirstLevelText} menu item"> 
21 
22                            <#if singleJsonValue.IsSecondLevelExists=="true"> 
23                                            <#assign topLevelMenuRole="role='menuitem'"> 
24                                                <#else> 
25                                                    <#assign topLevelMenuRole="role='menuitem'"> 
26                                        </#if> 
27                                                     
28						<#if singleJsonValue.FirstLevelText??> 
29						<span role="menu" class="page-level-one-text"> 
30							<a class="nav-link page-level-1" aria-label="${singleJsonValue.FirstLevelText} menu item"  ${topLevelMenuRole} href="${singleJsonValue.FirstLevelLink}"  tabindex="0" > 
31								<span class="text-truncate">${singleJsonValue.FirstLevelText}</span> 
32							</a> 
33					</span> 
34						</#if>      
35            <#if singleJsonValue.IsSecondLevelExists=="true"> 
36                    <div class="top-mega-menu-wrap" role="menu"   tabindex="0" aria-label="${singleJsonValue.FirstLevelText} Sub Menu Open"> 
37                        <div class="repateable-img d-none"></div> 
38                            <div class="mega-menu-first-block equalColumns"> 
39                                <div class="mega-menu-first-block-row"> 
40                                    <h3 tabindex="0">${singleJsonValue.FirstLevelText}</h3> 
41									<#if singleJsonValue.FirstLevelDescription?? && singleJsonValue.FirstLevelDescription!=""> 
42                                    <p tabindex="0" class="desc">${singleJsonValue.FirstLevelDescription}</p> 
43									</#if> 
44																		 
45                                       
46                                </div> 
47                            </div> 
48                        <div class="mega-menu-second-blocks equalColumns"> 
49												<span class="top-level-page-name">${singleJsonValue.FirstLevelText}</span> 
50                                                <!--Menu Level 2 start--> 
51                                                <#if singleJsonValue.IsSecondLevelExists == "true" > 
52                                                <ul class="second-level-menu test"> 
53                                <#list singleJsonValue.SecondLevelData as secondLevelData> 
54                                
55                                 
56                                <li class="second-level-page test" role="menuitem"> 
57                                    <!--${secondLevelData.SecondLevelLink}--> 
58                                         
59                                        <a class="second-level-menu-URL" target="_self"  
60                                        href="${secondLevelData.SecondLevelLink}" tabindex="0"> 
61                                            ${secondLevelData.SecondLevelText} 
62 
63                                        </a> 
64                                        <!--${secondLevelData.SecondLevelLink}--> 
65                                        <#if secondLevelData.IsThirdLevelExists == "true" > 
66                                        <div class="primary-nav-arrow-wrapper">  
67                                             
68                                           <span  class="primary-nav-arrow" role="menu" tabindex="0" title="Open Submenu for ${secondLevelData.SecondLevelText}">  
69                                             
70                                            <img src="${images_folder}/rbi-main/nav-arrow.svg" alt="${secondLevelData.SecondLevelText}"> 
71                                         
72                                            </span> 
73                                         
74										</div> 
75                                        </#if> 
76                                     
77											 
78                                         
79                                            <!--Menu Level 3 start--> 
80                                            <div class="mega-menu-third-blocks equalColumns"> 
81                                                <span class="third-level-page-name">${secondLevelData.SecondLevelText}</span> 
82            <#if secondLevelData.IsThirdLevelExists == "true" > 
83                                                            <ul class="third-level-menu"> 
84 
85            <#list secondLevelData.ThirdLevelData as thirdLevelData> 
86             
87            <#if thirdLevelData.IsFourthLevelExists == "true" > 
88                <#assign third_lavel_aria ="open sub menu for ${thirdLevelData.ThirdLevelText}" /> 
89                <#assign rolemenu = "role=menu" /> 
90                <#else> 
91              <#assign third_lavel_aria ="${thirdLevelData.ThirdLevelText}" /> 
92              <#assign rolemenu = "" /> 
93 
94            </#if> 
95 
96                <li class="third-level-page"> 
97                    <span class="hide-text"></span> 
98                    <a href="${thirdLevelData.ThirdLevelLink}" ${rolemenu}  aria-label="${third_lavel_aria}"  target="_self">${thirdLevelData.ThirdLevelText}</a> 
99                        <!--Menu Level 4 start--> 
100                     
101                                                                                        <#if thirdLevelData.IsFourthLevelExists == "true" > 
102         <ul class="fourth-level-menu"> 
103 
104                                                                                            <#list thirdLevelData.FourthLevelData as fourthLevelData> 
105                                                                                                <li class="fourth-level-page"  role="menuitem" >  
106                                                                                                    <a href="${fourthLevelData.FourthLevelLink}" target="_self">${fourthLevelData.FourthLevelText}</a> 
107                                                                                                </li> 
108                                                                                            </#list> 
109                                                                                                                                                                                                                            </ul> 
110                                                                                        </#if> 
111 
112 
113                </li> 
114               
115</#list> 
116</#if> 
117 
118            <!--json area--> 
119             
120                                                                <#if secondLevelData.IsThirdLevelExists == "true" > 
121                                                                    <#if secondLevelData.CommonSecondLevelData?? && secondLevelData.CommonSecondLevelData.Main.ImageLink != ""> 
122                                                                    <div class="pn-dynamic-data-wrapper"> 
123                                                                        <!--josn image--> 
124                                                                        <#if secondLevelData.CommonSecondLevelData.Main.ImageLink != ""> 
125                                                                        <div class="pn-dynamic-data--img d-none"> 
126                                                                            <img src="${secondLevelData.CommonSecondLevelData.Main.ImageLink}" alt="RBI" title="RBI" tabindex="0"> 
127                                                                        </div> 
128                                                                        </#if> 
129                                                                        <!--josn image--> 
130 
131                                                                        <!--json dynamic content--> 
132                                                                        <div class="pn-content-dynamic-wrapper"> 
133																																				       <h2>${languageUtil.get(locale, "quick-links")}</h2> 
134                                                                        <#if secondLevelData.CommonSecondLevelData.Others??> 
135                                                                            <#list secondLevelData.CommonSecondLevelData.Others as others> 
136                                                                            <#if others.Title != "" > 
137                                                                            <div class="pn-content-contents-row"> 
138                                                                                <div class="pn-content-contents-row--inner"> 
139                                                                                    <div class="pn-dynamic-content-title"> 
140                                                                                        <a href="${others.Link}" class="content-title--link"> 
141                                                                                            ${others.Title} 
142                                                                                        </a> 
143                                                                                    </div> 
144                                                                                    <#if others.Description != "" >  
145                                                                                    <div class="pn-dynamic-content-desc"> 
146                                                                                        ${others.Description} 
147                                                                                    </div> 
148                                                                                    </#if> 
149                                                                                </div> 
150                                                                            </div> 
151                                                                            </#if> 
152                                                                            </#list> 
153                                                                        </#if> 
154                                                                        </div> 
155                                                                        <!--json dynamic content--> 
156                                                                    </div> 
157                                                                    </#if> 
158                                                                        </ul> 
159                                                                </#if> 
160                                                                 
161            <!--json area--> 
162 
163     
164 
165    </div> 
166 
167</li> 
168 
169</#list> 
170</ul> 
171</#if> 
172<!--Menu Level 2 start-->      
173</div> 
174</div> 
175</#if> 
176 
177<!--top-mega-menu-wrap ends--> 
178 
179</li> 
180<!--Menu Level 1 ends--> 
181</#list> 
182</#list> 
183</#if>  
184 
185</ul> 
186</div> 
187</div> 
188</div> 
189</nav> 
190<!--</div>--> 
191 
192 
193<script> 
194    var clickedTab = false; 
195 
196    function tabPressEqualCol() { 
197       // console.log('tabPressEqualCol function called'); 
198        if ($(window).width() < 1024) { 
199                return false; 
200
201 
202            $('.top-level-menu').each(function() { 
203                var getSecondLevelTabMenuLength = $(this).children(".top-mega-menu-wrap").find($(".second-level-menu li")).length; 
204                if (getSecondLevelTabMenuLength > 0) { 
205 
206                    // var isLevelOneisHidden = $(this).children(".top-mega-menu-wrap").is(":hidden"); 
207                    //     if (isLevelOneisHidden) { 
208                    //         $(this).children(".top-mega-menu-wrap").show(); 
209                    //         const elms = document.querySelector('.top-level-menu'); 
210                    //         const getLeftPos = elms.getBoundingClientRect(); 
211                    //         const shiftLeftPos = getLeftPos.left; 
212                    //     } 
213 
214                    var maxHeight = 0; 
215                    var sameBlocks = ($(this).children(".top-mega-menu-wrap")).children( 
216                    '.equalColumns'); 
217                    var thirdLevelBlockMenu = $(this).find('.mega-menu-third-blocks .third-level-menu'); 
218 
219                    sameBlocks.each(function (ev) { 
220                        $(this).css('height', 'fit-content'); 
221                        if ($(this).height() > maxHeight) { 
222                            maxHeight = $(this).height(); 
223
224						 
225                    }); 
226 
227                    sameBlocks.each(function (ev) { 
228                        if (maxHeight > 400) { 
229                            $(this).css('height', Math.round(maxHeight).toString() + 'px'); 
230                            $(thirdLevelBlockMenu).css('height', Math.round(maxHeight).toString() + 'px'); 
231                        } else { 
232                            $(this).css('height', '400px'); 
233                            $(thirdLevelBlockMenu).css('height', '400px'); 
234
235                    }); 
236
237            }); 
238             
239 
240 
241 
242 
243
244 
245    //tab key invoke// 
246$(document).on('keyup', '.primary-nav-arrow', function (e) { 
247    if ((e.keyCode === 9) || (e.keyCode === 13))  { 
248        console.log('tab press'); 
249        tabPressEqualCol(); 
250
251}); 
252 
253	 
254    $(document).ready(function () { 
255 
256        tabPressEqualCol(); 
257			 
258			//third level content title character length 
259			$(".pn-dynamic-content-title a.content-title--link").each(function() { 
260				var getFeedbackText=$(this).text().trim(); 
261				if (getFeedbackText.length > 43) { 
262					 var setFeedbackText = getFeedbackText.substring(0,43); 
263					$(this).text(setFeedbackText); 
264
265				//console.log("getFeedbacktext --- " + getFeedbackText); 
266			}); 
267 
268			//third level content Desc character length 
269			$(".pn-dynamic-content-desc").each(function() { 
270				var getFeedbackText=$(this).text().trim(); 
271				if (getFeedbackText.length > 43) { 
272					 var setFeedbackText = getFeedbackText.substring(0, 43); 
273					$(this).text(setFeedbackText); 
274
275				//console.log("getFeedbacktext --- " + getFeedbackText); 
276			}); 
277			 
278        // Check if 3rd level nav items exist 
279        if($(".second-level-page").length){ 
280            $(".second-level-page").each(function() { 
281                let thirdLevelNavItems = $(this).find('.third-level-page'); 
282                if(thirdLevelNavItems.length){ 
283                    $(this).addClass('has-level-3'); 
284
285            }); 
286        }   
287 
288        // Check if 4th level nav items exist 
289        if($(".third-level-page").length){ 
290            $(".third-level-page").each(function() { 
291                let fourthLevelNavItems = $(this).find('.fourth-level-page'); 
292                if(fourthLevelNavItems.length){ 
293                    $(this).addClass('is-level-4-accordion'); 
294                    $(this).parents('.mega-menu-third-blocks').addClass('is-level-4-accordion-parent'); 
295
296            }); 
297        }         
298 
299        // Close Nav 1st level anchor text 
300        $(".top-level-page-name").on('click', function () { 
301            $(this).closest(".top-mega-menu-wrap").hide(); 
302        }); 
303 
304        // Close Nav 2nd level anchor text 
305        $(".third-level-page-name").on('click', function () { 
306            $(this).parent(".mega-menu-third-blocks").removeClass('level-3-open'); 
307            $(this).siblings($(".third-level-menu")).hide(); 
308        }); 
309 
310        // Nav 1st level anchor link with lchange for accessibilty fix line 300, 306 and 309 
311        $('.top-level-menu> span a').on('click', function (e) { 
312            if ($(this).hasClass('disableURL')) { 
313                e.preventDefault(); 
314
315 
316            if ($(window).width() < 1024) { 
317                var getSecondLevelMenuLength = $(this).parent().siblings(".top-mega-menu-wrap").find($( 
318                    ".second-level-menu li")).length; 
319                if (getSecondLevelMenuLength > 0) { 
320                    var menuOpen = $(this).parent().siblings(".top-mega-menu-wrap").is(":hidden"); 
321                    if (menuOpen) { 
322                        $(this).parent().siblings(".top-mega-menu-wrap").show(); 
323
324
325
326        }); 
327 
328        // Nav 1st level anchor link 
329		$('.second-level-page a').on('click', function (e) { 
330            if ($(this).hasClass('disableURL')) { 
331                e.preventDefault(); 
332
333            if ($(window).width() < 1024) { 
334                var getThirdLevelMenuLength = $(this).closest('.second-level-page').children(".mega-menu-third-blocks").find($(".third-level-menu li")).length; 
335                if (getThirdLevelMenuLength > 0) { 
336                    $(this).closest('.second-level-page').children(".mega-menu-third-blocks").addClass('level-3-open'); 
337                    $(this).closest('.second-level-page').children(".mega-menu-third-blocks").find($(".third-level-menu")).show(); 
338					//console.log("clicked...."); 
339
340
341        }); 
342		 
343		 
344 
345		$('.second-level-page .primary-nav-arrow').on('click', function (e) { 
346            if ($(this).hasClass('disableURL')) { 
347                e.preventDefault(); 
348
349            if ($(window).width() < 1024) { 
350                var getThirdLevelMenuLength = $(this).closest('.second-level-page').children(".mega-menu-third-blocks").find($(".third-level-menu li")).length; 
351                if (getThirdLevelMenuLength > 0) { 
352                    $(this).closest('.second-level-page').children(".mega-menu-third-blocks").addClass('level-3-open'); 
353                    $(this).closest('.second-level-page').children(".mega-menu-third-blocks").find($(".third-level-menu")).show(); 
354					//console.log("clicked...."); 
355
356
357        }); 
358 
359        // Nav 1st level mouseenter event 
360        $('.top-level-menu').mouseenter(function (e) { 
361            if ($(window).width() < 1024) { 
362                return false; 
363
364             
365            var getSecondLevelMenuLength = $(this).children(".top-mega-menu-wrap").find($( 
366                ".second-level-menu li")).length; 
367                 
368              //added  
369              if (getSecondLevelMenuLength === 0) { 
370                    $(this).closest('.top-level-menu').find('.page-level-1').addClass("withoutDropdown"); 
371					//$(this).closest('.top-level-menu').find('.top-mega-menu-wrap').remove(); 
372                }    
373            if (getSecondLevelMenuLength > 0) { 
374                var isLevelOneisHidden = $(this).children(".top-mega-menu-wrap").is(":hidden"); 
375                if (isLevelOneisHidden) { 
376                    $(this).children(".top-mega-menu-wrap").show(); 
377                    const elms = document.querySelector('.top-level-menu'); 
378                    const getLeftPos = elms.getBoundingClientRect(); 
379                    const shiftLeftPos = getLeftPos.left; 
380 
381                    //$(this).children(".top-mega-menu-wrap").css("left", "-" + shiftLeftPos + "px"); 
382 
383                    // added for equal column //  
384                    var maxHeight = 0; 
385                    var sameBlocks = ($(this).children(".top-mega-menu-wrap")).children( 
386                    '.equalColumns'); 
387                    var thirdLevelBlockMenu = $(this).find('.mega-menu-third-blocks .third-level-menu'); 
388 
389                    sameBlocks.each(function (ev) { 
390                        $(this).css('height', 'fit-content'); 
391                        if ($(this).height() > maxHeight) { 
392                            maxHeight = $(this).height(); 
393
394						 
395                    }); 
396 
397                    sameBlocks.each(function (ev) { 
398                        if (maxHeight > 400) { 
399                            $(this).css('height', Math.round(maxHeight).toString() + 'px'); 
400                            $(thirdLevelBlockMenu).css('height', Math.round(maxHeight).toString() + 'px'); 
401                        } else { 
402                            $(this).css('height', '400px'); 
403                            $(thirdLevelBlockMenu).css('height', '400px'); 
404
405						 
406				}); 
407
408
409             
410        }); 
411 
412        // Nav 1st level mouseleave event 
413        $('.top-level-menu').mouseleave(function (e) { 
414            if ($(window).width() < 1024) { 
415                return false; 
416
417            $(this).children(".top-mega-menu-wrap").hide(); 
418            $(".third-level-menu").hide(); 
419        }); 
420 
421        // Nav 2nd level mouseenter event 
422        $(".second-level-page").mouseenter(function () { 
423            if ($(window).width() < 1024) { 
424                return false; 
425
426            var thirdLevelMenu = $(this).find(".third-level-menu"); 
427            var thirdLevelMenuItems = $(this).find(".third-level-menu li"); 
428 
429            if (thirdLevelMenuItems.length > 0) { 
430                thirdLevelMenu.show(); 
431            }             
432        }); 
433 
434        // Nav 2nd level mouseleave event 
435        $(".second-level-page").mouseleave(function () { 
436            if ($(window).width() < 1024) { 
437                return false; 
438
439            var thirdLevelMenu = $(this).find(".third-level-menu"); 
440            thirdLevelMenu.hide(); 
441        }); 
442 
443        // retriving top level url  
444        $(document).on('keydown', '.top-level-menu', function (e) { 
445            $('.nav.navbar-site').first().children('li').each(function () { 
446               // $(this).find('a').attr('tabindex', '0'); 
447               // $(this).find('a').addClass('First-level-menu'); 
448            }); 
449           
450            $(this).each(function () { 
451                if ( $(this).children('.page-level-1').hasClass('disableURL') ) { 
452                    if (e.which == 13) { 
453                        if ($(this).find('.top-mega-menu-wrap').is(":hidden")) { 
454                            $(".top-mega-menu-wrap").hide(); 
455                            $(this).find(".top-mega-menu-wrap").show(); 
456                            clickedTab = true; 
457                            e.preventDefault(); 
458                        } else { 
459                            $(this).find(".top-mega-menu-wrap").hide(); 
460
461
462
463                 
464            }); 
465        }); 
466 
467        $(".rbi-primary-navigation a").each(function () { 
468            var getPageLevelURL = $(this).attr("href"); 
469            if (((getPageLevelURL.indexOf("javascript") > -1)) || ((getPageLevelURL.indexOf( 
470                    "Javascript") > -1))) { 
471                $(this).addClass("disableURL"); 
472
473 
474            // added for collaborative events menu should not open  
475            if ((getPageLevelURL.indexOf("href") > -1))  { 
476                $(this).addClass("menu-not-open-collaborative"); 
477
478 
479             
480        }); 
481          
482        /*blocked temprary need to know why shift key is desier*/ 
483        // $('.mega-menu-second-blocks .second-level-menu>li:last-child>a').on('keydown', function (e) { 
484        //     if( !e.shiftKey && e.keyCode ){ 
485        //         $('.top-mega-menu-wrap').css('display', 'none');   
486        //     }                        
487        // }); 
488 
489        var navMousedown = false; 
490        $('.mega-menu-third-blocks .third-level-menu>li:last-child>a').on('mousedown', function () { 
491            navMousedown = true; 
492        }); 
493 
494        $('.mega-menu-third-blocks .third-level-menu>li:last-child>a').on('focusout', function (event) { 
495            $(this).keydown(function (e) { 
496                if(!navMousedown) { 
497                    if( !e.shiftKey && e.keyCode ){ 
498                        if( !$(this).parent('.is-level-4-accordion').hasClass('active') ){ 
499                            $(".third-level-menu").css('display', 'none'); 
500                            $(this).parent('.second-level-page').focus();  
501                        }                         
502                    }                 
503
504                navMousedown = false;   
505            });                       
506        }); 
507 
508        $('.mega-menu-second-blocks .second-level-menu li.has-level-3').on('keydown', function (event) { 
509            // on click of enter  
510            if (event.which === 13) { 
511                $(this).trigger('click').find('.third-level-menu').css('display', 'block'); 
512                 
513
514        }); 
515 
516        $('.mega-menu-second-blocks .second-level-menu>li>a').on('focus', function (event) { 
517            $(".third-level-menu").css('display', 'none'); 
518        }); 
519 
520        $('.rbi-header .site-logo .custom-logo').on('focusout', function (event) { 
521            $('.rbi-primary-navigation>ul>li:nth-child(2)>a').attr('tabindex', '0'); 
522        }); 
523 
524        // On load get number of languages 
525        let rbiLanguages = []; 
526 
527        if ($(".multipleLanguae-wrapper #languageSelector option").length) { 
528            $(".multipleLanguae-wrapper #languageSelector option").each(function () { 
529                let currentItem = { 
530                    languageText: $(this).text(), 
531                    languageURL: $(this).attr('value') 
532                }; 
533                rbiLanguages.push(currentItem); 
534            }); 
535        }  
536		 
537 
538        // Add languages to mobile list items 
539        let langListItem = ''; 
540        let langListItemContainer = $(".pwa-primary-navigation-wrapper .nav>li:first-child").find( 
541            '.second-level-menu'); 
542        langListItemContainer.empty(); 
543				 
544				     if (rbiLanguages.length) { 
545            $.each(rbiLanguages, function (key, value) { 
546							 
547                if (value.languageURL == value.languageText) { 
548                    langListItem = 
549                        "<li class='second-level-page selected test' ><a href='javascript:void(0)' target='_self'>" + 
550                        value.languageText + "</a></li>"; 
551                } else { 
552                    langListItem = 
553                        "<li class='second-level-page test'><a href='" + 
554                        value.languageURL + "' target='_self'>" + value.languageText + "</a></li>"; 
555
556 
557                langListItemContainer.append(langListItem); 
558            }); 
559
560         
561 
562    }); 
563window.addEventListener("load", () => { 
564    setTimeout(() => { 
565        if(window.location.href.includes('lost-in-transmission-financial-markets-and-monetary-policy-duplicate-0') 
566        ){ 
567                $(".multipleLanguae-wrapper .list ul li").each(function () { 
568                        $(this).removeClass('d-none') 
569                }); 
570
571    }, 2000); 
572 }); 
573 
574</script> 
575 
576 
577<script> 
578$(document).ready(function(){ 
579		setTimeout(function() {  
580        $('.rbi_home_hero_wrapper .owl-dots button').attr('aria-label', 'Slide Navigation'); 
581        $('.rbi_home_hero_wrapper .owl-dots button').attr('title', 'Slide Navigation'); 
582    }, 50); 
583}); 
584</script> 
Theme
Theme
Text Size
Text Size
S3

RbiAnnouncementWeb

RBI Announcements
RBI Announcements

சொத்து வெளியீட்டாளர்

83591941

Annex 2.10 Reporting of Derivatives under IBS

REPORTING BY BRANCHES/SUBSIDIARIES:

Banks branches in India (including foreign banks) and foreign branches/subsidiaries of Indian Banks are required to submit counter party and contract wise marked to market (MTM) values of derivative (viz., forwards, swaps, FRA, futures, options, credit derivatives, etc.,) contracts on gross basis (i.e., positive as well as negative market/fair values) in equivalent US Dollar with details of currency of settlement, country of the counter party, country and sector of ultimate risk, to their respective head/ principal offices. It may be mentioned that counter party wise netting (where specific legally enforceable bilateral netting arrangement such as International Swaps and Derivative Association (ISDA) master agreement, etc., exists) would be done at head office level. The information on subsidiaries is not required to be reported unless there is an explicit guarantee provided by the parent.

All derivatives whether held in the banking or trading book (hedge or trading) should be reported on fair value basis. Credit derivatives, such as, credit default swaps and total return swaps, should be reported, if they belong to the trading book of a protection buying reporting bank. Credit derivatives that belong to the banking book should be reported as “Risk transfers” by the protection buyer.

In case of credit derivatives, on the trading book, there are basically three parties, the protection seller, the protection buyer and the issuer of the underlying. The country of ultimate risk shall be based on the issuer of the underlying. Hence, if a buyer of credit default swaps have underlying bonds/debentures, whose issuer is located in US. The ultimate risk is on the US. The value of the derivatives shall be the amount of the loan/ investment less the expected recovery from the underlying.

Currency of Reporting: Counter party and contract wise MTM values of all derivative contracts are to be reported in equivalent US Dollar based on spot rates as published by FEDAI on the relevant reporting dates. However, the currency of reporting should be the currency of settlement and the same should be reported as ISO currency codes provided in Annexure-III. The detail information on currency of settlement and country of counterparty of derivative contracts are required for the purpose of netting at HO/PO.

Country of the Counter Party: is the country where the counter party is located/operating. If the reporting bank/branch has a derivative contract with a branch/office of a Singapore based bank in India the country of the counter party will be India (IN) and the country of ultimate risk (guarantor) will be Singapore (SG).

Country of Ultimate Risk: is defined as the country in which the guarantor of a financial claim resides and/or the country in which the head office of a legally dependent branch is located e.g., An Indian Bank which has a cross currency swap with a US based bank’s branch/ office in Thailand, the country of ultimate risk is US and the country of the counter party is Thailand. Collateral that is liquid and available in a country other than that of the borrower may be considered in the same manner as guarantees for this purpose. Claims on legally independent subsidiaries can only be considered as being guaranteed by the head office if the parent has provided an explicit guarantee. In contrast, claims on legally dependent branches are by definition always guaranteed by the respective head office. In the case of a multinational enterprise in India whose head office is outside India, it needs to be determined whether the head office has provided a guarantee to its office in India or not. If, it has, the ultimate risk country is that of the head office. If it has not provided a guarantee, the ultimate risk country is India.

Sector of Ultimate Risk: is the sector of the guarantor of a financial claim, e.g., bank, non-bank public sector, non-bank private sector, governments, etc.

Valuation: The valuation of derivatives should be based on marked to market (MTM) and on net present value (NPV) basis. However, counter party wise netting would be done at banks’ head/principal office and NOT at branch level. With respect to MTM methodology of valuing FX forward contracts, the current practice may be followed till the NPV method is introduced for forward contracts. The valuation should be performed based on the general guidance provided below.

Guidance for Arriving at Fair/Market Value:

As a general rule, for an instrument that is actively traded on a recognized public exchange, the price quoted by the exchange where the instrument is traded is used as the base valuation price to arrive at the fair value of the instrument.

In case of instruments that are actively traded over the counter, the quoted bid price for long positions and quoted offer price for short positions is used as the base valuation price. These may be obtained through relevant market makers or brokers.

In case of less actively traded instruments/non-traded OTC derivatives, various techniques are used to determine the best estimate of a market price. This synthetic market price may be derived through use of market data (such as interest/ exchange rates) in appropriate models/systems designed for this purpose.

In case of the following instruments, fair value can be arrived at using the market data as mentioned there against:

FX spot / forwards

Prices as published by FEDAI

Exchange traded

Prices quoted on the relevant

interest rate futures

exchange

Commodity futures

Price quoted by relevant

 

exchange

OTC derivatives

 

Actively traded OTC

Rates quoted by market

instruments:

makers

 

Based on best estimate of

In all other cases

market prices as described

 

in (2) above

Some more Concepts: The market value of forward financial derivatives contract is derived from the difference between the agreed-upon contract price of an underlying item and the prevailing market price (or market price expected to prevail) of that item, times the notional amount, approximately discounted. The notional amounts - sometimes described as the nominal amount - is the amount underlying a financial derivatives contract that is necessary for calculating payments or receipts on the contract. This amount may or may not be exchanged. In the specific case of a swap contract, the market value is derived from the difference between the expected gross receipts and gross payments, appropriately discounted; that is, its net present value. The market value for a forward contract can therefore be calculated using available information – market and contract prices for the underlying item, time to maturity of the contract, the notional value, and market interest rates. From the viewpoint of the counter parties, the value of a forward contract may become negative (liability) or positive (asset) and may change both in magnitude and direction over time, depending on the movement in the market price for the underlying item. Forward contract settled on a daily basis, such as those traded on organized exchanges - and known as futures - have a market value, but because of daily settlement it is likely to be zero value at each end-period.

The price of an option depends on the potential price volatility of the price of the underlying item, the time to maturity, interest rates, and the difference between the contract price and the market price of the underlying item. For traded options, whether they are traded on an exchange or not, the valuation should be based on the observable price. At inception the market value of a non-traded option is the amount of the premium paid or received. Subsequently non-traded options can be valued with the use of mathematical models, such as the Black-Scholes formulae, that take account of the factors mentioned above that determine option prices. In the absence of a pricing model, the price reported for accounting or regulatory purposes might be used. Unlike forwards, options cannot switch from negative to positive value, or vice versa, but they remain an asset for the owner and a liability for the writer of the option.

Some Examples for the Calculation of Market or Fair Values of Derivative Contracts: The following examples indicate how to calculate the market or fair value of various derivative contracts:

For a forward, a contract to purchase USD against EUR at a forward rate of 1.00 when initiated has a positive market value if the EUR/ USD forward rate at the time of reporting for the same settlement date is lower than 1.00. It has a negative market value if the forward rate at the time of reporting is higher than 1.00, and it has a zero market value if the forward rate at the time of reporting is equal to 1.00.

For swaps, which involve multiple (and sometimes two-way) payments, the market or fair value is the net present value of the payments to be exchanged between the counter parties between the reporting date and the contracts maturity, where the discount factor to be applied would normally reflect the market interest rate for the period of the contract’s remaining maturity. Thus, a fixed/floating swap which at the interest rates prevailing at the reporting date involves net annual receipts by the reporter of e.g. 2% of the notional principal amount for the next three years has a positive marked to market (or replacement) value equal to the sum of three net payments (each 2% of the notional amount), discounted by the market interest rate prevailing at the reporting date. If the contract is not in the reporter’s favour (i.e., the reporter would have to make net annual payments), the contract has a negative net present value.

Unlike forwards or swaps, OTC options have a market or fair value at initiation which is equal to the premium paid to the writer of the option. Throughout their life, option contracts can only have a positive market or fair value for the buyer and a negative market or fair value for the seller. If a quoted market price is available for a contract, the market value to be reported for that contract is the product of the number of trading units of the contract multiplied by that market price. If a quoted market price is not available, the market or fair value of an outstanding option contract at the time of reporting can be determined on the basis of secondary market prices for options with the same strike prices and remaining maturities as the options being valued, or by using option pricing models. In an option pricing model, current quotes of forward prices for the underlying (spot prices for American options) and the implied volatility and market interest rate relevant to the option’s maturity would normally be used to calculate the market values. Options sold and purchased with the same counter party should not be netted against each other, nor should offsetting bought and sold options on the same underlying. The format for reporting of derivatives from branch to HO/PO has been discussed in paragraph 3.24.

Ensuring the data quality: Due to unavailability of secondary data on derivatives, it will not be possible to ensure/cross-check the coverage at RBI level. The reporting banks/branches are required to ensure the correctness/coverage/ quality of data before submitting the same to the RBI.

REPORTING BY BANK HEAD/PRINCIPAL OFFICES TO RBI:

The head/principal offices of banks are required to submit consolidated amount for each country (ultimate risk country) across all derivatives (forwards, swaps, FRA, futures, options, credit derivatives, etc.,). The amount shall be the positive market value representing financial claims and denominated in equivalent USD using closing FEDAI spot rate on relevant reporting dates. The information on subsidiaries is not required to be reported unless there is an explicit guarantee provided by the parent.

The head/principal offices of banks are required to collate counter party and contract wise data on derivatives supplied by the branches along with such data available at head office level and then do netting for a counter party where specific legally enforceable bilateral netting arrangement such as International Swaps and Derivative Association (ISDA) master agreement, etc., exists. An illustration to the mechanism of netting has been provided at the end of this Annex. After netting, wherever necessary, only positive market values representing financial claims of the bank are to be reported.

Mechanism of Netting: Derivative contracts
entered by SBI branches worldwide

Reporting Branch

Counter
-party

Currency of Settlement

Country of
Counter Party

Country of
Ultimate Risk

Type of derivative

MTM Value
(in USD)

(1)

(2)

(3)

(4)

(5)

(6)

(7)

New York

CP1 – Citibank, New York

USD

US

US

FX Forward

+100

New York

CP1 – Citibank, Tokyo

USD

US

US

IRS

–10

Mumbai

CP1 – Citibank, Kolkata

JPY

IN

US

FCY IRS

-75

Mumbai

CP1 – Citibank, Mumbai

JPY

IN

US

FX Forward

+50

Mumbai

CP1 – Citibank, Delhi

USD

IN

US

FCY IRS

–10

Mumbai

CP2 – ICICI Bank, Singapore

GBP

SG

IN

FX Forward

+30

Kolkata

CP2 – ICICI Bank, Singapore

GBP

SG

IN

FX Option

–50

Mumbai

CP2 – ICICI Bank, Mumbai

USD

IN

IN

IRS

+80

Kolkata

CP3 – SBI, New York

USD

US

IN

Currency Swap

-30

Kolkata

CP3 – SBI,London

GBP

GB

IN

FX Option

+60

Note: It has been assumed that there exist specific
legally enforceable bilateral netting arrangement between

SBI and each of the counter-parties mentioned at column no.
(2).
However, if there exist no such agreement
With a particular counter-party then amounts for all contracts with that
counter party with positive market values should be added
and reported without netting with negative values.

 

Counter Party-wise Netting and Reporting by SBI

Counter
party

Currency of
Settlement

Country of
Counter Party

Country of
Ultimate Risk

Netting
of values

Remark

(1)

(2)

(3)

(4)

(5)

(6)

CP1

USD

US

US

+100-10=+90

Should be Reported

CP1

JPY

IN

US

-75+50=-25

Should NOT be Reported

CP1

USD

IN

US

-10

Should NOT be Reported

CP2

GBP

SG

IN

+30-50=-20

Should NOT be Reported

CP2

USD

IN

IN

+80

Should be Reported

CP3

USD

US

IN

-30

Should NOT be Reported

CP3

GBP

GB

IN

+60

Should be Reported

 

RbiTtsCommonUtility

प्ले हो रहा है
கேட்கவும்

Related Assets

RBI-Install-RBI-Content-Global

RbiSocialMediaUtility

இந்திய ரிசர்வ் வங்கி மொபைல் செயலியை நிறுவுங்கள் மற்றும் சமீபத்திய செய்திகளுக்கான விரைவான அணுகலை பெறுங்கள்!

Scan Your QR code to Install our app

RbiWasItHelpfulUtility

இந்த பக்கம் உதவியாக இருந்ததா?