Версия 1.4.4 - Новые классы для стратегий изъятий и пополнения портфеля
Новая версия окамы полностью посвящена инвестиционным стратегиям с денежными потоками. В ней реализован новый подход, согласно которому каждой стратегии изъятий/пополнений соответствует свой класс для конфигурации.
Новые функции
3 новых класса для настройки стратегий Cash Flow
Параметры денежного потока для инвестиционных портфелей теперь настраиваются в отдельных классах.
IndexationStrategyдля стратегий с регулярными индексируемыми снятиями/пополнениямиPercentageStrategyдля стратегий с регулярными снятиями/пополнениями с фиксированным процентомTimeSeriesStrategyдля стратегий с произвольным количеством снятий и/или пополнений
Все 3 класса наследуются от родительского класса CashFlow.
У класса Portfolio больше нет параметров Cash Flow (initial_amount, cashflow, discount_rate). Идея в том, чтобы старый класс Portfolio как был так и остался для “простых” стратегий без промежуточных снятий и пополнений.
Новый класс для настройки параметров моделирования Монте-Карло
Класс MonteCarlo имеет несколько свойств:
distribution- тип распределения для генерации временных рядов доходностиperiod- длина прогнозируемого периода в годахnumber- количество случайных временных рядов
Все параметры Монте-Карло связаны с экземпляром PortfolioDCF и могут быть доступны с помощью конструкции Portfolio().dcf.mc. Например, тип распределения случайной величины доступен через Portfolio().dcf.mc.disctribution.
Новые методы и свойства в PortfolioDCF
PortfolioDCF имеет новый параметр use_discounted_values (по умолчанию False). Он определяет, использовать ли дисконтированные значения при бэктестинге (значения начальных инвестиций, размеры снятий и пополнений). Параметр discount_rate перемещен из Portfolio в PortfolioDCF.
Новые методы и свойства
find_the_largest_withdrawals_size- найти наибольший размер снятия средств в рамках стратегии. Для поиска максимального размера снятий используется моделирование Монте-Карло в соответствии со стратегией денежного потока. Этот метод работает сIndexationStrategyиPercentageStrategyinitial_investment_fvиспользуется для расчета будущей стоимости (FV) начальных инвестиций в конце прогнозируемого периодаinitial_investment_pvиспользуется для расчета дисконтированной стоимости (PV) начальных инвестиций на датуfirst_dateиз параметров Portfolio()wealth_index_with_assetsработает как вPortfolio(), но учитывает денежные потоки (вклады и изъятия)- метод
set_mc_parametersиспользуется для добавления параметров моделирования Монте-Карло
Изменения в старых методах и свойствах в PortfolioDCF
- методы
monte_carlo_survival_period,survival_date_histиsurvival_period_histтеперь имеют новый параметрthreshold. Это “порог”, который определяет когда мы считаем баланс портфеля равным нулю. Считается как процент начальных инвестиций - количество параметров
plot_forecast_monte_carloсокращено. Остались толькоbacktestиfigsize.


