«Доходность акций = np.log(df.drop([‘Date’,’Date’],axis=1)).diff(axis = 0, period = …»
Этот код вычисляет логарифмическую доходность набора данных о запасах. Давайте разберемся:
-
df.drop(['Date','Date'],axis=1)удаляет столбцы с именем ‘Date’ из DataFramedf. Кажется, это опечатка, поскольку «Дата» упоминается дважды. Предполагая, что вы намеревались удалить столбец «Дата» один раз, исправленный код будет выглядеть так:df.drop('Date', axis=1). Эта операция удаляет столбец «Дата» из DataFrame. -
np.log(...)вычисляет натуральный логарифм DataFrame, полученного на предыдущем шаге. Это преобразует цены акций в их логарифмические значения. -
.diff(axis=0, period=...)вычисляет разницу между последовательными строками вдоль указанной оси. В этом случаеaxis=0указывает, что вычисление выполняется вертикально (по строкам), аperiodsуказывает количество периодов времени, на которые необходимо сместиться для расчета разницы.
Чтобы прояснить код, было бы полезно знать, что хранится в переменной dfи какое конкретное значение вы намереваетесь использовать для периодов.
Что касается вашего запроса на методы, вот несколько подходов к расчету доходности акций в Python:
- Простой возврат: рассчитайте процентное изменение цен на акции за определенный период.
- Журнал доходности: вычислите логарифмическую разницу между ценами акций, чтобы учесть эффект начисления сложных процентов.
- Избыточная доходность. Определите избыточную доходность, вычитая базовый индекс или безрисковую норму доходности из доходности акций.
- Скользящая доходность: рассчитывайте доходность по скользящему окну определенного размера, а не по всему набору данных.
Не стесняйтесь изменять их по мере необходимости в зависимости от конкретного контекста вашего приложения.