跳转至

路线图和变更日志

作者:Robert Andrew Martin

译者:片刻小哥哥

项目地址:https://www.dafeiyang.cn/finance/stock/tools/PyPortfolioOpt/Roadmap

原始地址:https://pyportfolioopt.readthedocs.io/en/latest/Roadmap.html

路线图

PyPortfolioOpt 现在是一个“成熟”的包——它很稳定,我不打算实现主要的新功能(尽管我会努力修复错误)。

1.5.0

  • 对后端进行了重大重新设计,感谢 Philipp Schiele - 因为我们使用 cp.Parameter,我们可以有效地重新运行具有不同常量(例如风险目标)的优化问题 - 这导致绘图性能显着提高,因为我们不再需要 反复重新实例化 EfficientFrontier
  • 修复了一些杂项错误(感谢 Eric ArmbrusterAyoub Ennassiri

1.5.1

搞乱了 1.5.0 发布时的版本控制。对不起!

1.5.2

修正了一些小错误

1.5.3

  • 重新设计的包装:不再需要 cvxpy,因为我们默认使用 ECOS_BB 进行离散分配。
  • 将最低 Python 版本提升至 3.8。 我希望保持尽可能多的版本兼容(我认为大多数功能仍应与 3.63.7 兼容,但依赖关系变得太棘手而难以管理)。
  • 更改为 numpy 伪逆以允许“现金”资产
  • 用于有效前沿图的股票标签

1.5.4

  • 固定的 cvxpy 弃用深层复制。感谢菲利普的修复!
  • 其他一些小的检查和错误修复。为大家的 PR 干杯!

1.4.0

  • 终于实现了CVaR优化! 这是最受欢迎的功能之一。 非常感谢 Nicolas Knudde 的初稿。
  • 重新设计了绘图,以便用户可以传递 ax,从而允许复杂的绘图(请参阅 cookbook)。
  • 计算最大回报投资组合的辅助方法(感谢 Philipp Schiele)的建议)。
  • 多项错误修复和测试改进(感谢 Carl Peasnell)。

1.4.1

  • 100% 测试覆盖率
  • 重新组织文档;添加了常见问题解答页面
  • 重新组织模块结构,使其更具可扩展性
  • Python 3.9 支持、dockerfile 版本控制、杂项打包改进(例如 cvxopt 可选)

1.4.2

1.3.0

  • 显着改进的绘图功能:现在可以绘制受约束的有效边界!
  • 有效的半方差投资组合(感谢 Philipp Schiele )
  • 改进了具有空头头寸的投资组合的功能(感谢 Rich Caputo )。
  • 测试覆盖率显着提高(感谢 Carl Peasnell )。
  • 多项错误修复和可用性改进。
  • 从 TravisCI 迁移到 Github Actions。

1.3.1

  • 小规模清理(忘记了 v1.3.0 的提交)。

1.2.0

  • 添加了 Idzorek 计算给定百分比置信度的 omega 矩阵的方法。
  • 修复了最大锐度以允许自定义约束
  • 分组部门限制
  • 改进了错误回溯
  • 添加新的cookbook示例(正在进行中)。
  • 打包:为 Windows 添加了更好的说明,添加了 docker 支持。

1.2.1

修复了扇区限制中的严重排序错误

1.2.2

Matplotlib 现在需要依赖项;支持熊猫1.0。

1.2.3

  • 添加了对更改求解器和详细输出的支持
  • 将 dict 更改为 OrderedDict 以支持 python 3.5
  • 改进的打包/依赖:简化requirements.txt,改进推送前的流程。

1.2.4

  • 修复了 Ledoit-Wolf 收缩率计算中的错误。
  • 修复了绘制文档时导致文档无法渲染的错误。

1.2.5

  • 修正了复利 expected_returns (谢谢 Aditya Bhutra )。
  • 高级 cvxpy API 的改进(感谢 Pat Newell )。
  • 反对詹姆斯-斯坦
  • 暴露 linkage_method 在辣根过氧化物酶。
  • 添加了对 cvxpy 1.1 的支持。
  • 添加了错误检查 efficient_risk
  • 对文档的小改进。

1.2.6

  • 修复了 Black-Litterman 中的顺序相关错误 market_implied_prior_returns
  • 修复了 BL cookbook中的不准确问题。
  • 修正了指数协方差的错误。

1.2.7

  • 修复了多头/空头投资组合需要保守风险目标的错误。

1.1.0

  • risk_models 进行了多项添加和改进:
    • 引入了一个新的API,其中函数 risk_models.risk_matrix(method="...") 允许调用所有不同的风险模型。 这应该会让测试变得更容易。
    • 如果您设置标志 returns_data=True,所有方法现在都接受退货数据而不是价格。
  • 自动修正非正半定协方差矩阵!
  • 添加和改进 expected_returns
    • 引入了一个新的API,其中函数 expected_returns.return_model(method="...") 允许调用所有不同的返回模型。 这应该会让测试变得更容易。
    • 添加了“正确”复合回报的选项。
    • 添加了CAPM回报模型。
  • from pypfopt importplotting:将所有绘图功能移至新类中并添加新绘图。 所有其他绘图函数(分散在不同的类中)均已保留,但现已弃用。

