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
S1

Press Releases Marquee

RBI Announcements
RBI Announcements

RbiAnnouncementWeb

RBI Announcements
RBI Announcements

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

109098719

Trade War: Is it a prelude to deglobalisation?

Shri B. P. Kanungo, Deputy Governor, Reserve Bank of India

delivered-on ஆக. 26, 2019

1. I am delighted to be here today and am grateful to the FAI and the organisers of this conference for inviting me to speak to this gathering. I am also happy to be in Singapore, a country which truly epitomises all that can be called achievements of globalisation, and a country with which India had and continues to have multifaceted engagement covering cultural, ethnic and economic spheres. FAI, a body of forex market professionals who intermediate between the supply and demand for foreign currency and act as ‘price givers’ to the rest of the economy has been active in promoting transparency, professionalism and ethical conduct in the forex market since 1979. I commend them for the role they have played and hope that they will continue to do so in future with utmost efficiency and fairness.

2. The forex market is unique in several ways. A foreign currency is essentially a commodity outside its jurisdiction and therefore has attributes of an asset. But the exchange rate, the price of the foreign currency normalised to the home currency is an important macroeconomic variable that ought to be determined by economic fundamentals and influences behaviour of economic agents. Principally because of this twin nature, the exchange rate exhibits great volatility and decouples from its value indicated by the economic fundamentals that calls for policy response. I must add that the only thing next to extreme volatility that disorients a forex trader is a situation of very low volatility!

3. It is ironical that amidst several disruptive factors, the volatility in the global foreign exchange markets has been quite low in recent times. In fact, the JPMorgan Global FX volatility Index has been at its lowest since 2014. Market participants have seen this as a lull before the storm and have recounted past episodes when such a trough was followed by a sharp rise in the US Dollar. Despite the 25-basis-point rate cut announced by the US Federal Reserve, the US Dollar rose sharply, probably anticipating more accommodating measures in the future. If anything, this underscores uncertainty.

4. The global economic scenario is not very encouraging, though there is no room for pessimism yet. The IMF continues to revise the global growth projections for 2019 downward though the outlook for 2020 is more positive. The growth in the developed countries remains sluggish and the emerging economies including China and India, the dominant contributors to global growth in recent years, appear to be facing a challenge. Another era of accommodative monetary policy regime seems to be round the corner as evident from synchronised rate cut by several Central Banks.

5. Global trade tensions between the two largest economies are a dominant theme of discourse today. As of now, there does not appear to be any possibility of quick resolution of the tension, nor does it seem to escalate and get out of hand rapidly in near future. Whatever may be the rational and economic logic behind the competitive protectionism through tariff barriers, it is certainly contributing to the global economic slowdown. The exit of Britain from the European Union, the so-called Brexit also is shrouded in uncertainty and it is recognised that a no-deal Brexit will surely be a disruptive factor. There are also risks emanating from geopolitical tensions in the Gulf and elsewhere that can adversely affect the sentiments.

6. Delicately poised as the global economy is at this juncture, much of which, as IMF Chief Economist Gita Gopinath says, is self-inflicted, it is entirely premature to think of deglobalisation. Globalisation is an irreversible process and has been progressing for millennia. It has progressed rapidly beyond expectation in recent times because of quantum advancements in communication and technology. All aspects of human existence including economies, markets, social interactions, education and so on have become intertwined. True, the process of globalisation has brought problems and discontent in its wake, but wisdom lies in addressing them rather than disbanding the process.

7. Free Trade has been one of the main planks of globalisation. It has been generally held that free trade amongst nations enhances welfare. The underpinning logic is the same as that in case of free market economics: specialisation, comparative advantage and productivity gains. Just as in case of free market economics, there are factors that affect the gains from trade. Besides, there has always been an asymmetric approach to free exports versus free imports. While every country favours exports (except when the terms of trades are deteriorating) because it contributes to domestic employment and growth, there is an abhorrence for imports because the country loses employment, growth and foreign exchange. This brings in deterrent measures like tariff and when one hears talk about optimum tariff, it simply means optimum for the welfare of the country concerned not for the global welfare as a whole. And if all the trading countries impose retaliatory tariffs, it becomes a negative-sum game affecting global welfare and welfare of individual nations to a varied extent.

8. Ordinarily, the exchange rate is supposed to play some kind of an equilibrating role in addressing the current account deficit, subject of course to several preconditions. A country with trade surplus should experience appreciation of its currency making its exports more expensive and imports cheaper and vice versa for a country with trade deficit. The success of this mechanism depends on to what extent the exchange rates are allowed to be determined by the market forces without intervention of national authorities. It is not surprising that allegations of currency manipulation were fairly common in the run up to the recent trade tension.

