ROE (Return on Equity) — это финансовый показатель, который отражает прибыльность собственного капитала компании. Он показывает, какую прибыль получает компания на каждый рубль собственного капитала, вложенного акционерами. ROE является важным инструментом для оценки эффективности управления компанией и ее способности генерировать доход для акционеров.
Основные характеристики ROE
- Прибыльность капитала. ROE показывает, насколько эффективно компания использует собственный капитал для получения прибыли
- Инвестиционная привлекательность. Высокое значение ROE свидетельствует о высокой прибыльности и может привлечь новых инвесторов
- Сравнительный анализ. Показатель используется для сравнения прибыльности компаний в одной отрасли или между разными отраслями
Формула расчета ROE
Формула расчета ROE:
ROE=Чистая прибыль/Собственный капитал×100%где:
-
Чистая прибыль — это прибыль, остающаяся после вычета всех расходов, налогов и обязательных выплат
-
Собственный капитал — это сумма капитала, вложенного акционерами, плюс нераспределенная прибыль
Пример расчета ROE
Допустим, у компании чистая прибыль составляет 500 000 рублей, а собственный капитал — 2 000 000 рублей.
Расчет ROE будет следующим:
{ button.addEventListener('click', () => { let link = button.getAttribute('data-href'); if (link) { window.open(link, '_blank').focus(); } }); }); } addButtonClickHendler(); document.addEventListener("DOMContentLoaded", findSetOverflowTable); window.addEventListener('resize', ()=>{ let infoPageTables = document.querySelectorAll('.post-content .info-page-content table:not(.card-parameters)'); if(infoPageTables.length!==0) { infoPageTables.forEach((table) => { changeTables(table); }); } }) function changeTables(table){ if (table.closest('.horizontal-scroll') === null) { let tableOverflow = document.createElement('div'); tableOverflow.classList.add('horizontal-scroll'); table.before(tableOverflow); tableOverflow.append(table); } } function findSetOverflowTable(){ let postPageTables = document.querySelectorAll('.post-content .info-page-content table:not(.card-parameters)'); if(postPageTables.length!==0) { postPageTables.forEach((table) => { setOverflowTable(table); }); } let accordionTables = document.querySelectorAll('.accordion table'); if(accordionTables.length) { accordionTables.forEach((table) => { setOverflowTable(table); }); } let textContentTables = document.querySelectorAll('.text-content table'); if(textContentTables.length) { textContentTables.forEach((table) => { setOverflowTable(table); }); } } function setOverflowTable(table){ // эта не валидные для html атрибуты, которые только мешают стилазации, но WYSIWYG редаткоры их добавляют table.removeAttribute('border'); table.removeAttribute('cellpadding'); table.removeAttribute('cellspacing'); let wrapper = table.parentElement; if (wrapper.classList.contains('table-scroll')) { wrapper.classList.remove('table-scroll'); wrapper.classList.add('horizontal-scroll'); initDragScroll(wrapper, wrapper.querySelectorAll('table')); } if (!wrapper.classList.contains('horizontal-scroll')) { let divTableOverflow = document.createElement('div'); divTableOverflow.classList.add('horizontal-scroll'); table.before(divTableOverflow); divTableOverflow.append(table); initDragScroll(divTableOverflow, divTableOverflow.querySelectorAll('table')); } } function showInputError(input, message) { const formGroup = input.closest('.form-group'); const errorMsg = formGroup.querySelector('.err-msg'); if (!formGroup || !errorMsg) { return; } formGroup.classList.add('error'); errorMsg.innerHTML = message; } function hideErrorOnChange(input) { const formGroup = input.closest('.form-group'); if (!formGroup) { return; } input.addEventListener('input', () => { formGroup.classList.remove('error'); }) input.addEventListener('change', () => { formGroup.classList.remove('error'); }) } /* catalog display on pc */ let headerBlock = document.querySelector('.header-main'); let categoriesLinksSelf = document.querySelectorAll('.header-main span.catalog-menu_link'); let catalogCategoriesItems = document.querySelectorAll('.catalog-category-item'); let catalogPanel = document.querySelector('.catalog-menu-wrapper'); let firstCatalogMenu = document.querySelector('.catalog-level-1'); let catalogButtonsBack = document.querySelectorAll('.catalog_btn-back'); let btnHamburger = document.querySelector('.btn-hamburger'); let headerOverlay = document.querySelector('.header-overlay'); let exchangeRateList = document.querySelector('.exchange-rate_list'); let authButton = document.querySelector('.auth-button'); let headerWrapper = document.querySelector('.header-wrapper'); let currentMenuItem = null; let catalogIsMob = false; if(headerBlock!==null){ headerBlock.addEventListener('mouseover', (e)=>{ changeMenuVisibility(e); }) headerBlock.addEventListener('mouseout', (e)=>{ changeMenuVisibility(e); }) // btn hamburger btnHamburger.addEventListener('click', ()=>{ headerBlock.classList.toggle('catalog-open'); if(!headerBlock.classList.contains('catalog-open')){ closeMenu(); } else { document.body.style.overflow = 'hidden'; } }); // categories links self categoriesLinksSelf.forEach(link => { link.addEventListener('click', closeMenu); }); // header overlay headerOverlay.addEventListener('click', closeMenu); // slide catalog menu catalogCategoriesItems.forEach((catalogCategoryItem)=>{ catalogCategoryItem.addEventListener('click', ()=>{ let submenu = catalogCategoryItem.querySelector('.catalog-submenu'); if(submenu){ firstCatalogMenu.classList.add('slided'); submenu.classList.add('active'); } }); }); // slide catalog menu catalogButtonsBack.forEach((catalogButtonBack)=>{ catalogButtonBack.addEventListener('click', (e)=>{ if (window.innerWidth > 1023) { return; } e.preventDefault(); e.stopImmediatePropagation(); let currentMenu = catalogButtonBack.closest('.catalog-level-2'); currentMenu.classList.remove('active'); firstCatalogMenu.classList.remove('slided'); }); }); // для изменения стилей каталога pc/mob setCatalogStyles(); window.addEventListener('resize', setCatalogStyles); initAccountMenu(); } function setCatalogStyles(){3 if(window.innerWidth < 1024){ if (!catalogIsMob) { catalogIsMob = true; hideCatalogStyleChanges(); moveExchangeRateList(); moveAuthButton(); } } else { if (catalogIsMob) { catalogIsMob = false; hideCatalogStyleChanges(); moveExchangeRateList(); moveAuthButton(); closeMenu(); } } } // для изменения стилей pc/mob function hideCatalogStyleChanges(){ catalogPanel.style.display = 'none'; setTimeout(()=>{ catalogPanel.style.removeProperty('display'); }, 100); } function moveExchangeRateList(){ if(window.innerWidth < 1024){ firstCatalogMenu.append(exchangeRateList); } else { headerWrapper.append(exchangeRateList); } } function moveAuthButton() { if(window.innerWidth < 1024){ headerWrapper.insertBefore(authButton, btnHamburger); } else { headerWrapper.append(authButton); } } function closeMenu() { headerBlock.classList.remove('catalog-open'); closeSubMenus(); document.body.style.removeProperty('overflow'); closeCatalogMenuPC(); } function closeSubMenus(){ let openCatalogMenus = document.querySelectorAll('.catalog-level-2.active'); openCatalogMenus.forEach((openCatalogMenu)=>{ openCatalogMenu.classList.remove('active'); }); firstCatalogMenu.classList.remove('slided'); document.body.focus(); } function changeMenuVisibility(event){ if(window.innerWidth <= 1023 ){ return;} let isCatalogPanel = event.target.closest('.catalog-menu-wrapper'); let menuItem = event.target.closest('.header-menu-item'); if(menuItem !== null && currentMenuItem !== menuItem) { // наведение на пункт меню currentMenuItem = menuItem; let targetCategory = menuItem.dataset.catalogCategory; if (targetCategory) { catalogCategoriesItems.forEach((catalogCategoryItem) => { let submenu = catalogCategoryItem.querySelector('.catalog-submenu'); if (submenu && catalogCategoryItem.dataset.catalogCategory === targetCategory) { catalogCategoryItem.classList.add('active'); headerBlock.classList.add('catalog-open') } else { catalogCategoryItem.classList.remove('active'); } }); } } else if (!menuItem && !isCatalogPanel){ // наведение вне пункта меню closeCatalogMenuPC(); } if(event.type === 'mouseout'){ // закрыть меню если курсор вне header if(!event.relatedTarget || !event.relatedTarget.closest('header')){ closeCatalogMenuPC(); } } } function closeCatalogMenuPC(){ currentMenuItem = null; catalogCategoriesItems.forEach((catalogCategoryItem)=>{ catalogCategoryItem.classList.remove('active'); }); headerBlock.classList.remove('catalog-open') } function initAccountMenu() { let accountMenuCurtain = headerBlock.querySelector('.account-menu-curtain'); let accountButton = headerBlock.querySelector('.account-button'); if (!accountMenuCurtain) return; initDragBlock(accountMenuCurtain, () => { console.log('drag') }, 'select'); accountButton.addEventListener('click', () => { accountMenuCurtain.click(); }) } function initContentSidebar() { const contentSidebar = document.querySelector('.content-sidebar'); if (!contentSidebar) return; const content = document.querySelector('.sidebar-content'); const sidebarBlock = document.querySelector('.sidebar-block'); const sidebar = sidebarBlock.querySelector('.sidebar'); let adminMenuItems = sidebarBlock.querySelectorAll('.sidebar-admin li'); const curtain = contentSidebar.querySelector('.curtain'); const header = document.querySelector('header'); const headerHeight = header ? header.offsetHeight : 0; sidebarBlock.style.top = (parseInt(getComputedStyle(sidebarBlock)['top']) + headerHeight) + 'px'; const showSidebarItems = 5; // по клику в содержании скролл к заголовку в контенте function sidebarElementClick(sidebarElement) { const title = document.querySelector('#' + sidebarElement.dataset.titleId); const header = document.querySelector('header'); const headerHeight = header ? header.offsetHeight : 0; const yOffset = -20 - headerHeight; const y = title.getBoundingClientRect().top + window.pageYOffset + yOffset; window.blockScrollEvent = true; sidebar.querySelectorAll('li').forEach(sidebarItem => { if (sidebarItem.dataset.titleId == sidebarElement.dataset.titleId) { sidebarItem.classList.add('active'); return; } sidebarItem.classList.remove('active') }) window.scrollTo({top: y, behavior: 'smooth'}); setTimeout(() => { window.blockScrollEvent = false; }, 700) } let titlesList = parseTitlesList(content, ['h2']); if (!titlesList.length) { sidebarBlock.remove(); document.querySelector('.show-sidebar-curtain').remove(); return; } // создать заголовки содержания если они не заданы из админки titlesList.forEach((title, index) => { title.id = 'title-' + index; let titleWithQuotes; let cleanSidebarTitle = title.innerText; // для рейтингов взять заголовок из скобок if(title.dataset.title){ titleWithQuotes = String(title.innerText.match(/«(.+)»/g)); cleanSidebarTitle = titleWithQuotes.slice(1, -1); } let sidebarElement; let sidebarLink; // создать содержание для сайдбара если его нет if(adminMenuItems.length) { sidebarElement = adminMenuItems[index]; sidebarLink = sidebarElement.querySelector('a'); } else { sidebarElement = document.createElement('li'); sidebarLink = document.createElement('a'); sidebarLink.setAttribute('href', '#'); sidebarLink.innerHTML = cleanSidebarTitle; sidebarElement.append(sidebarLink); sidebarElement.dataset.titleId = title.id; } sidebarElement.addEventListener('click', (e) => { if (e.target === sidebarLink) e.preventDefault(); sidebarElementClick(sidebarElement); }) sidebarElement.id = 'sidebar-title-' + index; if (index === 0) { sidebarElement.classList.add('active'); } if (index >= showSidebarItems) { sidebarElement.classList.add('hidden'); } // создать содержание для шторки если его нет if(!adminMenuItems.length) { sidebar.appendChild(sidebarElement); sidebarElement = sidebarElement.cloneNode(true); sidebarElement.id = 'curtain-' + sidebarElement.id; sidebarElement.classList.add('option'); curtain.querySelector('.dropdown-list').appendChild(sidebarElement); } }) if (titlesList.length > showSidebarItems) { const showMore = sidebarBlock.querySelector('.show-more'); const showLess = sidebarBlock.querySelector('.show-less'); showMore.classList.remove('hidden'); sidebar.classList.remove('show-all'); showMore.addEventListener('click', () => { showMore.classList.add('hidden'); showLess.classList.remove('hidden'); sidebar.classList.add('show-all'); }) showLess.addEventListener('click', () => { showMore.classList.remove('hidden'); showLess.classList.add('hidden'); sidebar.classList.remove('show-all'); }) } initContentSidebarScroll(titlesList, header, showSidebarItems); initDragBlock(curtain, (sidebarElement) => { sidebarElementClick(sidebarElement); }, 'select') contentSidebar.querySelector('.show-sidebar-curtain').addEventListener('click', () => { curtain.click(); }); curtain.querySelector('.dropdown-list').addEventListener('click', (e) => { if(e.target.tagName.toLowerCase() === 'a'){ e.preventDefault(); } }); } function parseTitlesList(content, types) { let titlesList = []; types.forEach(type => { titlesList.push(...content.querySelectorAll(type)); }) return titlesList; } // установить активное состояние пункта содержания при скролле function initContentSidebarScroll(titles, header, showSidebarItems) { let lastScrollTop = 0; let isScrollDown = false; window.addEventListener('scroll', function() { if (window.blockScrollEvent) return; let scrollTop = window.pageYOffset || document.documentElement.scrollTop; let headerHeight = header ? header.offsetHeight : 0; let windowHeight = document.documentElement.clientHeight; if (scrollTop > lastScrollTop) { isScrollDown = true; titles.forEach((contentTitle, i, titleArray) => { let currentTitle = contentTitle; let nextTitle = i !== titleArray.length - 1 ? titleArray[i + 1] : null; if (currentTitle.getBoundingClientRect().top - windowHeight < 0) { setActiveContentItem(currentTitle, showSidebarItems); } if (nextTitle !== null) { let nextTitleVisible = nextTitle.getBoundingClientRect().top - windowHeight < 0; if(nextTitleVisible){ setActiveContentItem(nextTitle, showSidebarItems); } } }); } else { isScrollDown = false; for (let i=titles.length-1; i>=0; i--) { let prevTitle = i !== 0 ? titles[i - 1] : null; let currentTitle = titles[i]; let currentTitleVisible = currentTitle.getBoundingClientRect().bottom - currentTitle.offsetHeight - headerHeight > 0; currentTitleVisible ? setActiveContentItem(currentTitle, showSidebarItems) : false; if(currentTitle.getBoundingClientRect().top - windowHeight > 0){ prevTitle ? setActiveContentItem(prevTitle, showSidebarItems) : false; } } } lastScrollTop = scrollTop; // toggleStickyBtnContent(); }); let countMenuItems = 0; let currentMenuItemIndex = 0; function setActiveContentItem(contentTitle, showSidebarItems){ let sidebar = document.querySelector('.content-sidebar .sidebar'); let curtain = document.querySelector('.content-sidebar .curtain'); sidebar.querySelectorAll('li').forEach(function(li) { li.classList.remove('active'); }); curtain.querySelectorAll('li').forEach(function(li) { li.classList.remove('active'); }); let targetItems = []; targetItems.push(sidebar.querySelector('#sidebar-' + contentTitle.id)); targetItems.push(curtain.querySelector('#curtain-sidebar-' + contentTitle.id)); targetItems.forEach(targetItem => { if (!targetItem) return; sidebar.querySelectorAll('li').forEach(function(liItem, indexItem, arr) { if(liItem === targetItem.parentElement){ currentMenuItemIndex = indexItem; } }); countMenuItems = sidebar.querySelectorAll('li').length-1; targetItem.classList.add('active'); let targetItemIndex = 0; sidebar.querySelectorAll('li').forEach((li, index) => { li.classList.add('hidden'); if(li === targetItem){ targetItemIndex = index; } }); const numItems = sidebar.querySelectorAll('li').length; let startIndex = Math.max(0, targetItemIndex - Math.floor(showSidebarItems / 2)); let endIndex = Math.min(numItems - 1, startIndex + showSidebarItems - 1); if (endIndex === numItems - 1) { startIndex = Math.max(0, numItems - showSidebarItems); } if (startIndex === 0) { endIndex = Math.min(numItems - 1, startIndex + showSidebarItems - 1); } for (let i = startIndex; i <= endIndex; i++) { sidebar.querySelectorAll('li')[i].classList.remove('hidden'); } }); } } initContentSidebar(); function initDragBlock(selectBlock, callbackSelected, type) { let overlaySwipe = selectBlock.querySelector('.overlay-swipe'); let draggableBlock = selectBlock.querySelector('.draggable-block'); if (type === 'multiselect' && selectBlock.querySelector('.select-options') == null) { // initDragBlockCheckboxes(selectBlock, callbackSelected); } else if (type === 'select') { initDragBlockSelect(selectBlock, callbackSelected); } else { return; } selectBlock.addEventListener('click', (e) => { if (draggableBlock.classList.contains('show') || e.target.closest('button') || e.target.closest('.overlay-swipe') ) { return; } else if (window.innerWidth < 1024) { draggableBlock.classList.add('show'); overlaySwipe.classList.add('active'); } }) overlaySwipe.addEventListener('click', (e) => { if (e.target !== draggableBlock && !e.target.closest('.draggable-block')) { draggableBlock.classList.remove('show'); overlaySwipe.classList.remove('active'); } }) setDraggableBlock(draggableBlock, overlaySwipe); } function setDraggableBlock(draggableBlock, overlaySwipe, callBack = false) { let dragItem = draggableBlock; let container = draggableBlock.closest('.overlay-swipe'); let active = false; let currentY; let initialY; let yOffset = 0; container.addEventListener("touchstart", dragStart, false); container.addEventListener("touchend", dragEnd, false); container.addEventListener("touchmove", drag, false); container.addEventListener("mousedown", dragStart, false); container.addEventListener("mouseup", dragEnd, false); container.addEventListener("mousemove", drag, false); function dragStart(e) { if (e.type === "touchstart") { initialY = e.touches[0].clientY - yOffset; } else { initialY = e.clientY - yOffset; } if (e.target === dragItem || e.target.closest('.draggable-block')) { active = true; } } function dragEnd(e) { if (yOffset > 20) { draggableBlock.classList.remove('show'); overlaySwipe.classList.remove('active'); if(callBack !== false) { callBack(); } } currentY = null; initialY = null; yOffset = 0; dragItem.classList.remove('dragged'); dragItem.style.transform = null; dragItem.style.paddingBottom = null; active = false; } function drag(e) { let contentBlock = e.target.closest('.dropdown-list'); let contentBlockIsScrolled = contentBlock && contentBlock.scrollHeight > contentBlock.offsetHeight; if (active && !contentBlockIsScrolled) { e.preventDefault(); if (e.type === "touchmove") { currentY = e.touches[0].clientY - initialY; } else { currentY = e.clientY - initialY; } yOffset = currentY; setTranslate(currentY, dragItem); } } function setTranslate(yPos, el) { el.classList.add('dragged'); if (yPos < 0) { el.style.paddingBottom = (Math.abs(yPos) / 5) + 'px'; } else { el.style.transform = 'translateY(' + yPos / 5 + 'px)'; } } } function initDragBlockSelect(selectBlock, callbackSelected) { selectBlock.querySelectorAll('.draggable-content .option').forEach((item) => { item.addEventListener('click', () => { let overlaySwipe = selectBlock.querySelector('.overlay-swipe'); let draggableBlock = selectBlock.querySelector('.draggable-block'); callbackSelected(item); draggableBlock.classList.remove('show'); overlaySwipe.classList.remove('active'); }) }) } function initAccordions() { $('.accordion').forEach(accordion => { const head = accordion.querySelector('.head'); if (accordion.classList.contains('active')) { accordion.setAttribute('open', ''); } head.addEventListener('click', () => { accordion.classList.toggle('active'); }) }) } initAccordions(); function initDragScroll(scrollableContainer, scrollableContainerItems){ const container = scrollableContainer; const containerItems = scrollableContainerItems; if(!container || containerItems.length === 0) { console.log('Error init drag-scroll.') return; } let startY; let startX; let scrollLeft; let scrollTop; let isDown; let isMoving; containerItems.forEach(containerItem => { // for scroll in firefox containerItem.addEventListener('dragstart', (e) => { e.preventDefault(); }); containerItem.addEventListener('click', (e) => { if(isMoving){ e.preventDefault(); } }); }) container.addEventListener('mousedown',e => mouseIsDown(e)); container.addEventListener('mouseup',e => mouseUp(e)) container.addEventListener('mouseleave',e=>mouseLeave(e)); container.addEventListener('mousemove',e=>mouseMove(e)); function mouseIsDown(e){ isDown = true; startY = e.pageY - container.offsetTop; startX = e.pageX - container.offsetLeft; scrollLeft = container.scrollLeft; scrollTop = container.scrollTop; } function mouseUp(e){ isDown = false; setTimeout(()=>{ isMoving = false; }, 100); } function mouseLeave(e){ isDown = false; isMoving = false; } function mouseMove(e){ if(isDown){ isMoving = true; e.preventDefault(); //Move vertcally const y = e.pageY - container.offsetTop; const walkY = y - startY; container.scrollTop = scrollTop - walkY; //Move Horizontally const x = e.pageX - container.offsetLeft; const walkX = x - startX; container.scrollLeft = scrollLeft - walkX; } } } document.addEventListener('DOMContentLoaded', () => { MathJax.Hub.Register.StartupHook("End",function () { $('.post-content .math-tex').forEach(mathTex => { mathTex.classList.add('load'); mathTex.classList.add('sh-c'); }) }); $('.info-page-content .horizontal-scroll').forEach((el, i) => { let containerItems = el.querySelectorAll('table'); initDragScroll(el, containerItems); }); }) function initFormModals() { document.querySelectorAll('.form-modal').forEach(formModal => { const modalOpenButtons = document.querySelectorAll('[data-form-modal="' + formModal.id + '"]'); const modalCloseButton = formModal.querySelector('.modal-close-button'); if (!modalCloseButton || !modalOpenButtons.length) return; modalOpenButtons.forEach(modalOpenButton => { modalOpenButton.addEventListener('click', () => { formModal.classList.add('open'); document.body.classList.add('block-scroll'); }) }) modalCloseButton.addEventListener('click', () => { formModal.classList.remove('open'); document.body.classList.remove('block-scroll'); }) }) } initFormModals(); // source: https://cdn.jsdelivr.net/npm/imask@7.6.1/dist/imask.min.js !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).IMask={})}(this,(function(t){"use strict";function e(t){return"string"==typeof t||t instanceof String}function s(t){var e;return"object"==typeof t&&null!=t&&"Object"===(null==t||null==(e=t.constructor)?void 0:e.name)}function i(t,e){return Array.isArray(e)?i(t,((t,s)=>e.includes(s))):Object.entries(t).reduce(((t,s)=>{let[i,a]=s;return e(a,i)&&(t[i]=a),t}),{})}const a={NONE:"NONE",LEFT:"LEFT",FORCE_LEFT:"FORCE_LEFT",RIGHT:"RIGHT",FORCE_RIGHT:"FORCE_RIGHT"};function u(t){switch(t){case a.LEFT:return a.FORCE_LEFT;case a.RIGHT:return a.FORCE_RIGHT;default:return t}}function n(t){return t.replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}function r(t,e){if(e===t)return!0;const s=Array.isArray(e),i=Array.isArray(t);let a;if(s&&i){if(e.length!=t.length)return!1;for(a=0;a