Логарифмический график

Хочу рассказать об одной важной вещи, которую должен знать каждый начинающий инвестор.
Сразу скажу, что когда я сам начинал инвестировать, я не знал об этом. Речь идет о логарифмическом графике, позволяющем объективно оценить долгосрочный рост активов.
Приведу определение логарифмического графика из Википедии:
«Логарифмический масштаб (шкала) — шкала, длина отрезка которой пропорциональна логарифму отношения величин, отмеченных на концах этого отрезка, в то время как на шкале в линейном масштабе длина отрезка пропорциональна разности величин на его концах»
Если вы не учились на физ-мате, для вас это наверняка звучит как полная белиберда, собственно, как и для меня. Поэтому объясню своими словами.
Есть два вида графиков: линейный и логарифмический.
Первый вы все знаете: у него вертикальная шкала растет линейно, например, 0, 10, 20, 30, 40 и т.д. Т.е. шкалу задает величина между нулем и первым значением (абсолютный прирост в единицах, в примере – 10 единиц).
Со вторым интереснее: здесь рост нелинейный (геометрический), например, 0, 10, 20, 40, 80 и т.д. Тут шкалу задает относительный (процентный) прирост. В моем примере это рост в каждом периоде на 100%.
Разница в том, что логарифмический график более адекватно показывает относительный прирост. Т.е. в моем примере выше с логарифмическим графиком каждый год (пусть 0 — цена в первый год, 10 — во второй, 20 — в третий и т.д.) цена росла на 100%. И на графике это будет прямой трендовой линией.
Если этот же актив поместить на линейный график, то сначала будет казаться, что он почти не растет, а к концу мы увидим невероятный рост. Будет складываться ощущение, что актив перекуплен и вот-вот должен рухнуть.
Чтобы наглядно это увидеть я привел несколько сравнений линейных и логарифмических графиков одних и тех же активов. Я взял данные по S&P 500, Татнефти и Новатэку и McDonald’s из Investing.com.
Если на графиках Татнефти и Новатэка эффект выражен не так сильно ввиду недолгого периода существования Московской биржи (хотя тоже существенен), то на американских графиках (S&P 500 и McDonald’s) разница очевидна. Посмотрите на McDonald’s: на линейном графике кажется, как будто люди с ума сошли: покупают невероятно выросший актив. В то же время складывается ощущение, что раньше McDonald’s вообще не рос и не представлял инвестиционной привлекательности (до 1990 года).
Если же посмотреть на логарифмический график McDonald’s, то мы увидим, что сейчас темп роста, наоборот, замедлился в процентном отношении. Именно этот график показывает правдивую картину. McDonald’s давно уже стал зрелой компанией, и он физически не может расти быстрее, потому что и так занимает огромную долю рынка. Он может только поддерживать стабильный, устойчивый рост.
Поэтому если вы придерживаетесь, что называется, long-term investments, т.е. долгосрочных инвестиций, то обязательно смотрите на логарифмический график, чтобы объективно оценить тренд и темпы роста цен на активы на длинных периодах времени.
Построение графиков в логарифмическом и полулогарифмическом масштабах.
Если для одиночного графика диапазоны изменения переменных вдоль одной или обеих осей координат слишком велики, то можно воспользоваться функциями построения графиков в логарифмическом и полулогарифмических масштабах. Для этого предназначены функции semilogx (логарифмический масштаб по оси ), semilogy (логарифмический масштаб по оси ) и loglog (логарифмический масштаб по обеим осям). Синтаксис указанных функций аналогичен синтаксису функции plot: они принимают аргументы, заданные в виде пары векторов значений абсцисс и ординат.
Построим в качестве примера график функции на промежутке в логарифмическом масштабе по оси .
Будем иметь (рис. 2.9.6):

Рис. 2.9.6. График функции в логарифмическом масштабе по оси .
Построение графиков в полярных координатах.
Для построения графика функции в полярной системе координат используется команда polar, например (рис. 2.9.7):
Оформление графиков и графических окон
Функции построения графиков, рассмотренные в предыдущем параграфе осуществляли автоматическое оформление графиков. Разумеется у системы MATLAB имеются дополнительные возможности, связанные с управлением внешним видом графика – заданием цвета и стиля линий, а также размещение различных надписей в пределах графического окна.

Рис. 2.9.7. График функции в полярной системе координат.

