Узнайте, как легко рассчитать и сравнить балансовый объем для любого количества акций.

Балансовый объем - один из наиболее широко используемых технических индикаторов. Это дает инвесторам возможность оценить будущую траекторию акции, интерпретируя поток ее дневного объема. Расчет прост. Если цена закрытия акции выше, чем цена открытия, мы добавляем дневной объем к промежуточной сумме. Если он ниже, мы его вычтем. В конце у нас будет совокупный объем акций, по которому мы сможем судить о ее будущих движениях.

Технический анализ - это навык, который улучшается с опытом и обучением. Всегда будь студентом и продолжай учиться .
- Джон Мерфи

Автоматизация расчета этого технического индикатора - важный следующий шаг для любого инвестора, чтобы отточить свои навыки технического анализа. Используя Python, мы создадим программу, способную вычислить OBV для любого количества акций и за любой период времени. Кроме того, я определил процесс нормализации балансового объема каждой компании. Это даст нам возможность сравнивать запасы на основе их соответствующего совокупного потока объема.

Получить исторические данные о запасах

Чтобы рассчитать OBV запаса, нам сначала нужны все его исторические дневные данные о ценах. Чтобы получить эту информацию, вы можете либо загрузить ее с Yahoo Finance вручную, либо автоматизировать процесс сбора с помощью Yfinance API. Если вам интересно узнать, как это сделать, я рассмотрел это в статье Как рассчитать точность MACD с помощью Python.

После того, как вы сохранили исторические данные для каждой акции, которую хотите наблюдать, мы можем начать процесс расчета. Для начала импортируем необходимые библиотеки:

  • Glob: дает нам возможность взаимодействовать с файлами в наших локальных папках.
  • Панды: Помогает нам работать с большими наборами данных в виде файлов CSV.

Затем нам нужно создать список файлов, к которым мы будем обращаться в этой программе. Для этого мы вызываем библиотеку Glob и сохраняем каждый путь в переменную «list_files». Позже мы будем запускать расчет OBV для каждого из этих файлов независимо. Наконец, мы инициализируем переменную new_data. Это будет двумерный массив, содержащий балансовые объемы для каждой акции.

Рассчитать балансовый объем (OBV)

Теперь, когда мы импортировали библиотеки и исторические данные о запасах, мы можем начать процесс расчета балансового объема (OBV) для каждой акции. Вот как мы это будем делать:

  1. Создайте цикл, чтобы перебрать все акции, для которых мы хотим рассчитать OBV.
  2. Определите количество исторических дней, которые вы хотите наблюдать, а затем создайте внутренний цикл, который будет проходить каждый день.
  3. Запишите, какие дни были положительными, а какие - отрицательными.
  4. Сложите объемы положительных дней и вычтите объемы отрицательных дней из переменной «OBV_Value». Обратите внимание, что мы нормализуем эту переменную, разделив ее на цену открытия.
  5. Сохраните название акции и рассчитанный балансовый объем в переменной «new_data».

Ранжируйте акции по их OBV

Теперь, когда мы обосновали двумерный массив с каждым названием акции и их OBV, мы можем ранжировать их, чтобы увидеть, какие из них работают лучше всего. Мы можем сделать это, подкрепив фрейм данных данными, которые мы сохранили ранее. Затем мы можем отсортировать его по OBV. Наконец, мы сохраняем этот новый фрейм данных в файл CSV. Теперь у нас есть файл, содержащий наш список акций, ранжированных по их нормализованным балансовым объемам.

Если вы нашли эту статью полезной, то на Medium есть множество других статей с похожей структурой кода и руководств, которые я, честно говоря, использую все время. Если у вас его еще нет, я настоятельно рекомендую создать учетную запись.

Кроме того, свяжитесь со мной в LinkedIn здесь, я всегда рад завязать новое соединение!

* Предупреждение: я не финансовый консультант. Содержание этой статьи не является финансовым советом.