Connect with us

Привет, что-то ищете?

The Times On Ru
  1. The Times On RU
  2. /
  3. Бизнес
  4. /
  5. Бизнес нашел свое русло

Бизнес

Бизнес нашел свое русло

Обменный курс стал «философским вопросом». Об этом заявил глава Российского союза промышленников и предпринимателей Александр Шохин. Рубль и ключевая ставка, по его словам, больше не обсуждаются на уровне президента, правительства и ЦБ. В бизнесе об этом говорят так давно, что «разговор стал похож на мантру, и все аргументы давно известны», цитирует РБК. Предприниматели рассказали «Ъ FM», какой урок преподал им российский рубль. Владелец мебельного магазина Mr. Doors Максим Валецкий: «Я бы сказал, что вопрос даже принимает не только философскую, но и религиозную форму. Чего мы упустили, так это того, что наша экономика уже стала в какой-то степени самодостаточной. Курс валюты уже не так важен, как раньше. Если 30 лет назад 100% наших комплектующих импортировались, то сейчас он меньше 30%».

Произошла ошибка при загрузке данных диаграммы индикатора.

«Ъ-Хронограф». Курс доллара США к рублюИнтерактивный инструмент «Коммерсантъ-Хронограф» собирает тематический контекст индикатор из архива «Коммерсанта» и формирует краткие описания с с использованием технологий искусственного интеллекта (ИИ). Автоматическое резюме может содержать неточности — для полноты читайте оригинал статьи по кнопке «Еще». Виджет AI обогащает график связанными событиями. Нажмите на сплошной значок подпишитесь, чтобы посмотреть описание и перейдите в архив. Коммерсантъ опубликовал публикацию на тему Данные: ЦБ РФ.  /  <диапазон> по теме (functon(){(асинхронная функция() { const wdgetElement = getTargetElement(document.currentScrpt, ‘.moex_wdget’); const tabsElement = wdgetElement.querySelector(‘.moex_tabs’); const spnnerElement = wdgetElement.querySelector(‘.moex_wdget_loader’); const errorElement = wdgetElement.querySelector(‘.moex_wdget_error’); const selectElement = tabsElement.querySelector(‘.moex_chart__select’); constchartRateElement = tabsElement.querySelector(‘.moex_chart__rate’); constchartDateElement = tabsElement.querySelector(‘.moex_chart__date’); const noteIconElement = tabsElement.querySelector(‘.moex_tabs__note-con’); const noteElement = tabsElement.querySelector(‘.moex_tabs__note’); const noteCloseElement = tabsElement.querySelector(‘.moex_tabs__note .close’); const nfoPannelElement = wdgetElement.querySelector(‘.moex_nfo-pannel’); const nfoPannelContentElement = wdgetElement.querySelector(‘.moex_nfo-pannel__content-wrapper’); const nfoPannelShadeElement = wdgetElement.querySelector(‘.pannel-shade’); const nfoPannelShowMoreElement = nfoPannelShadeElement.querySelector(‘.show-more’); const nfoPannelShowLessElement = nfoPannelElement.querySelector(‘.show-less’); const tmestamp = новая дата().getTme(); пусть LastActivePont = null; пусть currSubcategory = null; пусть currIntervalId = 6; пусть категории = []; пусть графДанные = []; пустьchartData = []; пусть документы = []; пусть resCatalog = []; пустьchartDataDocs = []; пусть тире = []; пусть GraphDataGold = []; пустьchartDataGold = []; пусть диаграмма = ноль; константные имена месяцев = { 1: { коротко: «Ян», полное: ‘Январь’ }, 2:{ коротко: «февраль», полное: ‘Февраль’ }, 3: { коротко: «мар», полное: ‘Март’ }, 4: { коротко: «Апрель», полное: ‘Апрель’ }, 5: { короткое: «Май», полное: ‘Май’ }, 6: { коротко: «июнь», полное: ‘Июнь’ }, 7:{ короткое: «Июль», полное: ‘Июль’ }, 8:{ коротко: «Август», полное: ‘Август’ }, 9:{ коротко: «сентябрь», полное: ‘Сентябрь’ }, 10: { коротко: «Октябрь», полное: ‘Октябрь’ }, 11: { коротко: «Ноябрь», полное: ‘Ноябрь’ }, 12: { коротко: ‘декабрь’, полное: ‘Декабрь’ }, }; const curIntervals = [4, 5, 6, 7, 8, 9, 10] константные интервалы = { 4: «3 месяца», 5: «6 месяцев», 6: «1 год», 7: «С начала года», 8: «3 года», 9: «5 лет», 10: «Все время» }; functon getTargetElement (элемент, селектор) { пусть предыдущая = element.prevousElementSblng; пока (предыдущий) { f (prev.matches(селектор)) return prev; е (prev.matches(‘.ncut’)) { return prev.querySelector(селектор); } предыдущая = предыдущая.prevousElementSblng; } вернуть ноль; } const loadScrpt = (url) => { вернуть новое обещание((разрешить, отклонить) =>{ f (wndow.Hghcharts?.StockChart) { вернуть решение (wndow.Hghcharts); } let scrpt = document.querySelector(‘scrpt[src*=»hghstock»]’); f (истина || !scrpt) { scrpt = document.createElement(‘scrpt’); scrpt.src = URL; scrpt.async = правда; document.head.appendChld(сценарий); } константа lmt = 10; пусть повторит = 0; const ntervalID = setInterval(() => { f (wndow.Hghcharts?.StockChart) { ClearInterval (ID интервала); разрешить (wndow.Hghcharts); } else f (++retry >= lmt) { ClearInterval (ID интервала); ignore(new Error(‘Превышен лимит времени загрузки Hghcharts’)); } }, 500); }); }; constclearElement = (элемент) => { whle(element.frstChld) { element.removeChld(element.frstChld); } }; const showErrorMsg = () =>{ spnnerElement.remove(); tabsElement.classLst.add(‘hde’); errorElement.classLst.remove(‘hde’); }; const showNote = () =>{ noteElement.classLst.remove(‘hde’); } const closeNote = () => { noteElement.classLst.add(‘hde’); } const ntCategory = () => { const CategoryId = wdgetElement.dataset.categoryId; const subcategoryId = wdgetElement.dataset.graphAp; const currCategory = categores.fnd((cat) => cat.Id == CategoryId); currSubcategory = currCategory.Indces.fnd((sub) => sub.Id == subcategoryId); }; //переключаем временные интервалы const updateTabSelect = () => { curIntervals.forEach((dx) =>{ const optonElement = document.createElement(‘opton’); optonElement.value = dx; optonElement.textContent = ntervals[dx] optonElement.selected = dx === currIntervalId selectElement.append(optonElement); }); }; const updateChartRate = (значение, индекс) =>{ пусть goldRate = ноль е (!индекс) { let selectedDoc =chart.seres[1].ponts.fnd(flag => flag.state === ‘select’) е (!selectedDoc) { selectedDoc =chart.seres[1].ponts[chart.seres[1].ponts.length — 1] } const selectedDate =chartDataGold.reduce((аккумулятор, currentValue) =>{ пусть currentDate = новая дата (currentValue[0]) currentDate.setHours(0, 0, 0, 0) f (currentDate.getTme() tem[0] === selectedDate) } еще { goldRate = диаграммаDataGold[ndex] } chartRateElement.nnerHTML = »; const goldRateEl = document.createElement(‘span’); goldRateEl.textContent = `${formatStrng(formatNumber(goldRate[1]))} ${currSubcategory?.CurrencySymbol}` chartRateElement.append(goldRateEl) chartDateElement.textContent = `${formatDateTme(goldRate[0])[1]}`; }; const updateInterval = (value = currSubcategory.IntervalTypes[0]) => { закрытьИнфоПаннел() ОчиститьИнфоПаннел() currIntervalId = + значение; }; constclearInfoPannel = () => { let oldData = nfoPannelElement.querySelectorAll(‘.moex_nfo-pannel__docs-wrapper’); oldData.forEach(old => old.remove()); } const closeInfoPannel = () => { nfoPannelElement.classLst.add(‘hde’); } const num_word = (значение, слова) =>{ значение = Math.abs(значение) % 100; вар число = значение % 10; f (значение > 10 && значение < 20) вернуть слова[2]; е (число >1 && число < 5) вернуть слова[1]; f (num == 1) вернуть слова [0]; вернуть слова[2]; } const showInfoPannel = (Pont) => { ОчиститьИнфоПаннел() ж (!!понт) { nfoPannelElement.classLst.remove(‘открыто’) nfoPannelShowMoreElement.classLst.remove(‘hde’) nfoPannelShowLessElement.classLst.add(‘hde’) } const sOpened = nfoPannelElement.classLst.contans(‘opened’); const docPubDate = pont?.optons?.pubDate || LastActivePont?.pubDate; const analytcsName = wdgetElement.dataset.analytcsName; let docSummary = docs.flter((doc) =>doc.pubDate === docPubDate); const docSummaryLength = docSummary.length; f (docSummary && docSummaryLength > 0) { f (docSummaryLength >2 && !sOpened) { nfoPannelShadeElement.classLst.remove(‘hde’); docSummary = docSummary.slce(0, 2); } еще { docSummaryLength 7 ? { год: ‘число’ } : { месяц: ‘длинный’ }); f (currIntervalId < 6 && docSummary.length >1) { const startPerod = новая дата(docSummary[0].truePubDate).toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); const endPerod = новая дата(docSummary[docSummary.length — 1].truePubDate).toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); headerDateEl.textContent = `${startPerod} – ${endPerod}` } еще { headerDateEl.textContent = имя месяца.charAt(0).toUpperCase() + имя месяца.slce(1); } const ttleDateEl = nfoPannelContentElement.querySelector(‘.ttle’); ttleDateEl.textContent = `${docSummaryLength} ${num_word(docSummaryLength, [ ‘material’, ‘material’, ‘materials’ ])}` docSummary.forEach((d) => { const doc = resCatalog.fnd(tem =>d.Id === tem.Id) const pubDate = новая дата (doc.pubDate) const pannelContentEl = document.createElement(‘dv’); pannelContentEl.className = ‘moex_nfo-pannel__docs-wrapper’; const pannelDateEl = document.createElement(‘span’); pannelDateEl.className = ‘дата’; pannelDateEl.textContent = pubDate.toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); const pannelTextEl = document.createElement(‘span’); PanelTextEl.className = ‘текст’; pannelTextEl.textContent = doc.summary; const pannelMoreEl = document.createElement(‘a’); pannelMoreEl.className = ‘больше’; pannelMoreEl.textContent = ‘Еще’; pannelMoreEl.setAttrbute(‘href’, `/doc/${doc.docId}?from=chronograph_${analytcsName}`); pannelContentEl.append(pannelDateEl); pannelContentEl.append(pannelTextEl); pannelContentEl.append(pannelMoreEl); nfoPannelContentElement.append(pannelContentEl); }) nfoPannelElement.classLst.remove(‘hde’); } } const fetchIndcesData = async() => { попробуй { const ответ = awat fetch(‘/ndces/graphcatalog’); е (!response.ok) { throw new Error(`Status ${response.status}`); } категории = awat response.json(); } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения индексных данных: ${error.message}`); } }; const fetchCatalogData = async () =>{ попробуй { //получим данные каталога материалов const CatalogId = wdgetElement.dataset.docsAp; const response = awat fetch(`https://wt.kommersant.ru/ap/v1/catalog/get?catalogId=${catalogId}&start=0&lmt=1000`); е (!response.ok) { throw new Error(`Status ${response.status}`); } resCatalog = (awat response.json())?.data || []; resCatalog.sort((docA, docB) => новая дата(docA.pubDate).getTme() — новая дата(docB.pubDate).getTme()) } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения данных: ${error.message}`); } }; const fetchGraphData = async() =>{ попробуй { //получаем данные диаграммы constgraphId = wdgetElement.dataset.graphAp const cost = awat fetch(`/ndces/graphvalues?ndex=${graphId}&nterval=${currIntervalId}`) е (!cost.ok) { throw new Error(‘Я не могу загрузить данные для диаграммы’); } graphDataGold = awat Cost.json(); } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения данных диаграммы: ${error.message}`); } }; const formatStrng = (значение) => { возвращаемое значение.toStrng().replace(‘.’, ‘,’); //просмотр 1.23 }; const formatNumber = (значение) => { return Math.trunc(+value * 100)/100; //просмотр 1.23 }; const getMnY = () => { const maxY =chartDataGold.reduce((max, current) => { return Math.max(макс, ток[1]); }, 0); const mnY =chartDataGold.reduce((mn, current) => { return Math.mn(mn, current[1]); }, МаксY); const newMn = mnY — Math.trunc((maxY — mnY)/3) вернуть newMn >0 ? newMn : 0; } const formatDateTmeDoc = (dateValue) =>{ const currDateObject = новая дата (dateValue); const dayOfMonth = currDateObject.getDate().toStrng().padStart(2, ‘0’); константный месяц = ​​currDateObject.getMonth() + 1; const год = currDateObject.getFullYear(); переключатель (currIntervalId) { //день — 6 месяцев случай 1: случай 2: случай 3: случай 4: случай 5: return `${dayOfMonth} ${monthNames[month].full} ${year}`; //1 год, с начала года случай 6: случай 7: return `${monthNames[month].full} ${year}`; //3 года — постоянно случай 8: случай 9: случай 10: вернуть `${year}`; } }; const formatDateTme = (dateValue, pos) =>{ const currDateObject = новая дата (dateValue); const dayOfMonth = currDateObject.getDate().toStrng().padStart(2, ‘0’); константный месяц = ​​currDateObject.getMonth() + 1; const год = currDateObject.getFullYear(); constyearShort = год.toStrng().substrng(2); const tme = currDateObject.toLocaleStrng(‘ru-RU’, { час: ‘2-дгт’, минута: ‘2-dgt’ }); переключатель (currIntervalId) { //день случай 1: return [`${tme}`, `${dayOfMonth} ${monthNames[month].short} ${tme}`]; //неделя случай 2: return [`${dayOfMonth} ${monthNames[month].short} ${tme}`, `${dayOfMonth} ${monthNames[month].short} ${tme}`]; //месяц, 3 месяца случай 3: случай 4: return [`${dayOfMonth} ${monthNames[месяц].short}`, `${dayOfMonth} ${monthNames[месяц].short}`]; //6 месяцев случай 5: return [`${monthNames[month].full}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; //1 год, с начала года случай 6: случай 7: f (pos !== undefned &&chartDataGold[pos]) { const currentYear = (new Date(chartDataGold[pos][0])).getFullYear(); const prevYear = позиция >0 ? (новая дата(chartDataGold[pos — 1][0])).getFullYear() : 0; f (pos === 0 || currentYear !== prevYear) { return [`${monthNames[month].short}’${yearShort}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; } } return [`${monthNames[month].short}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; //3 года, 5 лет случай 8: случай 9: return [`${year}`, `${monthNames[month].full} ${year}`]; //все время случай 10: return [`’${yearShort}`, `${monthNames[month].full} ${year}`]; } }; const connectGraphData = async () => { awat fetchGraphData(); диаграммаDataGold = []; graphDataGold.forEach(([дата, значение]) =>chartDataGold.push([новая дата(дата).getTme(), parseFloat(значение)])); const mnTme =chartDataGold[0][0] const maxTme =chartDataGold[chartDataGold.length — 1][0] ChartDataDocs = []; документы = [] пусть startOfTheCustomPerod = null; пусть endOfTheCustomPerod = null; const customPerodLength = 1000 * 60 * 60 * 24 * 7; //неделя resCatalog.forEach((запись) => { пусть docTrueDate = новая дата(record.pubDate).getTme() пусть docDate = новая дата (record.pubDate) docDate.setHours(0, 0, 0, 0) f (docTrueDate < mnTme || docTrueDate > maxTme || !record.IsShow) возвращение f (currIntervalId < 6) { е ( !!startOfTheCustomPerod && !!endOfTheCustomPerod && документTrueDate >startOfTheCustomPerod && docTrueDate < endOfTheCustomPerod) { docDate = новая дата (startOfTheCustomPerod) } еще { startOfTheCustomPerod = docDate.getTme() endOfTheCustomPerod = startOfTheCustomPerod + customPerodLength } } else f (currIntervalId === 6 || currIntervalId === 7) { docDate.setDate(1) } else f (currIntervalId > 7) { docDate.setMonth(1, 1) } docs.push({ …запись truePubDate: новая дата(record.pubDate).getTme(), pubDate: docDate.getTme() }) const ужеExsstsId =chartDataDocs.fndIndex(d =>d.pubDate === docDate.getTme()) е (ужеExsstsId === -1) { chartDataDocs.push({ х: docTrueDate, pubDate: docDate.getTme(), shape: ‘url(https://m2.kommersant.ru/ContentFlex/mages/logos/flag-desk-logo.svg)’, }); } еще { chartDataDocs[alreadyExsstsId].shape = ‘url(https://m2.kommersant.ru/ContentFlex/mages/logos/flags-desk-logo.svg)’ chartDataDocs[alreadyExsstsId].x = Math.mn(docTrueDate,chartDataDocs[alreadyExsstsId].x) } }); тире = [] chartDataDocs.forEach((doc) => { тире.push({ цвет: ‘#DDD’, ширина: 1, значение: doc.x, zИндекс: 2, DashStyle: ‘Тире’, }) }) }; const renderGraph = () =>{ диаграмма = Hghcharts.chart(`moex_graph-${tmestamp}`, { диаграмма: { стиль: { FontFamly: ‘Нерт’, }, события: { нагрузка: функция() { spnnerElement.remove(); tabsElement.classLst.remove(‘hde’); }, } }, немного: { текст: незащищенный }, кредиты: { включено: ложь }, легенда: { включено: ложь }, инструментp: { включено: ложь, кроссхарс: правда, поделился: правда }, цвета: [‘#498ABB’, ‘#F17E9B’], хАкс: { введите: ‘dateme’, сюжетные линии: тире, }, yAxs: { немного: { текст: неопределенный, }, ярлыки: { выравнивание: ‘слева’, х: 0, резервное пространство: правда, стиль: { Размер шрифта: ’14px’, шрифтВес: ‘400’, цвет: ‘#333’, textOverflow: не определено, }, }, grdLneColor: ‘#eee’, }, сюжетОптонс: { серия: { маркер: { включено: ложь, EnableThreshold: неопределенный, fllColor: ‘#3E9AE2’, lneColor: ‘#3E9AE2’, длина: 1, радиус: 3, }, пон: { события: { mouseOver: functon() { updateChartRate([ths.key, ths.y], ths.ndex); }, }, }, события: { mouseOut: functon() { updateChartRate(); }, }, говорится: { актуально: { непрозрачность: 1 } }, }, флаги: { разрешитьПонтселект: правда, события: { clck: функция (событие) { chart.seres[1].ponts.forEach((pont, dx) =>{ const sAGroup = pont.shape.ncludes(«флаги») const mage = `url(https://m2.kommersant.ru/ContentFlex/mages/logos/flag${sAGroup ? ‘s’ : »}-desk-logo.svg)` pont.optons.shape = маг; pont.shape = маг; понт.обновление() }) const SAPontGroup = event.pont.shape.ncludes(«флаги») const pontImage = `url(https://m2.kommersant.ru/ContentFlex/mages/logos/flag${sAPontGroup ? ‘s’ : »}-desk-logo-actve.svg)` event.pont.optons.shape = pontImage; event.pont.shape = pontImage; событие.понт.обновление() LastActivePont = event.pont showInfoPannel(event.pont) sendChronographEvent(‘nfo_pannel’, ‘показать’) }, }, } }, ответ: { правила: [{ кондтон: { МаксШдс: 600 }, диаграммаОптонс: { хАкс: { ярлыки: { стиль: { Размер шрифта: ’10px’, }, }, }, yAxs: { ярлыки: { стиль: { Размер шрифта: ’10px’, }, }, } } }] }, серия: [{ тип: ‘lne’, данные: диаграммаDataGold, }, { тип: ‘флаги’, ттл: », данные: диаграммаDataDocs, }, ], }); LastActivePont =chart.seres[1].ponts[chartDataDocs.length — 1] showInfoPannel (lastActvePont) chart.seres[1].ponts[chartDataDocs.length — 1].select(true, true) const sAGroup = LastActvePont.shape.ncludes(«флаги») const mage = `url(https://m2.kommersant.ru/ContentFlex/mages/logos/flag${sAGroup ? ‘s’ : »}-desk-logo-actve.svg)` LastActivePont.optons.shape = маг; LastActivePont.shape = маг; последнийActivePont.update() }; const updateGraph = async () =>{ awat ConnectGraphData(); requestAnmatonFrame(() => { диаграмма.уничтожить(); рендерГраф(); updateChartRate(); }); }; const ntHghcharts = async () => { попробуй { awat loadScrpt(‘https://m2.kommersant.ru/ContentFlex/js/custom/lbs/hghchats/hghstock-v12.4.0.js’); } поймать (ошибка) { показатьErrorMsg(); console.log(ошибка) throw new Error(‘Ошибка загрузки hghcharts.js’); } }; const ntGraph = асинхронный () =>{ awat ntHghcharts(); awat ConnectGraphData(); обновлениеTabSelect(); Hghcharts.setOptons({ язык: { numercSymbols: [‘тысяча’] } }); requestAnmatonFrame(() =>{ рендерГраф(); updateChartRate(); }); }; const updateAttrbute = () => { constgraphElement = wdgetElement.querySelector(‘.moex_graph’); graphElement.setAttrbute(‘d’, `moex_graph-${tmestamp}`); selectElement.setAttrbute(‘d’, `moex_nterval-${tmestamp}`); }; const sendChronographEvent = (событие, полезная нагрузка) =>{ console.log(‘- 1’) е (!!wndow.kommersant) { const analytcsName = wdgetElement.dataset.analytcsName; console.log(‘- 2’) console.log(имяаналитики, событие, полезная нагрузка) wndow.kommersant.sendEvent(‘хронограф’, analytcsName, событие, полезная нагрузка); } } const ntWdget = асинхронный () =>{ обновлениеАттрбуте(); awat fetchIndcesData(); awat fetchCatalogData(); нтКатегория(); нтГраф(); sendChronographEvent(‘nt’) selectElement.addEventLstener(‘change’, (e) => { updateInterval(e.target.value); обновлениеГрафик(); sendChronographEvent(‘update_interval’, e.target.value) }); noteIconElement.addEventLstener(‘clck’, (e) => { noteElement.classLst.contans(‘hde’) ? шоуПримечание(): закрытьПримечание() }); noteCloseElement.addEventLstener(‘clck’, (e) => { закрытьПримечание() }); nfoPannelShowMoreElement.addEventLstener(‘clck’, (e) =>{ nfoPannelElement.classLst.add(‘открыто’) nfoPannelShowMoreElement.classLst.add(‘hde’) nfoPannelShowLessElement.classLst.remove(‘hde’) шоуИнфоПаннел() sendChronographEvent(‘nfo_pannel’, ‘подробнее’) }); nfoPannelShowLessElement.addEventLstener(‘clck’, (e) => { nfoPannelElement.classLst.remove(‘открыто’) nfoPannelShowMoreElement.classLst.remove(‘hde’) nfoPannelShowLessElement.classLst.add(‘hde’) tabsElement.scrollIntoVew({ поведение: «гладкое», блок: ‘старт’ }); шоуИнфоПаннел() }); }; нтВджет(); })();})()Исполнительный директор импортера Фортвин Александр Липилин:«Каждый раз, когда курс растет, мы это чувствуем и оказываемся в ситуации, когда нам приходится думать: сокращать расходы или повышать цены, или делать и то, и другое. Вот тут-то и начинается это бурление и дискуссия. Для бизнеса важна стабильность. Если курс стабилен, он не обсуждается. И поэтому в этом плане было бы хорошо, если бы это обсуждалось реже». Коммерческий директор «Логистик Перформанс» Валерия Савенкова: «Мне кажется, что за последние пять-шесть лет бизнес уже не заботится о состоянии рубля. Мы все приспособились к его регулярным колебаниям. Конечно, мы видим, что наши клиенты-импортеры периодически ловят моменты, когда совершают покупку, чтобы она была максимально выгодной. Но немного философски, да, наверное, все начали относиться, это правда. Директор компании по производству оборудования ЧЕТРА Владимир Антонов:«Внутренне предприятию необходимо развивать операционную эффективность, повышать производительность труда, улучшать качество продукции и внедрять новые продукты. Конечно, дорогой рубль снижает нашу конкурентоспособность и заставляет работать эффективнее. Но зачем давить и удешевлять импорт, чтобы усложнить работу отечественной экономики? Мы, конечно, найдём решение, но нам было бы гораздо интереснее расти, как и всей стране.» Тем временем ЦБ снизил курсы валют почти на 2 рубля. до 83 руб. 36 копеек за 1 доллар и 96,5 рубля. за 1 евро. Юань также завершил торги 20 августа падением. Хотя российская валюта падала в цене в течение нескольких предыдущих недель, за месяц она потеряла более 7% по отношению к доллару. На этом фоне аналитики Центра макроэкономического анализа Сбербанка прогнозируют, что к концу 2026 года курс доллара может достичь 88 рублей. и 2 копейки, а в 2027 году – 97 руб. Сейчас ситуация изменилась, — говорит Наталья Пырьева, руководитель аналитического отдела Digital Broker:

«Происходящее на валютном рынке — это череда волшебства: необъяснимого, но факта. Но в глобальном масштабе последняя динамика значительного ослабления — достаточно резкого — носила во многом разовый характер из-за того, что на внутреннем рынке возник локальный дефицит иностранной валюты. Произошло это из-за сокращения валютных экспортных поступлений.

Сейчас в страну поступают те же нефтегазовые доходы, которые были получены в июне-июле, когда цены на нефть падали. Параллельно сказалось лето: высокий сезонный спрос на валюту со стороны населения, в том числе из-за отпусков. Кроме того, мы сейчас находимся в топливном коллапсе и являемся импортерами нефтепродуктов, которые покупаем здесь и сейчас по достаточно высоким ценам. Плюс Банк России выступает еще и покупателем.

В целом данные факторы развивались единовременно и оказывали определенное давление на динамику. В то же время мы изначально не предполагали, что эта тенденция резкого ослабления сохранится в среднесрочной перспективе. И сейчас, наверное, дефицит местной ликвидности исчерпан (по крайней мере, уменьшился), а рубль стабилизируется в тех диапазонах, которые мы для себя установили. В глобальном масштабе мы ожидаем, что рубль консолидируется где-то в диапазоне 82-85 за 1 доллар».

Как сказал Александр Шохин, чтобы не допустить чрезмерной волатильности, можно было бы использовать «нерыночные» инструменты – например, «держать курс в коридоре». Но это, по словам главы РСПП, «отдельная тема» для разговора.

Оставить комментарий

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Стоит Посмотреть


Стоит Посмотреть

Новости По Дате

Август 2026
Пн Вт Ср Чт Пт Сб Вс
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Вам может быть интересно:

Политика

Вучич: Сербия ничего не потеряла из-за визита Зеленского Сгенерировано нейросетью Qwen, Дмитрий Ларин Александр Вучич, президент Сербии, ответил на критику со стороны политических противников,...

Технологии

Краткий пересказ от РИА ИИ Россия разработала линейку отечественных лазерных комплексов для борьбы с беспилотниками. Один из таких комплексов за месяц сбил почти 60 дронов...

Общество

Мощное землетрясение в Японии вызвало больше 150 повторных толчков Shatokhina Natalia/news.ru/Global Look Press В районе префектуры Кумамото на японском острове Кюсю после основного землетрясения...

Бизнес

Поддержку курсу рубля оказал рост цен на нефть, произошедший на прошлой неделе на фоне эскалации конфликта на Ближнем Востоке. Если по итогам торгов понедельника...