9. The increasing globalisation of trade, manufacturing, services, supply chain, capital movement, etc. has created a web of complex interdependence. Moreover, the externalities of national economic policies have also become substantially magnified. While the national governments and policy makers are supposed to act in interest of their respective constituencies, the collateral effect of their action on the rest of the world can be significant. The need for coordinated action amongst the leaders of the larger nations is urgent. It must be borne in mind that such coordinated action did contribute to contain the global financial crisis.

10. Speaking recently, Governor Das drew attention to the US Treasury’s monitoring of countries as currency manipulators since 2015 in which India figured for some time till 2018. He further pointed out that the charter of the IMF has elaborate provisions to bind its member countries not to manipulate their currencies so as to gain unfair comparative advantage in trade and it is best that the issues relating to any alleged currency manipulation are best dealt with in a multilateral framework than bilateral attempts to correct a wrong. The same logic applies to trade in goods and services and other areas of discord as well. That was the purpose behind the erstwhile GATT, now WTO. The current trade tensions are best sorted out multilaterally through cooperation lest as Paul Krugman tweeted some time back, “In the long run the world would be poorer and in the short run there would be immense disruption.”

11. The Indian forex markets have been fairly stable in recent months. As you know, the Reserve Bank is mandated to maintain orderly conditions in the foreign exchange market. Its intervention in the forex market is solely directed at curbing sudden turbulences not backed by the economic fundamentals. As has been said repeatedly, market operations are not intended to achieve any target exchange rate or band of rates. It must be pointed out that the exchange rate dynamics in India for more than a decade has been driven by capital flows rather than current account balances. As an aside, India has mostly run a current account deficit, notwithstanding a bilateral trade surplus with the US, marginally more than USD 20 billion during 2018. Though long-term flows related to FDI and long-term debt have been fairly stable keeping in tandem with the economic fundamentals, the portfolio flows have their own dynamics depending as much on attractiveness of returns of Indian assets as the global factors determining their risk appetite. Gyrations in the forex market in these circumstances leave no option other than market intervention to restore orderliness in the market. One also need to bear in mind that India’s forex reserves are borrowed reserves and not built out of export surplus. Inasmuch as it provides a bulwark against sudden flow reversals, it enhances the country’s ability to cope with the fall out and indeed, contributes to global stability as well.

12. The policy regime is also oriented to providing adequate instruments of hedging to all resident economic agents who have exposure to a foreign currency as well as all non-residents who have a Rupee exposure. The onshore markets are fairly deep and liquid but needs further strengthening. There is a wide menu of hedging instruments available and further expansion would be in keeping with understanding of their risk implication. In recent times, global institutions and investors have shown a healthy appetite for Rupee denominated assets, which while ensuring flow of foreign exchange protects the Indian issuers from exchange risk. This trend needs to be given further policy nudges.

13. In fine, I would like to say that though there are discouraging portents for the global economy and uncertainties arising from trade tensions and geopolitical developments, I am optimistic that coordinated policy response and dispute resolution within a multilateral framework will see us through the day.

14. I will also take this opportunity to highlight two other important issues. First, the issue of transparent and fair pricing of foreign exchange transactions which has been brought to our notice by various category of users. The problem of getting fair prices was especially acute for MSMEs and small businesses who were not allowed to access the FX trading platforms of individual banks. In order to address this issue, RBI decided to develop, through CCIL, a web-based platform wherein such participants could place their purchase/sale orders directly. The platform, is accessible to users from early August 2019 through an internet-based application, allows bid/offers from retail clients and Authorised Dealer banks to be matched anonymously and automatically, thereby allowing complete transparency to the users about the levels of their trades. Banks will have to declare and recover their processing charges separately leading to competition amongst banks for customer business. I urge banks to make the platform popular among retail and small business houses/MSMEs.

15. Second, the Global Forex Code developed by the BIS as a common set of guidance for the proper functioning of the FX market. It comprises a common set of principles (55 in total with 6 leading principles) aimed at restoring trust and allowing greater confidence in the forex market and its functioning after various scandals (like LIBOR fixing scandal, etc.) eroded confidence in the markets. The Code provides the corporate/intermediary with an opportunity to review/improve its internal FX operations and align them to global standards. It provides a positive signal to its clients, investors, counterparties and the wider market of the corporate’s commitment to follow good practices while dealing in the FX market.

16. In India, all banks, barring one, and several non-bank participants have signed the Statement of Commitment (SoC) to the Code. Though the adoption of the code is voluntary, I urge all the non-bank participants present here to study the Code, examine their processes and, thereafter, sign the SoC to the Global Code.

17. I wish your deliberations all success.

RbiTtsCommonUtility

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

Related Assets

RBI-Install-RBI-Content-Global

RbiSocialMediaUtility

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

Scan Your QR code to Install our app

RbiWasItHelpfulUtility

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