Рис. 2.10.1. Пример маркировки точек кривой посредством окружностей.
Выбор свойств линий.
Так, например, команды (рис. 2.10.1)
позволяют придать графику вид черной сплошной линии, на которой в дискретных точках, расстояние между которыми равно 0.1, проставляются черные окружности. Здесь функция plot дважды строит график одной и той же функции, но в двух разных стилях. Первый из этих стилей отмечен как “k-”, что обозначает проведение линии черным цветом (буква k), а штрих означает проведение сплошной линии. Второй стиль, помеченный как “ko”, обозначает проведение тем же черным цветом (буква k) окружностей (буква o) на месте вычисляемых точек.
В общем случае команда
позволяет определить в одном графическом окне изображения нескольких функций y1(x1),y2(x2),… используя стили s1,s2,….
Заметим, что стили s1,s2,… задаются в виде набора трех символьных маркеров (стилевой строки), один из которых задает тип линии, второй – цвет линии, а третий – тип маркера, используемого для пометки представляемых точек (таблица 2.10.1). При отсутствии указания типов маркеров используются значения, установленные по умолчанию. Отметим, что порядок, в которым указываются маркеры, задающие тип линии, цвет линии и тип точки несущественен. Если в стилевой строке задан тип маркера, но не указан тип линии, то представляемые точки маркером метятся, но не соединяются друг с другом отрезками прямых.
Более мощным способом построения графиков функций является метод дескрипторов, который относится к низкоуровневой графике MATLAB. Метод дискрипторов позволяет напрямую обратиться к базовым графическим объектам и задать его свойства. Детальное знакомство со свойствами графических объектов MATLAB выходит за рамки книги.
В этой связи приведем ниже некоторый пример, иллюстрирующий основные приемы работы с дискрипторной графикой и позволяющий продемонстрировать суть данного метода (рис. 2.10.2).
В данном случае команда plot через опорные точки проводит отрезки прямых линий с координатами x,y. Прямые линии в системе MATLAB представляют собой объекты типа line. Эти объекты имеют очень большое количество свойств и характеристик, которые можно менять. Доступ к этим объектам осуществляется посредством их дескрипторов.
Командой hplot=plot(x,y) создается графический объект и переменной hplot присваивается значение дескриптора графического объекта типа line, использованного для построения графика функции .
Таблица 2.10.1. Параметры для управления цветом и видом графиков.
| Параметр | Обозначение(управляющий символ) |
| Тип линии | |
| сплошная (по умолчанию) | — |
| пунктирная | : |
| штриховая | — |
| штрих-пунктирная | -. |
| Цвет линии | |
| красный (от англ. red) | r |
| желтый (от англ. yellow) | y |
| зеленый (от англ. green) | g |
| синий (от англ. blue) | b |
| голубой /циановый/ (от англ. cyan) | c |
| розовый /малиновый/ (от англ. magenta) | m |
| черный (от англ. black) | k |
| белый (от англ. white) | w |
| Тип маркера | |
| точка (жирная точка) | . |
| кружок | о |
| крестик (косоугольный крестик) | x |
| плюс (прямоугольный крестик) | + |
| звездочка (восьмиконечная снежинка) | * |
| квадратик | s |
| ромбик | d |
| отсутствие маркера | none |
| треугольник вершиной вниз | v |
| треугольник вершиной вверх | ^ |
| треугольник вершиной влево | |
| треугольник вершиной вправо | |
| пятиконечная звезда | p |
| шестиконечная звезда | h |
Затем данный дескриптор передается в качестве параметра функции set для опознания конкретного графического объекта и задания значений соответствующих свойств объекта.
В рассматриваемом примере было установлено значение свойства ‘LineWidth’ (толщина линии) равным 7 (по умолчанию 0.5). График, полученный в результате изменения толщины линии, представлен на рис. 2.10.2.
Текущее значение любого параметра (атрибута; характеристики) графического объекта возвращается функцией get. Так, например, если после получения показанного на рис. 2.10.1 графика выполнить команду

Рис. 2.10.2. График функции на интервале (толщина кривой – 7 пикселей).
то для переменной width будет присвоено значение свойства ‘LineWidth’ равное 7.
Для получения списка всех свойств графического объекта следует обратиться к функции get, указав ей в качестве единственного параметра дескриптор объекта. Так, например, для дескриптора hplot объекта типа line можно найти весь список его свойств: