基于蒙特卡罗模拟收益的有效前沿

pymcef的Python项目详细描述


python monte carlo efficient frontier(pymcef)包

目的

pymcef是一个python包,它可以基于monte carlo模拟返回生成有效的frontier。

A Quickstart tutorial

Benchmark

PyCEF是基于公理化的二阶随机占优投资组合理论。

以绝对半方差和绩效预期固定目标作为风险度量 这个随机规划问题。 这两种风险度量在均值-方差模型中不存在理论缺陷。

One example when mean variance model fails

用户输入

投资领域所有资产的蒙特卡罗模拟收益是输入 将被用来训练有效率的边疆。

(可选)返回作为有效边界性能的验证集。

计算结果

作为有效投资组合向量存储的完全有效边界, 每个都包含以下内容:

  1. A python dictionary, storing the asset index and weight in the portfolio
  2. In sample performance (Sharpe ratio etc.)
  3. The lower and upper bound for the risk tolerance producing this particular portfolio
  4. Validation performance, if validation Monte Carlo simulated returns are provided.

优势

这个包实现了robert j.vanderbei教授在其著作中介绍的算法: Linear Programming: Foundations and Extensions和纸张Frontiers of Stochastically Nondominated Portfolios

该算法是非常有效的,首先风险容忍度(拉格朗日乘子)是无限的,并且 投资组合在平均回报最大的资产中为100%,只有在有效的投资组合中 我们将参观边境。资产数量与模拟收益率之积小于 1000万,建设全高效边疆所需时间不到1分钟。

高效前沿构造与其他lp求解器的速度比较

https://github.com/hzzyyy/pymcef/blob/master/output/performance.png

此算法基于模拟返回,因此它与模型无关

这给用户带来巨大的灵活性,因为没有对回归分布类型(例如高斯)的假设。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java动态包含和排除MavReplugin   javadspace安装问题   java矩阵乘法mapreduce   java获取jsp中的当前页面apache分幅   域名和应用程序名相同时的安卓 Java包命名   java无法调用“javafx.scene.control.ComboBox.getItems()”,因为“Controller.getMyBox()”的返回值为空   从projectoxford导入的java手写识别操作不再工作   java如何在日志中打印RESTJSON请求/响应?   java StringTokenizer NoSuchElementExecption错误   java插入查询未执行或均未给出异常   输入上的java getText()未返回文本   java如何在浏览器中跳过浏览页面的历史记录   java自动遍历为组件值动态创建的JPanel   java如何从输出JSONFILE中删除多余的括号?   java@RestController在调用时总是返回404