1.0.0

  • 将后端从 scipy 迁移到 cvxpy 并对 API 进行了重大突破性更改
    • PyPortfolioOpt 现在明显更加稳健且数值稳定。
    • 这些更改不会影响基本用户,他们仍然可以访问 max_sharpe() 等功能。
    • 然而,在优化某些“主要”目标之前,现在明确添加了额外的目标和约束(包括 L2 正则化)。
  • 添加了有效边界、分层聚类和 HRP 树状图的基本绘图功能。
  • 添加了基本交易成本目标。
  • 对一些模块和类进行了重大更改,以便 PyPortfolioOpt 将来更容易扩展:
    • BaseScipyOptimizer 替换为 BaseConvexOptimizer
    • hierarchical_risk_parityhierarchy_portfolios 取代,为其他分层方法敞开了大门。
    • 遗憾的是,暂时删除了 CVaR 优化,直到我可以正确修复它。

1.0.1

修复了 CLA 中的小问题:权重限制错误, efficient_frontier 需要调用的权重, set_weights 不需要。

1.0.2

修复了通过时的小但重要的错误 expected_returns=None 失败。根据文档,如果用户只想优化最小波动率,则应该只能传递协方差。

0.5.0

  • Black-Litterman 模型和文档。
  • 每个资产的自定义边界
  • 改进了 BaseOptimizer,添加了将权重写入文本的方法并修复了 set_weights 中的错误。
  • 无约束二次效用优化(解析)
  • 修改文档,包含有关属性类型和更多例子。

0.5.1

通过修改 pandas 要求修复了点积的错误。

0.5.2

制作 PuLP、sklearn、noisyopt 可选依赖项以改进安装经验。

0.5.3

  • 修复了一个优化错误 EfficientFrontier.efficient_risk 。现在有一个错误如果优化失败则抛出。
  • 添加了隐藏 API 来更改 scipy 优化器方法。

0.5.4

  • 改进了 Black-Litterman 线性代数以避免不确定性矩阵求逆。现在可以对视图有 100% 的信心。
  • 澄清了 tau 蛋白的作用。
  • 添加了一个 pipfile 为了 pipenv 用户。
  • 从文档中删除了风险价值,以阻止使用,直到它得到正确修复。

0.5.5

通过将离散分配后端从 PuLP 更改为 cvxpy,开始迁移到 cvxpy。

0.4.0

  • discrete_allocation 的重大改进。 增加了分配空头的功能; 修改了 Dingyuan Wang 提出的线性规划方法; 在用户指南中添加了后处理部分。
  • 进一步重构和文档 HRPopt
  • 主要文档更新,例如支持自定义优化器

0.4.1

  • 在获得 Marcos López de Prado 博士的许可后重新添加了 CLA
  • 增加了针对不同风险模型的更多测试。

0.4.2

  • 小修复 clean_weights
  • 删除了对 python 3.4 的官方支持。
  • 半协方差的微小改进,归功于 Felipe Schneider

0.4.3

  • 添加 prices_from_returns 实用功能并提供了更好的文档 returns_from_prices
  • 添加 cov_to_corr 从协方差矩阵生成相关矩阵的方法。
  • 修复了自述文件示例。

0.3.0

  • 合并了 Dingyuan Wang 的一个令人惊叹的 PR,该 PR 重新架构了该项目,使其更加一致和可扩展。
  • 新算法:ML de Prado 的 CLA
  • 将连续分配转换为离散分配的新算法(使用线性编程)。
  • 合并了实施单因素和恒定相关收缩的 PR

0.3.1

合并了 TommyBarkPR,修复了调用 Portfolio_Performance 的参数中的错误。。

0.3.3

在内部迁移项目以使用 poetry 依赖管理器。 仍将保留 setup.pyrequirements.txt,但 poetry 现在是与 PyPortfolioOpt 交互的推荐方式。

0.3.4

重构收缩模型,包括单因素和常相关。

0.2.0

  • 分层风险平价优化
  • 半协方差矩阵
  • 指数协方差矩阵
  • CVaR优化
  • 更好地支持自定义目标函数
  • 多个错误修复(包括最小波动性与最小方差)
  • 重构,因此所有优化器都继承自 BaseOptimizer

0.2.1

  • 在 travis 构建中包含 python 3.7
  • 合并 PR 来自 schneiderfelipe 修复错误消息。

0.1.0

初始发行:

  • 有效前沿(最大夏普、最小方差、目标风险/回报)
  • L2正则化
  • 离散分配
  • 平均历史回报、指数平均回报
  • 样本协方差,sklearn 包装器。
  • 测试
  • 文档

0.1.1

小错误修复和文档



回到顶部